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