Visier Data Model API

Discover the objects that make up your Visier solution and provide detailed information on the object's schema. You can retrieve detailed information about objects in Visier by retrieving a list of all objects or retrieving information about an object by object ID. The types of objects you can retrieve using the data model API are: * Analytic objects * Properties * Dimensions * Selection concepts * Metrics * Predictions * Vee sample questions and categories

OpenAPI Specification

visier-datamodel-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Visier Analytic Model Data Model API
  description: Visier APIs for retrieving and configuring your analytic model in Visier.
  license:
    name: Apache License, Version 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 22222222.99201.3040
security:
- ApiKeyAuth: []
  BearerAuth: []
- ApiKeyAuth: []
  CookieAuth: []
- ApiKeyAuth: []
  OAuth2Auth: []
tags:
- name: DataModel
  x-displayName: Data Model
  description: "Discover the objects that make up your Visier solution and provide detailed information on the object's schema.\nYou can retrieve detailed information about objects in Visier by retrieving a list of all objects or retrieving information about an object by object ID.\nThe types of objects you can retrieve using the data model API are:\n  * Analytic objects\n  * Properties\n  * Dimensions\n  * Selection concepts\n  * Metrics\n  * Predictions\n  * Vee sample questions and categories"
paths:
  /v1/data/model/analytic-objects:
    get:
      tags:
      - DataModel
      summary: Retrieve a list of analytic objects
      description: Retrieve all the analytic objects in your Visier solution.
      operationId: DataModel_AnalyticObjects
      parameters:
      - name: id
        in: query
        description: The IDs of the analytic objects to retrieve. Default is all analytic objects.
        schema:
          type: array
          items:
            type: string
      - name: objectType
        in: query
        description: The object type to filter the returned analytic objects by.
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.AnalyticObjectsDTO'
  /v1/data/model/analytic-objects/{id}:
    get:
      tags:
      - DataModel
      summary: Retrieve an analytic object by ID
      description: If you know the ID of an analytic object, use this API to retrieve that object specifically.
      operationId: DataModel_AnalyticObject
      parameters:
      - name: id
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.AnalyticObjectDTO'
  /v1/data/model/analytic-objects/{id}/metrics:
    get:
      tags:
      - DataModel
      summary: Retrieve a list of metrics for an analytic object by ID
      description: If you know the ID of an analytic object, use this API to retrieve metrics for that object specifically.
      operationId: DataModel_AnalyticMetrics
      parameters:
      - name: id
        in: path
        description: The ID of the analytic object to retrieve metrics for.
        required: true
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.MetricsDTO'
  /v1/data/model/analytic-objects/{objectId}/dimensions:
    get:
      tags:
      - DataModel
      summary: Retrieve a list of dimensions
      description: Retrieve a list of dimensions for a specific analytic object.
      operationId: DataModel_Dimensions
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: id
        in: query
        description: The IDs of the dimensions to retrieve. Default is all dimensions.
        schema:
          type: array
          items:
            type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.DimensionsDTO'
  /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/mappings/validate:
    post:
      tags:
      - DataModel
      summary: Validate a member map's unmapped dimension members by ID
      description: "If you know the ID of a member map, use this API to validate one of the member map's dimensions. \n You must also know the dimension's ID and the analytic object's ID. \n The response returns the member map ID, the requested dimension ID, a list of the dimension's unmapped members, and a list of errors found."
      operationId: DataModel_DimensionMemberMapValidation
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object.
        required: true
        schema:
          type: string
      - name: dimensionId
        in: path
        description: The ID of a dimension of the member map.
        required: true
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dataservices.datamodel.DimensionMappingValidationExecutionDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.DimensionMappingValidationDTO'
  /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members:
    get:
      tags:
      - DataModel
      summary: Retrieve a list of dimension members
      description: "If you know the ID of a dimension, use this API to retrieve the members of that dimension specifically. You must\n also know the analytic object's ID. Dimension members exist in a hierarchy. The levels in the hierarchy may be\n fixed or non-uniform. Leveled dimensions have fixed hierarchies, while parent-child dimensions have non-uniform\n levels. When you retrieve dimension members with this API, the response returns the level of the dimension and the\n path to get to that level. For example, in a Location dimension, Vancouver is 3 levels deep:\n\n - All > Canada > British Columbia > Vancouver\n\n Parent-child hierarchies are non-uniform and exhibit distinct characteristics such as time dependence and data\n attributes. These traits reflect the dynamic nature of hierarchies, for example, organizational hierarchies. The API\n response includes elements that express the validity ranges for retrieved members."
      operationId: DataModel_Members
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object.
        required: true
        schema:
          type: string
      - name: dimensionId
        in: path
        description: The ID of the dimension.
        required: true
        schema:
          type: string
      - name: id
        in: query
        description: The IDs of the members to retrieve. Default is all members.
        schema:
          type: array
          items:
            type: string
      - name: maxLevel
        in: query
        description: The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels.
        schema:
          type: integer
          format: int32
      - name: filter
        in: query
        description: A regular expression that members must match to be retrieved. Default is to retrieve all members.
        schema:
          type: string
      - name: field
        in: query
        description: "Indicates the aspect of the member to apply the filter to. Possible values are:\n - **id**: Match the filter to the member ID.\n - **display**: Match the filter to the member's display name.\n - **either**: Match the filter to the member ID or display name.\n\n Default is `id`."
        schema:
          type: string
      - name: includeDataMembers
        in: query
        description: Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`.
        schema:
          type: boolean
      - name: offset
        in: query
        description: For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored.
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1 to return up to 15,000 members. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored. If pagination occurs, the response status code is 206.
        schema:
          type: integer
          format: int32
      - name: sortType
        in: query
        description: "The order of the members in the response. Valid values:\n - `configured`: Sorts the members according to their configuration. For parent-child dimensions, sorts members by name in ascending order. For other dimensions, sorts members by their configured order in Studio.\n - `natural`: Does not sort the members. This is the default."
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.MembersDTO'
  /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members/{id}:
    get:
      tags:
      - DataModel
      summary: Retrieve a dimension member
      description: If you know the ID of a dimension member, use this API to retrieve that dimension member specifically. You must also know the dimension's ID and the analytic object's ID.
      operationId: DataModel_Member
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object.
        required: true
        schema:
          type: string
      - name: dimensionId
        in: path
        description: The ID of the dimension.
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: Id
        in: query
        description: The ID of the member to retrieve.
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.MembersDTO'
  /v1/data/model/analytic-objects/{objectId}/dimensions/{id}:
    get:
      tags:
      - DataModel
      summary: Retrieve a dimension by ID
      description: If you know the ID of a dimension, use this API to retrieve that dimension specifically. You must also know the analytic object's ID.
      operationId: DataModel_Dimension
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: The ID of the dimension to retrieve.
        required: true
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.DimensionDTO'
  /v1/data/model/analytic-objects/{objectId}/properties:
    get:
      tags:
      - DataModel
      summary: Retrieve a list of properties
      description: Retrieve a list of properties for a specific analytic object.
      operationId: DataModel_Properties
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: id
        in: query
        description: The IDs of the properties to retrieve. Default is all properties.
        schema:
          type: array
          items:
            type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.PropertiesDTO'
  /v1/data/model/analytic-objects/{objectId}/properties/{id}:
    get:
      tags:
      - DataModel
      summary: Retrieve a property by ID
      description: If you know the ID of a property, use this API to retrieve that property specifically. You must also know the analytic object's ID..
      operationId: DataModel_Property
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: The ID of the property to retrieve.
        required: true
        schema:
          type: array
          items:
            type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.PropertyDTO'
  /v1/data/model/analytic-objects/{objectId}/selection-concepts:
    get:
      tags:
      - DataModel
      summary: Retrieve an analytic object's selection concepts
      description: Retrieve a list of selection concepts for a specific analytic object.
      operationId: DataModel_SelectionConcepts
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: id
        in: query
        description: The IDs of the selection concepts to retrieve. Default is all selection concepts.
        schema:
          type: array
          items:
            type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.SelectionConceptsDTO'
  /v1/data/model/analytic-objects/{objectId}/selection-concepts/{id}:
    get:
      tags:
      - DataModel
      summary: Retrieve an analytic object's selection concept by ID
      description: If you know the ID of a selection concept, use this API to retrieve that selection concept specifically. You must also know the analytic object's ID.
      operationId: DataModel_SelectionConcept
      parameters:
      - name: objectId
        in: path
        description: The ID of the analytic object to retrieve.
        required: true
        schema:
          type: string
      - name: id
        in: path
        description: The ID of the selection concept to retrieve.
        required: true
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.SelectionConceptDTO'
  /v1/data/model/currencies:
    get:
      tags:
      - DataModel
      summary: Retrieve all currencies
      description: Retrieve all the available currencies in your Visier solution.
      operationId: DataModel_Currencies
      parameters:
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.CurrenciesDTO'
  /v1/data/model/currencies/{id}:
    get:
      tags:
      - DataModel
      summary: Retrieve a currency
      description: Retrieve a specific currency if you know the currency code.
      operationId: DataModel_Currency
      parameters:
      - name: id
        in: path
        description: The ISO 4217 3-letter code for the currency.
        required: true
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.CurrencyDTO'
  /v1/data/model/currencies/{id}/rates:
    get:
      tags:
      - DataModel
      summary: Retrieve all exchange rates for a currency
      description: "Retrieve exchange rates for a specific currency from Visier.\n You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to."
      operationId: DataModel_CurrencyRates
      parameters:
      - name: id
        in: path
        description: The ISO 4217 3-letter code for the currency to get rates for.
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.
        schema:
          type: string
      - name: endTime
        in: query
        description: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.
        schema:
          type: string
      - name: decimals
        in: query
        description: The number of decimals to round exchange rates to. Default is to round to 2 decimal places.
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.CurrencyRatesDTO'
  /v1/data/model/currencies/{id}/rates/{toId}:
    get:
      tags:
      - DataModel
      summary: Retrieve exchange rates from one currency to another currency
      description: "Retrieve exchange rates from a specific currency to another specific currency.\n You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to."
      operationId: DataModel_CurrencyRatesWithToCurrency
      parameters:
      - name: id
        in: path
        description: The ISO 4217 3-letter code for the currency to convert from.
        required: true
        schema:
          type: string
      - name: toId
        in: path
        description: The ISO 4217 3-letter code for the currency to convert to.
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.
        schema:
          type: string
      - name: endTime
        in: query
        description: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.
        schema:
          type: string
      - name: decimals
        in: query
        description: The number of decimals to round exchange rates to. Default is to round to 2 decimal places.
        schema:
          type: string
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dataservices.datamodel.CurrencyRatesDTO'
  /v1/data/model/dimensions:
    patch:
      tags:
      - DataModel
      summary: Update dimensions
      description: "Change the display name, short display name, and description of one or more dimensions. This API supports updating leveled dimensions.\n In each API request, update up to 10 dimensions per tenant with a maximum of 500 tenants."
      operationId: DataModel_UpdateDimensions
      parameters:
      - name: TargetTenantID
        in: header
        description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
        schema:
          type: string
      - name: ProjectID
        in: header
        description: Optionally, specify a project in which to make the request. If omitted, the request uses the production version.
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/servicing.objectconfiguration.DimensionsChangeDefinitionsDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.objectconfiguration.ObjectsBulkChangeResponseDTO'
  /v1/data/model/metrics:
    get:
      tags:
      - DataMo

# --- truncated at 32 KB (155 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/visier/refs/heads/main/openapi/visier-datamodel-api-openapi.yml