API Reference

Download OpenAPI specification:Download

Detailed API reference documentation for Visier APIs. Includes all endpoints, headers, path parameters, query parameters, request body schema, response schema, JSON request samples, and JSON response samples.

Basic Authentication

Request an authentication token through basic authentication. With basic authentication, use your username and password to request a secure token. The response returns an ASID token that you can use in your API calls.

Request a Visier authentication token

Generate a secure ASID token.

Request Body schema: application/x-www-form-urlencoded
required

Your username and password credentials to request an authentication token.

username
string

The unique identifier of the API user requesting a security token.

password
string

The password that corresponds to the user making the request.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Request an impersonation token

Generate an impersonation token for the given username.

headerParameters
TargetTenantID
string

The tenant ID to execute the call on.

Request Body schema: application/json
required

Request to generate an impersonation token.

TargetUsername
string

The username of the user to impersonate.

Responses

Request samples

Content type
application/json
{
  • "TargetUsername": "string"
}

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

OAuth2

Request an authentication token through OAuth 2.0 with Open ID Connect (OIDC). With OAuth 2.0 with OIDC, use an OAuth 2.0 grant to request an authentication token. The response returns a JSON Web Token (JWT) that you can use in your API calls.

Retrieve user-specific metadata

Retrieve user-specific metadata, such as a user's ID, username, and profile capabilities.

queryParameters
includeTenantDetails
boolean

If true, includes tenant details in the response. Default is false.

Responses

Response samples

Content type
application/json
{
  • "subject": "string",
  • "name": "string",
  • "email": "string",
  • "visier:user_id": "string",
  • "visier:capabilities": {
    },
  • "visier:subnets": {
    },
  • "visier:export_subnets": {
    },
  • "visier:tenant_details": {
    }
}

Request an authorization code

Request an authorization code for the authorization_code grant type. Not required in other OAuth 2.0 grant types.

queryParameters
redirect_uri
string

The optional URI to redirect to after authorization.

response_type
required
string

The response type. Must be code.

client_id
required
string

The ID of the pre-registered client application.

scope
string

The OAuth 2.0 scope of the authorization request. Default is read. If the scope includes visier:login:bypass_users, then the redirect login URL ends in "/auth/admin" instead of "/auth". This allows single sign-on (SSO) Bypass Users to login through Visier instead of being redirected to the SSO login page.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Request a JSON Web Token

Use an OAuth 2.0 grant type to request a JWT.

Request Body schema: application/x-www-form-urlencoded
required
grant_type
string

The grant type. Supported values:

  • authorization_code: The authorization code grant type.
  • password: The password grant type.
  • urn:ietf:params:oauth:grant-type:saml2-bearer: The saml2-bearer grant type.
  • urn:visier:params:oauth:grant-type:asid-token: The ASID token grant type.
client_id
string

The ID of the pre-registered client application.

redirect_uri
string

The optional URI to redirect to after authorization.

code
string

The authorization code. Applicable only for authorization code grant type.

username
string

The username of the user to authenticate. Applicable only for password grant type.

password
string

The password of the user to authenticate. Applicable only for password grant type.

asid_token
string

The ASID token. Applicable only for ASID token grant type.

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "id_token": "string",
  • "token_type": "string",
  • "expires_in": 0
}

Direct Data Intake

Use the Direct Data Intake API to load data directly into Visier objects. These objects can be delivered as part of Visier Blueprint, locally modified objects, or even completely custom objects. Objects must be released to production to receive data through the DDI API. You can load data into:

  • Subjects
  • Events
  • Parent-child dimensions
  • Multi-value properties

Get the direct data intake configuration

Get the direct data intake configuration.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "job": {
    }
}

Update the direct data intake configuration

Configure the data intake settings, such as the direct data intake job type. Only provide values for the configuration options that should change.

Configuration options that are not present in the PUT request are ignored and left unchanged.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

The direct data intake job configuration.

Responses

Request samples

Content type
application/json
{
  • "job": {
    }
}

Response samples

Content type
application/json
{
  • "job": {
    }
}

Retrieve an object's data load schema

Gets the load schema for a specified object. The object's load schema represents the structure that the data upload file must follow to upload data to the object.

In the load schema, the listed columns must be present in the data file as column headers and exactly match the load schema (case sensitive), however, only the columns whose isMandatory field is true must contain values in the data file.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

objectName
required
string

The name of the object to return the load schema for.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "schema": [
    ]
}

Start a direct data intake transaction

Create a transaction to contain your data files. To upload files to objects in Visier, you must first start a transaction.

After starting a transaction and uploading files to the transaction, you can commit the transaction to process the uploaded files or roll back the transaction to discard the uploaded files.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "transactionId": "string"
}

Check transaction status

Retrieve the status of a committed transaction's processing job.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

transactionId
required
string

The unique identifier of the transaction.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "transactionId": "string",
  • "jobId": "string",
  • "status": "string",
  • "message": "string"
}

Commit a transaction

Process a transaction and its uploaded data files. This starts a processing job to load the data files into Visier.

After committing a transaction, you cannot upload additional files to the transaction. Use the Check transaction status endpoint to monitor the progress of the processing job.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

transactionId
required
string

The unique identifier of the transaction.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "transactionId": "string",
  • "status": "string",
  • "message": "string"
}

Roll back a transaction

Rolls back the specified transaction. This discards all files uploaded within the transaction and deletes the transaction.

After rolling back a transaction, you cannot use the transaction to upload data files.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

transactionId
required
string

The unique identifier of the transaction.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "transactionId": "string",
  • "status": "string",
  • "message": "string"
}

Upload files

Send upload files to a previously-created transaction. Each upload file is associated with a target object in Visier. The files are not processed in Visier until you commit the transaction.

pathParameters
draftId
required
string

The unique identifier of the project to load data into. Currently, the only supported value is prod to update the production version.

transactionId
required
string

The unique identifier of the transaction to load data files into.

objectName
required
string

The name of the object to upload the data to.

If uploading data to a multi-value property (MVP), specify the property in {object}--{property} format; for example, Employee--Employee_Budgeted_Compensation.

headerParameters
TargetTenantID
string

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.

Request Body schema: multipart/form-data
file
string <binary>

The file to upload

Responses

Response samples

Content type
application/json
{
  • "transactionId": "string",
  • "status": "string",
  • "message": "string"
}

Data Intake

Send raw or untransformed data to Visier. After we receive the data, Visier runs business rules to transform your data into the expected format for the existing mappings.
Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

Retrieve a list of sources

Prior to transferring data to Visier, you must identify the sources you want to target. Sources store data for the solution and are used to map data to Visier's data model.

Note: To set up sources in your tenant, contact Visier Customer Success. This API allows you to query the list of available sources, and identify the source schema and required fields.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "sources": [
    ]
}

Start a transfer session

Start a new transfer session. A transfer session can include one or more batches of records to be sent to Visier. Batches of records may be transferred as JSON or file payloads.

Recommended: For optimal performance, please include all batches of records in a single transfer session.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "transferSessionId": "string"
}

Transfer data to sources via JSON

Transfer data to Visier in batches of records. Each request includes a batch of records formatted as a comma separated array with the first row containing the column headers in the request body. Each subsequent request should also include the first row as a header.

Each request transfers a batch of records to a single source. Transfer sessions may include one or more batches before completion.

Each batch is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly.

Each batch is limited to the following request size:

  • Batch size limit: 10 MB
  • Record count limit: 300,000 rows
pathParameters
transferSessionId
required
string

The transfer session ID returned after the data transfer session starts.

queryParameters
sourceId
string

The unique identifier associated with the source you want to transfer data to.

sequence
integer <uint32>

The unique sequence number associated with a batch of records.

tenantCode
string

The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "transferSessionId": "string",
  • "sequence": 0,
  • "status": "string",
  • "message": "string",
  • "tenants": [
    ]
}

Cancel a transfer session

Cancel a transfer session after starting it. If a transfer session is cancelled, all records within the transfer session do not persist in Visier's data store.

If you cancel a transfer session, please start a new transfer session and resend the complete data set.

You might cancel a transfer session if:

  • A request to send a batch of records failed.
  • The original set of records is incomplete.
  • An infrastructure error occurs.
pathParameters
transferSessionId
required
string

The transfer session ID to cancel.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "transferSessionId": "string",
  • "dataTransferResultDetails": [
    ],
  • "status": "string"
}

Complete a transfer session

Complete the specified transfer session by triggering a receiving job. A receiving job validates the transferred data and adds the transferred data to Visier's data store.

You can set an optional parameter to generate a data version through a processing job immediately after the receiving job completes.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
transferSessionId
string

The unique identifier associated with the transfer session.

processingData
boolean

If true, a processing job will be triggered after the receiving job successfully completes. This generates a new data version.

Responses

Request samples

Content type
application/json
{
  • "transferSessionId": "string",
  • "processingData": true
}

Response samples

Content type
application/json
{
  • "dataReceivingJobId": "string",
  • "message": "string",
  • "transferSessionId": "string",
  • "dataTransferResultDetails": [
    ],
  • "status": "string"
}

Transfer data to sources via file upload

Upload data to Visier as CSV or ZIP files. Each request transfers a single file. If the data intended for Visier is stored in multiple files, you may compress them into a single ZIP file or make multiple requests within the same transfer session.

File size limit: 3 GB

Each file is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly.

If you define a specific source in the request, all files within the request will target the declared source. If a source is not defined, the filenames are matched against the source regex to correctly assign each file to a source. To find out the source regex, please contact Visier Customer Success.

Note: If you include files that should target multiple sources in one ZIP file, do not define a source in the request.

Analytic tenants: For optimal transfer speed, provide one ZIP file per source. Administrating tenants: For optimal transfer speed, provide one ZIP file containing all the required data files for your analytic tenants. In the ZIP file, use one folder per analytic tenant. The ZIP file must adhere to the following file structure:

File1.zip

  • Folder1: WFF_tenantCode1
    • Filename1.csv
    • Filename2.csv
  • Folder2: WFF_tenantCode2
    • Filename3.csv
    • Filename4.csv
pathParameters
transferSessionId
required
string

The transfer session ID returned after the data transfer session starts.

queryParameters
sourceId
string

The unique identifier associated with the source you want to transfer data to.

sequence
string

The unique sequence number associated with a batch of records.

tenantCode
string

The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.

headerParameters
TargetTenantID
string

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.

Request Body schema: multipart/form-data
required
file
string <binary>

The file to upload in CSV or ZIP format.

Responses

Response samples

Content type
application/json
{
  • "transferSessionId": "string",
  • "sequence": 0,
  • "status": "string",
  • "message": "string",
  • "tenants": [
    ]
}

Data And Job Handling

Initiate and manage jobs, included or excluded data, and data connector credentials. Administrating tenant users can manage jobs and data for their analytic tenants.

Retrieve a list of all data connector credentials

Retrieve a list of the connector credentials in a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system.

queryParameters
tenantCode
string

The tenant code of a specific analytic tenant that you want to retrieve for.

limit
integer <int32>

The limit to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "connectorCredentials": [
    ],
  • "limit": 0,
  • "start": 0
}

Create a connector credential

Create credentials for a data connector. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system.

In the request body, specify one data provider in the dataProviderAuthParams parameter. For example, to create connector credentials for a UKG data connector, your request body might look like the following sample.

{
  model={"dataProviderAuthParams": {"provider": "UKG","ultimateAuthParams": {"hostDomainName": "exampleHostDomain","apiKey": "apiKey1234","username": "username1234","password": "password1234","userAccessKey": "accessKey1234"}},"dataProviderBasicInformation": {"displayName": "exampleDisplayName","description": "exampleDescription"}}
queryParameters
tenantCode
string

The tenant code of a specific analytic tenant that you want to create the credential for.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

The authentication information for the credential.

object

The display name and description for the credential.

object (DataProviderBasicMetadataDTO)

Responses

Request samples

Content type
application/json
{
  • "dataProviderAuthParams": {
    },
  • "dataProviderBasicInformation": {
    },
  • "dataProviderMetadata": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "symbolName": "string",
  • "objectName": "string",
  • "missingConnectionProperties": [
    ]
}

Retrieve a list of all data connectors

Retrieve a list of the data connectors in a specified tenant. Data connectors are an alternative to generating flat files and transferring them to Visier via SFTP.

queryParameters
tenantCode
string

The tenant code of a specific analytic tenant that you want to retrieve for.

limit
integer <int32>

The limit to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "dataConnectors": [
    ],
  • "limit": 0,
  • "start": 0
}

Assign connector credentials to data connectors

Assign a connector credential to a data connector.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (Connector)

A list of objects representing the data connectors to be assigned with credentials.

Responses

Request samples

Content type
application/json
{
  • "connectors": [
    ]
}

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Retrieve data connector settings

Get a list of settings for all data connectors. This request retrieves data connectors from the production environment. The response returns a list of settings, if available, for each data connector in the tenant.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "connectors": [
    ]
}

Update data connector settings

Define the settings for one or more data connectors. To find the available settings, see Retrieve data connector settings.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (SetConnectorSettingRequestDTO)

The settings to define for each data connector and tenant.

Responses

Request samples

Content type
application/json
{
  • "connectors": [
    ]
}

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Retrieve the latest enabled data versions for all analytic tenants

If you discover any inconsistencies after running metric value validation, you may want to find the data versions causing inconsistencies so you can later disable them.

Retrieve up to five (5) of the latest enabled data versions for all your analytic tenants or a single specified analytic tenant.

queryParameters
tenantCode
string

The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant.

limit
integer <int32>

The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

numberOfVersions
integer <int32>

The number of latest enabled data versions to retrieve. The maximum value is 5.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Disable data versions for a list of analytic tenants

If you discover that a data version is not what is expected after running metric value validation on a data load, you may want to disable the data version for that processing job.

Disable the latest enabled data versions for affected analytic tenants or to disable a particular data version for each analytic tenant.

Note: Disabling an older data version may not have an effect on the state of the solution.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

A form body key that contains a collection of key-value pairs.

Responses

Request samples

Content type
application/json
{
  • "model": {
    }
}

Response samples

Content type
application/json
{
  • "totalFailures": 0,
  • "totalSuccess": 0,
  • "results": [
    ]
}

Retrieve a list of all data categories

Retrieve a list of all available data categories.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ]
}

Trigger data connector extraction jobs

Run data connector extraction jobs for the administrating tenant or a list of analytic tenants.

This API creates a dispatching job that generates one extraction job per tenant. The dispatching job is the "parent" of the extraction jobs and the dispatching job ID is returned in the response. Use that ID to monitor the extraction job statuses by calling GET /v1/op/jobs/dispatching-jobs/{jobId}/extraction-jobs.

The extraction job generates receiving jobs to validate the data and processing jobs to populate data in the analytic tenants. Use the dispatching job ID to monitor the receiving and processing job statuses by calling GET /v1/op/jobs/dispatching-jobs/{jobId}/receiving-jobs or GET /v1/op/jobs/dispatching-jobs/{jobId}/processing-jobs.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

A form body key that contains a collection of key-value pairs.

Responses

Request samples

Content type
application/json
{
  • "model": {
    }
}

Response samples

Content type
application/json
{
  • "JobId": "string"
}

Start the data load for analytic tenants

This API starts the data load process for all analytic tenants included in the specified data files uploaded to the Visier SFTP server. On success, you receive a job ID that can be filtered and searched for within the Jobs room in Visier. This job ID is associated with the receiving job, and related to all processing jobs that spawn for each analytic tenant.

With the job ID, you can also call the next two APIs to retrieve the status of the receiving job and the status list of all related processing jobs.

Prerequisite: You must first obtain Visier's public encryption key and upload the source data files to Visier's SFTP server. Files must have a .zip.gpg extension, meaning the files are encrypted using the PGP protocol and compressed.

Visier provides SFTP server credentials and instructions. You can find the encryption key at https://www.visier.com/pgp/visier.public.pgp.asc. After downloading the file, open the file in a text editor or by dragging it into your browser.

Note:

  • To see the full status of all analytic tenant data loads, navigate to the Jobs room in a project.
  • For performance and efficiency, Visier requires that the uncompressed batch file size is below 5 GB and that no more than 5000 tenants are included in a batch.
headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

A form body key that contains a collection of key-value pairs.

Responses

Request samples

Content type
application/json
{
  • "model": {
    }
}

Response samples

Content type
application/json
{
  • "jobId": "string"
}

Retrieve data uploads

Retrieve the data uploads and whether they're included in one of:

  • A list of analytic tenants managed by you.
  • A single specified analytic tenant.
  • An upload job.
queryParameters
uploadJobId
string

The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job.

tenantCode
integer <int32>

The tenant code of a specific analytic tenant that you want to retrieve the data uploads for.

limit
integer <int32>

The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified. Default is 1000.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

numberOfDataUploads
integer <int32>

The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5. Default is 1.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Exclude data uploads

Exclude either a specified list of data uploads or all data uploads for each analytic tenant.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

A form body key that contains a collection of key-value pairs.

Responses

Request samples

Content type
application/json
{
  • "model": {
    }
}

Response samples

Content type
application/json
{
  • "totalFailures": 0,
  • "totalSuccess": 0,
  • "uploads": [
    ]
}

Include data uploads

Include either the specified list of data uploads or all data uploads for each analytic tenant.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

A form body key that contains a collection of key-value pairs.

Responses

Request samples

Content type
application/json
{
  • "model": {
    }
}

Response samples

Content type
application/json
{
  • "totalFailures": 0,
  • "totalSuccess": 0,
  • "uploads": [
    ]
}

Retrieve the statuses of all jobs

Retrieve the list of statuses for all jobs.

queryParameters
startTime
string

The start time from which to retrieve job statuses.

endTime
string

The end time from which to retrieve job statuses.

status
string

The specific status to restrict the list of jobs to.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "queryStartTime": "string",
  • "queryEndTime": "string",
  • "jobStatus": [
    ]
}

Cancel a list of jobs

Cancel a list of processing jobs, upload jobs, receiving jobs, and extraction jobs.

Note: Receiving jobs with the Running status cannot be cancelled.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
jobIds
Array of strings

A list of jobs to cancel. The maximum number of jobs that can be cancelled is 500.

Responses

Request samples

Content type
application/json
{
  • "jobIds": [
    ]
}

Response samples

Content type
application/json
{
  • "jobCancellationResults": [
    ]
}

Retrieve a dispatching job's status

Retrieve the status of a dispatching job, including its job ID and the number of jobs it generated.

pathParameters
jobId
required
string

The ID of the job you want to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "jobId": "string",
  • "tenantCode": "string",
  • "status": "string",
  • "totalJobsDispatched": 0
}

Retrieve a dispatching job's extraction jobs with their statuses

Retrieve the statuses of extraction jobs associated with a dispatching job. The dispatching job is a "parent" to extraction jobs, which retrieve data from your source systems through data connectors.

pathParameters
jobId
required
string

The ID of the dispatching job you want to retrieve.

queryParameters
dispatchingJobId
string

The ID of the dispatching job that generated the extraction jobs.

tenantCode
string

The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.

limit
integer <int32>

The limit of extraction job statuses to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "parentJobId": "string",
  • "parentTenantCode": "string",
  • "limit": 0,
  • "start": 0,
  • "extractionJobs": [
    ]
}

Retrieve a dispatching job's processing jobs with their statuses

Retrieve the statuses of processing jobs associated with a dispatching job. The dispatching job is a "parent" to extraction jobs, which in turn generate processing jobs and receiving jobs.

pathParameters
jobId
required
string

The ID of the dispatching job you want to retrieve.

queryParameters
dispatchingJobId
string

The ID of the dispatching job that generated the extraction jobs.

tenantCode
string

The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.

limit
integer <int32>

The limit of extraction job statuses to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "parentJobId": "string",
  • "parentTenantCode": "string",
  • "limit": 0,
  • "start": 0,
  • "processingJobs": [
    ]
}

Retrieve a dispatching job's receiving jobs with their statuses

Retrieve the statuses of receiving jobs associated with a dispatching job. The dispatching job is a "parent" to extraction jobs, which in turn generate processing jobs and receiving jobs.

pathParameters
jobId
required
string

The ID of the dispatching job you want to retrieve.

queryParameters
dispatchingJobId
string

The ID of the dispatching job that generated the extraction jobs.

tenantCode
string

The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.

limit
integer <int32>

The limit of extraction job statuses to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "parentJobId": "string",
  • "parentTenantCode": "string",
  • "limit": 0,
  • "start": 0,
  • "receivingJobs": [
    ]
}

Retrieve processing job statuses by receiving job ID

Retrieve a list of statuses for all processing jobs associated with the given receiving job ID. Processing jobs deal with an individual analytic tenant's data load. A processing job is either triggered through the UI or is one of many processing jobs spawned from a receiving job. When a processing job is triggered as part of a set from an receiving job, it is associated to the receiving job through a Parent ID.

pathParameters
receivingJobId
required
string

The receiving job ID

queryParameters
tenantCode
string

The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant.

limit
integer <int32>

The limit of processing jobs to retrieve per page.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "parentJobId": "string",
  • "parentTenantCode": "string",
  • "limit": 0,
  • "start": 0,
  • "processingJobs": [
    ]
}

Retrieve a receiving job's status

After sending data to Visier, you may want to know the status of the receiving job and the associated tenant receiving jobs. A receiving job validates the transferred data and adds the transferred data to Visier's data store.

A successful response indicates that the receiving job was successful. To get the status of the jobs spawned by the receiving job, set the jobs parameter to true.

pathParameters
receivingJobId
required
string

The jobId provided after sending data to Visier.

queryParameters
jobs
boolean

If true, returns the status of receiving jobs spawned by the receiving job specified by jobId.

tenantCode
string

The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

limit
integer <int32>

The number of job statuses to return per page.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "jobId": "string",
  • "status": "string",
  • "parentJobId": "string",
  • "parentTenantCode": "string",
  • "receivingJobs": [
    ]
}

Run a consolidated analytics job

Run a job for a consolidated analytics tenant. This request retrieves data for all source tenants in a consolidated analytics tenant. After the job completes, you can run a processing job to generate a data version for the consolidated analytics tenant. To run a processing job, see POST /v1alpha/op/jobs/processing-jobs.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
tenantCode
string

The tenant code of the consolidated analytics tenant; for example, "WFF_j1r~CAa7s".

Responses

Request samples

Content type
application/json
{
  • "tenantCode": "string"
}

Response samples

Content type
application/json
{
  • "jobId": "string"
}

Run a data connector extraction job

Run an extraction job to retrieve data through a Visier data connector and generate a new data version. Administrating tenants can run extraction jobs for all analytic tenants, a list of analytic tenants, or the administrating tenant. If running extraction jobs for an administrating tenant or their analytic tenants, this request starts a dispatching job that generates one extraction job per tenant. The response returns the job ID of the extraction job or dispatching job.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
tenants
Array of strings

The unique IDs of the tenants to run an extraction job for.

allTenants
boolean

If "true", runs an extraction job for all tenants and ignores the tenants field.

overrideLastExtractionTimestamp
string

An epoch timestamp in milliseconds from which to retrieve data. This overrides the last extraction date to retrieve more data.

publishDataLoadArtifacts
boolean

If "true", publishes the project to production.

runProcessingJob
boolean

If "true", runs a processing job to generate a data version after the extraction job succeeds.

dataCategoryId
string

The unique ID of the data category in which to generate objects.

disableArtifactGeneration
boolean

If "true", doesn't generate objects after the extraction jobs succeeds.

connectorIds
Array of strings

The unique IDs of the connectors to run extraction jobs for.

lastExtractionTimeOffsetWeeks
integer <int32>

The number of weeks from which to retrieve data. This overrides the last extraction date to retrieve more data.

monthsToExtract
integer <int32>

The number of months to retrieve snapshot data from.

extractToTimeOverride
string

An epoch timestamp in milliseconds for the end time up to which to retrieve data.

batchSizeOverride
integer <int32>

The maximum amount of IDs the job can retrieve in each batch.

sqlBatchSize
integer <int32>

The maximum amount of SQL table records the job can retrieve in each batch.

forceUpdateExistingArtifacts
boolean

If "true" and disableArtifactGeneration is "false", updates extractor artifacts, which may overwrite the artifacts' manual overrides. Ignored if disableArtifactGeneration is "true".

excludedTenants
Array of strings

The unique IDs of the tenants to exclude from the extraction job. Only valid if allTenants is "true".

spillDebugInfoPartitionsDTO
string <enum>
Enum: "spillNone" "spillStagesAndRecords" "spillAll"

The partitioning of debugging info to be generated, if any

spillDebugInfoDetailLevelDTO
string <enum>
Enum: "fileAndLine" "mappingName"

The detail level of the debugging info to be generated

Responses

Request samples

Content type
application/json
{
  • "tenants": [
    ],
  • "allTenants": true,
  • "overrideLastExtractionTimestamp": "string",
  • "publishDataLoadArtifacts": true,
  • "runProcessingJob": true,
  • "dataCategoryId": "string",
  • "disableArtifactGeneration": true,
  • "connectorIds": [
    ],
  • "lastExtractionTimeOffsetWeeks": 0,
  • "monthsToExtract": 0,
  • "extractToTimeOverride": "string",
  • "batchSizeOverride": 0,
  • "sqlBatchSize": 0,
  • "forceUpdateExistingArtifacts": true,
  • "excludedTenants": [
    ],
  • "spillDebugInfoPartitionsDTO": "spillNone",
  • "spillDebugInfoDetailLevelDTO": "fileAndLine"
}

Response samples

Content type
application/json
{
  • "jobId": "string"
}

Run a processing job

Run a processing job to generate a new data version. Administrating tenants can run processing jobs for all analytic tenants, a list of analytic tenants, or the administrating tenant. If running processing jobs for an administrating tenant or their analytic tenants, this request starts a dispatching job that generates one processing job per tenant. The response returns the job ID of the processing job or dispatching job.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
tenants
Array of strings

The tenant codes of the tenants to run processing jobs for. If omitted, runs a processing job for the tenant associated with the user who made the API request. Only valid for requests from an administrating tenant.

allTenants
boolean

If true, runs processing jobs for all accessible analytic tenants. Default is false. Only valid for requests from an administrating tenant.

dataCategoryId
string

The unique identifier of the data category to run the job. If omitted, runs a job using the primary data category. To retrieve a list of all data categories, see GET /v1/op/data/categories.

publishToProduction
boolean

If true, publishes the generated data version to production. Default is false.

excludedTenants
Array of strings

The unique IDs of the tenants to exclude from the extraction job. Only valid if allTenants is "true". Only valid for requests from an administrating tenant.

Responses

Request samples

Content type
application/json
{
  • "tenants": [
    ],
  • "allTenants": true,
  • "dataCategoryId": "string",
  • "publishToProduction": true,
  • "excludedTenants": [
    ]
}

Response samples

Content type
application/json
{
  • "jobId": "string"
}

Delete a connector credential

Use this API to delete connector credentials from your tenants. Credentials that are no longer valid should be deleted.

pathParameters
id
required
string

The credentialId of the credential you want to delete.

queryParameters
tenantCode
string

The tenant code of the analytic tenant in which the credential you're deleting.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
"string"

Retrieve a specific job's status

Use this API to retrieve the list of statuses for a specific job with id jobId. You can retrieve all job statuses or specify a time period to retrieve statuses from.

pathParameters
jobId
required
string

The unique ID of the job to retrieve the status for.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "jobId": "string",
  • "status": "string",
  • "parentJobId": "string",
  • "parentTenantCode": "string",
  • "receivingJobs": [
    ]
}

PGPKey

The Pretty Good Privacy (PGP) Key API generates key pairs and provides a public key to encrypt data that you send to Visier. PGP encryption adds an additional layer of security against data disclosure.

After you generate a key pair and retrieve the public encryption key, you can encrypt your data files before sending them to Visier. When Visier receives files encrypted with the public key, we retrieve the associated private key to decrypt and process the file.

Retrieve all PGP public keys

Retrieve a list of all PGP public keys in your tenant.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "keys": [
    ]
}

Download a public encryption key

Generate a key pair and retrieve the public key that you can use to encrypt your data to send to Visier.

In the request body, optionally set the UTC expiration date for the key pair in ISO-8601 format. Must be between 2 and 10 years. Default is 2 years.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
expirationDate
string

The UTC expiration date of the key in ISO-8601 format. Must be between 2 and 10 years. Default is 2 years.

Responses

Request samples

Content type
application/json
{
  • "expirationDate": "string"
}

Response samples

Content type
application/json
{
  • "keyID": "string",
  • "dateGenerated": "string",
  • "expiryDate": "string",
  • "recipient": "string",
  • "publicKey": "string"
}

Retrieve a PGP public key using the key ID

If you know your PGP key ID, use it to retrieve the PGP public key. To get a list of all key IDs, see Retrieve all PGP public keys.

pathParameters
keyID
required
string

The key ID of the generated key pair in 16-letter hexadecimal format, including leading zeros.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "keyID": "string",
  • "dateGenerated": "string",
  • "expiryDate": "string",
  • "recipient": "string",
  • "publicKey": "string"
}

Delete a PGP key pair

Delete a PGP key pair using a key ID.

pathParameters
keyID
required
string

The key ID of the generated key pair in 16-letter hexadecimal format, including leading zeros.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "keyID": "string"
}

Planning Data Load

Send data directly to your plan's scenario and optionally add or remove rows from your plan.

Upload plan data

Send a file to Visier to modify a plan's data. The file must be in CSV format and match the plan's schema. To get the plan's schema, call GET /v1alpha/planning/model/plans/{id}?withSchema=true. The data file must contain the following columns:

  • periodId: From the GET response, use the date values in the timePeriods array as values in this column.
  • A column for each id value in the planSegmentLevels object, where the row value is the id of the members in the planSegmentLevelMembers object.
  • A column for each id value in the planItems object that you want to modify data for, where the row value is the data value.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
planId
required
string

The unique identifier of the plan.

scenarioId
required
string

The unique identifier of the plan scenario to load data into.

calculation
string

Sets the plan values to rollup, distribute, or neither. Valid values:

  • ROLLUP: Roll up children data values to parent data values. If the data provides a parent value and its child value, this method prioritizes the loaded value for the child and and overwrites the parent.
  • DISTRIBUTE: Distribute parent data values to their children. If the value of the child conflicts with the calculated distribution, this method overrides the loaded child value.
  • NONE: The loaded values are neither rolled up or distributed. This is the default.
currency
string

The 3-digit ISO 4217 currency code of the data. If undefined, default is the plan's consolidation currency. If the currency is different from the plan's consolidation currency, the values are converted to the consolidation currency using the conversion rates loaded for the plan's baseline period.

method
string

Sets how to validate the data being loaded into Visier. Valid values:

  • VALIDATE: Runs a test load through all the validation steps without putting the data into the plan. Use VALIDATE to find any errors before using STRICT_UPLOAD to load the data.
  • SKIP_ERRORS: Loads all data without errors into the plan. Any rows with errors are excluded from the plan.
  • STRICT_UPLOAD: Loads data into the plan if there are no errors in any row. If there are errors, the load fails. This is the default.
headerParameters
TargetTenantID
string

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.

Request Body schema: multipart/form-data
file
string <binary>

The CSV file to load into the plan.

Responses

Response samples

Content type
application/json
{
  • "updatedCellsCount": 0,
  • "potentialUpdatedCellsCount": 0,
  • "errors": [
    ],
  • "changelists": [
    ]
}

Add or remove plan rows

Send a file to Visier to modify a plan's rows. The file must be in CSV format and contain the following columns:

  • Add/Remove: In the column, use the value "Add" to add the specified row to the plan or "Remove" to remove the specified row from the plan.
  • A column for each dimension path or planSegmentLevels ID.
    • If adding rows, use one column per part of the path. For example, to add a new organization under Product, use 3 columns: Organization_Hierarchy.Level_1, Organization_Hierarchy.Level_2, Organization_Hierarchy.Level_3 with 3 segment member values: [Organization_Hierarchy].[Bluesphere], [Organization_Hierarchy].[Product], New Organization.
      • If the segment member does not exist, write its display name.
      • If the segment member exists, use its planSegmentLevelMembers ID. For example, if your plan is segmented by Organization Hierarchy and Location and you want to add a location under your new organization, you would use the columns Organization_Hierarchy.Level_1, Organization_Hierarchy.Level_2, Organization_Hierarchy.Level_3, Location.Location_1 with the following values: [Organization_Hierarchy].[Bluesphere], [Organization_Hierarchy].[Product], New Organization, [Location].[North America].[United States].
    • If removing rows, use one column per plan segment level segmentId, where the values are the plan segment levels id. To get the IDs, call GET /v1alpha/planning/model/plans/{id}?withSchema=true.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
planId
required
string

The unique identifier of the plan.

method
string

Sets how to validate the data being loaded into Visier. Valid values:

  • VALIDATE: Runs a test load through all the validation steps without putting the data into the plan. Use VALIDATE to find any errors before using STRICT_UPLOAD to load the data.
  • SKIP_ERRORS: Loads all data without errors into the plan. Any rows with errors are excluded from the plan.
  • STRICT_UPLOAD: Loads data into the plan if there are no errors in any row. If there are errors, the load fails. This is the default.
headerParameters
TargetTenantID
string

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.

Request Body schema: multipart/form-data
file
string <binary>

The CSV file to load into the plan.

Responses

Response samples

Content type
application/json
{
  • "addedRowsCount": 0,
  • "removedRowsCount": 0,
  • "potentialAddedRowsCount": 0,
  • "potentialRemovedRowsCount": 0,
  • "errors": [
    ]
}

Data Upload

Send data files to Visier. After we receive the data, Visier starts a receiving job and a processing job to process the data.

Upload a data file to Visier

Use this API to upload data files to Visier. You can upload ZIP, CSV, XLS, and XLSX filetypes in plaintext or encrypted with Visier's PGP key.

Use of this API requires client redirect. This API redirects requests directly to Visier's upload infrastructure to support long-running uploads. To ensure efficient uploading, we recommend that you use an HTTP client that supports the 100 Continue status code.

The maximum file upload size is 500 MB. We recommend using SFTP for larger file sizes.

pathParameters
filename
required
string

The filename of the data file to upload, including the file extension (such as .zip or .csv).

headerParameters
TargetTenantID
string

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.

Request Body schema: */*
string <binary>

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Data Query

Query against your data in Visier to get aggregate and list data.

Query aggregate data

To retrieve aggregated values from your data in Visier, you can perform an aggregation. Usually, an aggregation retrieves values over a period of time, such as multiple months. You can also group and filter your data in an aggregation query to retrieve detailed information.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

The data to perform an aggregation on, such as a metric or formula. The query must include a time interval, and may optionally include filters and axes.

object

Additional instructions for your query, such as a calendar type or conversion information.

Responses

Request samples

Content type
application/json
{
  • "query": {
    },
  • "options": {
    }
}

Response samples

Content type
{
  • "cells": [
    ],
  • "axes": [
    ],
  • "lineage": {
    }
}

Query a list of details

To retrieve a list of values for specific objects, you can perform a list query. A list query provides information about values for selected data points, and is not an aggregated value. In Visier's interface, a list query is comparable to View Details for a specific data point in a visualization.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

The source data that you want to query.

Array of objects (PropertyColumnDTO)

The columns to include in the result. This must contain at least one column.

Array of objects (SortOptionDTO)

The index and direction to sort a column in the columns array.

Array of objects (QueryFilterDTO)

The filters of this query. Omit filters if no filtering is required.

object

The time that the data is valid, such as a specific day or period of months.

Array of objects (QueryParameterValueDTO)

The parameter values for either member or numeric parameters.

object

Additional instructions for your query, such as a calendar type or conversion information.

Responses

Request samples

Content type
application/json
{
  • "source": {
    },
  • "columns": [
    ],
  • "sortOptions": [
    ],
  • "filters": [
    ],
  • "timeInterval": {
    },
  • "parameterValues": [
    ],
  • "options": {
    }
}

Response samples

Content type
{
  • "header": {
    },
  • "rows": [
    ]
}

Query a series of detailed snapshots

To retrieve a collection of list query-style snapshots taken at the defined intervals, execute a snapshot query. Each snapshot in the result is associated with a timestamp, or the "effective date" at which date snapshot data was valid. This API allows you to request a detailed time series from Visier.

Structurally, a snapshot query is similar to a list query, but has the following differences:

  • The snapshot query may contain a column, effectiveDateProperty, that specifies the time for each snapshot. To include the effectiveDateProperty column, add the following object to the columns array:
    {"columnName": "Snapshot_Date","columnDefinition": {"effectiveDateProperty": {}}}
  • The snapshot query uses timeIntervals (like an aggregate query) instead of timeInterval (like a list query) because the snapshot query must specify the number of snapshots to generate. To specify the number of snapshots to generate, use the intervalCount property in the timeIntervals object, as shown next.
    {"timeIntervals": {"fromDateTime": "2022-01-01","intervalPeriodType": "MONTH","intervalPeriodCount": 6,"intervalCount": 4}
headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

The source data that you want to query.

Array of objects (PropertyColumnDTO)

The columns to include in the result. This must contain at least one column.

Array of objects (SortOptionDTO)

The index and direction to sort a column in the columns array.

Array of objects (QueryFilterDTO)

The filters of this query. Omit filters if no filtering is required.

object

The time intervals to query.

Array of objects (QueryParameterValueDTO)

The parameter values for either member or numeric parameters.

object

Additional instructions for your query, such as a calendar type or conversion information.

Responses

Request samples

Content type
application/json
{
  • "source": {
    },
  • "columns": [
    ],
  • "sortOptions": [
    ],
  • "filters": [
    ],
  • "timeIntervals": {
    },
  • "parameterValues": [
    ],
  • "options": {
    }
}

Response samples

Content type
{
  • "header": {
    },
  • "rows": [
    ]
}

Query aggregate or list data using SQL-like syntax

To retrieve a list of values for specific objects or aggregate values from metrics, you can write queries using SQL-like syntax. The response format matches the query type whether aggregate or list. If requested, aggregate query results may be flattened into tabular format.

A SQL-like query is an aggregate if it contains at least one metric. Aggregate queries must specify a time interval divided into periods; for example:

SELECT
  employeeCount() AS "Employee Count",level(Gender, "Gender") AS Gender
FROM
  Employee
WHERE
 Visier_Time IN periods(date("2023-01-01"), 4, period(3, Month));

A SQL-like query is a list if it does not contain any metrics. List queries define time intervals as simple intervals; for example:

SELECT
  EmployeeID AS "Employee ID",level(Gender, "Gender") AS Gender
FROM
  Employee
WHERE
 Visier_Time BETWEEN date("2022-01-01") AND date("2023-01-01");
headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
query
string

The SQL-like query string

object

Optional options that currently that cannot be expressed in SQL-like

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "options": {
    }
}

Response samples

Content type
Example
{
  • "header": {
    },
  • "rows": [
    ]
}

Data Version Export

Export Visier data version information, such as tables, columns, and file information, in CSV format.
Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Retrieve a list of all data versions

Retrieve a list of all data versions in the tenant.

Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "dataVersions": [
    ]
}

Retrieve the details of all data version exports

Retrieve the information for all available data version exports. Note: Data version exports are available for 14 days after export job completes.

Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "dataVersionExports": [
    ]
}

Retrieve the details of a data version export

Retrieve information for a specific data version export. Note: Data version exports are available for 14 days after export job completes.

Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
exportUuid
required
string

The unique identifier of the data version export.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "timestamp": "string",
  • "dataVersionNumber": "string",
  • "baseDataVersionNumber": "string",
  • "tables": [
    ],
  • "newTables": [
    ],
  • "deletedTables": [
    ]
}

Schedule a data version export job

Schedule a data version export job. The job schedules immediately and will begin when resources are available. The response returns a jobUuid that you can use to check the export job status.

Note: There is a limit of 10 export jobs per tenant per day.

Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
dataVersionNumber
string

The data version number to generate an export for.

baseDataVersionNumber
string

Optional. The baseline data version number to use to generate a delta export. Delta exports contain the differences between baseDataVersionNumber and dataVersionNumber, such as anything updated, added, or removed in dataVersionNumber. If baseDataVersionNumber is not provided, a full export generates for dataVersionNumber.

Responses

Request samples

Content type
application/json
{
  • "dataVersionNumber": "string",
  • "baseDataVersionNumber": "string"
}

Response samples

Content type
application/json
{
  • "jobUuid": "string"
}

Retrieve a data version export job's status

Retrieve the status of a data version export job. After the job completes successfully, this endpoint returns an exportUuid that you can use to retrieve the export information and download export files.

Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
jobUuid
required
string

The unique identifier of the data version export job.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "jobUuid": "string",
  • "completed": true,
  • "failed": true,
  • "exportUuid": "string"
}

Download a file from a data version export

This API allows you to download a file from a data version export. Data version export files are in CSV format, compressed with gzip.

pathParameters
exportUuid
required
string

The unique identifier of the data version export.

fileId
required
integer

The unique integer identifier of the file within the data version export.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "localizedMessage": "string",
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string",
  • "userError": true
}

Vee

Use Vee through Visier APIs, such as asking questions, submitting feedback, and getting sample questions.
Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Check the overall current status of Vee

Check the current overall status of Vee.

The overall status is one of:

  • UP : Vee is operational.
  • DOWN: Vee is not operational.
headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "overall": "string"
}

Submit Vee feedback

Give Vee feedback for a previous answer. To submit feedback, include:

  • The response object from the /question response.
  • A rating of Vee's answer. If isApproved is true, Vee answered the question correctly. If isApproved is false, Vee's answer was incorrect or lacked details.
  • A description of how Vee should have answered the question or how Vee can improve the answer, such as "Expected Headcount metric, but Vee returned Average Headcount".


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
object

Your feedback about Vee's answer. Include the response object from the /question call that you want to provide feedback about.

isApproved
boolean

If true, Vee answered the question correctly. If false, Vee's answer was incorrect or lacked details.

description
string

A description of how Vee should have answered the question or how Vee can improve the answer; for example, "Expected Headcount metric, but Vee returned Average Headcount".

Responses

Request samples

Content type
application/json
{
  • "response": {
    },
  • "isApproved": true,
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "statusCode": "UNDEFINED",
  • "statusMsg": "string"
}

Ask Vee a question

Use plain language to ask Vee a people question. Use body parameters to specify how Vee should respond, such as returning a visualization, data, or rewording the question.

The response always returns a conversationState object containing a unique ID for the conversation. To ask a follow-up question or continue the conversation with Vee, include the conversationState from the response in your next /question call. To submit feedback about Vee's answer, copy the entire response into your /feedback call.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
question
string

The question to ask Vee. If asking a follow-up question or continuing a conversation with Vee, specify the conversationState object from the question's response.

object

The unique identifier of the conversation with Vee. If empty, starts a new conversation with Vee. If asking a follow-up question or continuing a conversation with Vee, specify the conversationState object from the question's response. To submit feedback about Vee's answer, copy the entire response into your /feedback call.

object

Options to specify how Vee should respond to a question.

Responses

Request samples

Content type
application/json
{
  • "question": "string",
  • "conversationState": {
    },
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "conversationState": {
    },
  • "statusCode": {
    },
  • "narrative": "string",
  • "chartUrl": "string",
  • "schema": {
    },
  • "corrections": [
    ],
  • "data": {
    },
  • "visual": {
    },
  • "rewordedQuestion": "string"
}

Retrieve a list of sample questions to ask Vee

Get a list of sample questions to help your users start using Vee. The response returns a list of questions, such as "What is the turnover rate?".


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "questions": [
    ]
}

Search

Search for documents, such as analyses, in Visier.
Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Perform a simple search for Visier document headers

Perform a simple search for Visier document headers, such as analysis titles. Simple search doesn't support keywords, Boolean expressions, or any other advanced search features. Example: GET /v1alpha/search/simple/document-headers?q=My+Query&amp;limit=10 returns the first 10 document headers that best match the query string My Query.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
q
string

The search query string.

limit
integer <int32>

The maximum number of results to return. Defaults to 100.

offset
integer <int32>

The index to start retrieving results from, also known as offset. Defaults to 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "documentHeaders": [
    ]
}

Source Files Download

Download a tenants source files.
Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Download source files

Download a tenant's source files. You can download all included source files or specify a list of sources to download. Use object names or unique identifiers to specify the list of sources. Excluded source files will not be downloaded.

If minTimestamp and maxTimestamp are defined, downloads the source files uploaded within the specified time range for all sources or the specified sources.

Administrating tenants can specify the tenant from which to download sources using the TargetTenantID header.

Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
downloadAll
boolean

If true, downloads all uploaded files for all sources. Default is false.

sources
Array of strings

A comma-separated list of strings representing the object name of each source to download.

sourceIds
Array of strings

A comma-separated list of strings representing the unique identifier of each source to download.

minTimestamp
string

The earliest upload time to download files from in ISO-8601 format, such as "2001-10-25T13:45:35.999". If omitted, downloads files from the earliest available time.

maxTimestamp
string

The latest upload time to download files up to in ISO-8601 format, such as "2001-10-25T13:45:35.999". If omitted, downloads files up to the latest available time.

Responses

Request samples

Content type
application/json
{
  • "downloadAll": true,
  • "sources": [
    ],
  • "sourceIds": [
    ],
  • "minTimestamp": "string",
  • "maxTimestamp": "string"
}

Response samples

Content type
{
  • "status": "string",
  • "messages": "string"
}

Projects

Create projects, publish projects, and retrieve project details.
Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Retrieve a list of draft projects accessible to the user

Get a list of draft projects accessible to the requesting user in the tenant.

A project is accessible if it is owned by the user or shared to the user.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
with
Array of strings

The types of draft projects to include in the request response.

  • If empty, returns all the Open draft projects.
  • If Open, returns all Open draft projects.
  • If Approval, returns all draft projects in the approval stage. Changes cannot made in Approval projects.
  • If Rejected, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects.
  • If Archived, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.
limit
integer <int32>

The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "openProjects": [
    ],
  • "approvalProjects": [
    ],
  • "rejectedProjects": [
    ],
  • "archivedProjects": [
    ]
}

Create a new draft project

Create a new draft project in the tenant.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
id
string

The unique ID of the project. Omit when creating a new project.

name
string

An identifiable project name to display in Visier.

description
string

A description of the project.

releaseVersion
string

The release version of the project.

ticketNumber
string

The change management ticket number of the project.

versionNumber
integer <int32>

The version number of the project.

capabilities
Array of strings <enum>[ items <enum> ]
ItemsEnum: "canRead" "canWrite" "canShare" "owner"

The current user's capabilities for the project. Users with canWrite, canShare, or owner capabilities can add and commit changes to the project. canRead: The project has been shared to the user with View access. canWrite: The project has been shared to the user with Edit access. canShare: The project has been shared to the user with Share access. owner: The user is the owner of the project. Omit when creating a new project.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "releaseVersion": "string",
  • "ticketNumber": "string",
  • "versionNumber": 0,
  • "capabilities": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "releaseVersion": "string",
  • "ticketNumber": "string",
  • "versionNumber": 0,
  • "capabilities": [
    ]
}

Retrieve a draft project's information

Retrieve the details of an accessible draft project. You must know the ID of the project to retrieve its details. To retrieve draft project IDs, see GET v1beta/admin/projects.

A project is accessible if it is owned by the user or shared to the user.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
projectId
required
string

The unique identifier of the draft project you want to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "releaseVersion": "string",
  • "ticketNumber": "string",
  • "versionNumber": 0,
  • "capabilities": [
    ]
}

Perform an operation on a draft project

Perform operations on a draft project. The following operations are supported:

  • commitAndPublish: Commits project changes and publishes the project to production.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
projectId
required
string
headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
operation
string <enum>
Enum: "unknown" "commitAndPublish"

The operation to perform on a draft project. Valid values:

  • commitAndPublish: Commits the requesting user's changes and publishes the draft project to production.

Responses

Request samples

Content type
application/json
{
  • "operation": "unknown"
}

Response samples

Content type
application/json
{
  • "commitAndPublish": {
    }
}

Delete a draft project

Delete a draft project in the tenant. The project will first be archived if applicable.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
projectId
required
string

The unique ID of the draft project to be deleted.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "releaseVersion": "string",
  • "ticketNumber": "string",
  • "versionNumber": 0,
  • "capabilities": [
    ]
}

Retrieve a list of all committed changes in a project

Retrieve the full list of all committed changes in a project.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
projectId
required
string

The unique identifier of the draft project you want to retrieve the committed changes for.

queryParameters
limit
integer <int32>

The maximum number of committed changes to return. Default is 400.

start
integer <int32>

The starting index of the first committed change to return. Default is 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "commits": [
    ]
}

Import committed changes into a project

Import a ZIP file that contains a list of committed changes into a draft project. The file must be an export from POST /v1beta/admin/production-versions. Use this API after making changes in a development environment to copy the changes to a draft project in your production environment.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
projectId
required
string

The unique identifier of the draft project you want to import committed changes into.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
projectId
string

The unique identifier of the draft project you want to import committed changes into.

Responses

Request samples

Content type
application/json
{
  • "projectId": "string"
}

Response samples

Content type
application/json
{
  • "commits": [
    ]
}

Production Versions

Use this API to retrieve information about data versions that were published to production. In Visier, production is the version of Visier available to your end users.
Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Retrieve a list of all production versions

Retrieve a list of all projects that were published to production, ordered from latest published to earliest published.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
limit
integer <int32>

The maximum number of production versions to return. Default is 400.

start
integer <int32>

The starting index of the first production version to return. Default is 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "publishedVersions": [
    ]
}

Perform an operation on production versions

Perform operations on production versions, such as exporting a production project's committed changes.

If exporting, please specify Accept: application/zip, application/json in the header. The API returns exported changes in ZIP format and error messages in JSON format. If your request returns an error and it doesn't accept application/json, you will receive an HTTP 406 status code instead of the appropriate error response body.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
operation
string <enum>
Enum: "unknownProductionVersionsAPIOperation" "export"

The operation to perform. Valid values:

  • export: Export the project changes of the requested production versions and their related files, such as any Guidebook images. If successful, a ZIP file is returned containing any relevant image files and a JSON file with the production project changes.
object

The parameters for the export option, such as the production version to start exporting versions from. Required for export operations.

Responses

Request samples

Content type
application/json
{
  • "operation": "unknownProductionVersionsAPIOperation",
  • "exportParameters": {
    }
}

Response samples

Content type
application/json
{
  • "export": { }
}

Perform an operation on a production version

Perform operations on a specific production version. The following operations are supported:

  • rollBackTo: Create a project that rolls back the production version to the specified version. The project contains uncommitted changes that reverse the published versions after the target production version.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
productionVersionId
required
string

The production version to use as the target of the operation; for example, the production version to roll back to for the rollBackTo operation.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
operation
string <enum>
Enum: "unknownProductionVersionAPIOperation" "rollBackTo"

The operation to perform. Valid values:

  • rollBackTo: Create a project that rolls back the production version to the specified version. The project contains uncommitted changes that reverse the published versions after the target production version.

Responses

Request samples

Content type
application/json
{
  • "operation": "unknownProductionVersionAPIOperation"
}

Response samples

Content type
application/json
{
  • "rollBackTo": {
    }
}

Users V2

Manage users in bulk, such as creating, updating, and deleting many users.
Tip: Visier recommends that administrating tenant users focus primarily on managing users at the administrating tenant level. These users likely belong directly to your organization, such as customer support, customer value managers, account executives, and customer success. These users work with clients to manage their day-to-day solution needs.
Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

Update users

Update an existing user's information, such as their display name or if the user is enabled in Visier.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to update a user in.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (UsersUpdateAPIUserDTO)

A list of objects representing users to update. Maximum 100 users can be updated in a single request.

Responses

Request samples

Content type
application/json
{
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Add users

Create new users. Administrating tenant users can specify the tenant in which to add these users.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to create a user in.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (UserCreationAPIRequestDTO)

A list of objects representing users to create. Maximum 100 users can be created in a single request.

Responses

Request samples

Content type
application/json
{
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Delete users

Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to delete a user in.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
userIds
Array of strings

A list of objects representing users to delete. Maximum 100 users can be deleted in a single request.

Responses

Request samples

Content type
application/json
{
  • "userIds": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

User Groups V2

Manage user groups in Visier, such as creating, updating, and deleting user groups in bulk.
Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Retrieve a list of user groups

Retrieve a collection of user groups. Use with to control the amount of detail returned in the response. with supports these values:

  • permissions: Include the user group's permissions.
  • users: Include the users in the user group.
  • details: Include all available information.

This API can return a maximum of 1000 user groups. The default number of user groups to return is 100.

To specify the project in which to return user groups, provide a project UUID in the ProjectID request header.


To specify the tenant in which to retrieve user groups, administrating tenants can provide an analytic tenant code in the TargetTenantID request header.

queryParameters
with
string <enum>
Enum: "permissions" "users" "details"

Controls the amount of detail to return in the response. Omit to return basic information.

  • permissions: Include the user group's permissions.
  • users: Include the users in the user group.
  • details: Include all available information.
limit
integer <uint32>

The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Update multiple user groups

Update existing user groups. To specify the tenant in which to update a user group, administrating tenants can provide an analytic tenant code in the TargetTenantID request header or tenantCode for each user group in the request body.

When updating user groups, the user group definition in your API call replaces the prior definition. You must provide the entire definition in the PUT call. If you omit values from the update request, those values are removed from the user group. We recommend that you retrieve a user group's details before you update the user group with new values.

To specify the project in which to update user groups, provide a project UUID in the ProjectID request header or projectId for each user group in the request body.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (UserGroupChangeDefinitionDTO)

The user groups and their definitions.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Create multiple user groups

Create new user groups. To specify the tenant in which to add new user groups, administrating tenants can provide an analytic tenant code in the TargetTenantID request header.

To specify the project in which to create new user groups, provide a project UUID in the ProjectID request header or projectId for each user group in the request body.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (UserGroupChangeDefinitionDTO)

The user groups and their definitions.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Delete multiple user groups

Delete user groups in bulk. To specify the tenant in which to delete user groups, administrating tenants can provide an analytic tenant code in the TargetTenantID request header.

To specify the project in which to delete user groups, provide a project UUID in the ProjectID request header or projectId for each user group in the request body.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (UserGroupDeleteDTO)

The user groups to delete.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Patch multiple user groups

Make partial changes to user groups. To specify the tenant in which to patch a user group, administrating tenants can provide an analytic tenant code in the TargetTenantID request header or tenantCode for each user group in the request body.

Unlike PUT, which completely replaces the user group definition, use PATCH to change specific fields in the user group without affecting omitted fields.

To specify the project in which to patch user groups, provide a project UUID in the ProjectID request header or projectId for each user group in the request body.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (UserGroupChangeDefinitionDTO)

The user groups and their definitions.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Retrieve the details of a user group

Retrieve all available information about a specific user group.


To specify the tenant in which to retrieve a user group, administrating tenants can provide an analytic tenant code in the TargetTenantID request header.

To specify the project in which to return a user group, provide a project UUID in the ProjectID request header.

pathParameters
userGroupId
required
string

The ID of user group.

queryParameters
with
string <enum>
Enum: "permissions" "users" "details"

Controls the amount of detail to return in the response. Omit to return detailed information.

  • permissions: Include the user group's permissions.
  • users: Include the users in the user group.
  • details: Include all available information.
headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "userGroupId": "string",
  • "displayName": "string",
  • "description": "string",
  • "permissionIds": {
    },
  • "users": {
    },
  • "tenantCode": "string",
  • "projectId": "string"
}

Delete a user group

Delete a specific user group. To specify the tenant in which to delete a user group, administrating tenants can provide an analytic tenant code in the TargetTenantID request header.

To specify the project in which to delete a user group, provide a project UUID in the ProjectID request header.

pathParameters
userGroupId
required
string

The ID of user group to delete.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
userGroupId
string

The ID of user group to delete.

Responses

Request samples

Content type
application/json
{
  • "userGroupId": "string"
}

Response samples

Content type
application/json
{
  • "success": {
    },
  • "failure": {
    }
}

Users V1

Manage users within an organization, such as assigning permissions to users and retrieving user permission assignments and application logs.
Tip: Visier recommends that administrating tenant users focus primarily on managing users at the administrating tenant level. These users likely belong directly to your organization, such as customer support, customer value managers, account executives, and customer success. These users work with clients to manage their day-to-day solution needs

Assign permissions to users

This API allows you to assign a permission to specific users. Administrating tenant users can assign permissions to users in the administrating tenant and in the analytic tenants those users belong to.

To assign permissions to users in a project for the administrating tenant, provide a project UUID in the ProjectID request header. Administrating tenants can assign permissions to users in analytic tenants by providing a tenant code and project ID in the request body.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (AssignRevokePermissionRequestDTO)

A list of objects representing the permissions to assign to or remove from users.

object

Administrating tenants can specify the tenants and projects in which to assign permissions to users or remove permissions from users. Specify one projectId per tenantCode. If omitted, the request is immediately published to production or applied to the ProjectID in the request header, if available, for the administrating tenant or TargetTenantID, if available.

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ],
  • "targetProjectForTenantsList": {
    }
}

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Remove permissions from users

This API allows you to remove a permission from specific users. Administrating tenant users can remove permissions from users in the administrating tenant and in the analytic tenants those users belong to.

To remove permission from users in a project for the administrating tenant, provide a project UUID in the ProjectID request header. Administrating tenants can remove permissions from users in analytic tenants by providing a tenant code and project ID in the request body.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (AssignRevokePermissionRequestDTO)

A list of objects representing the permissions to assign to or remove from users.

object

Administrating tenants can specify the tenants and projects in which to assign permissions to users or remove permissions from users. Specify one projectId per tenantCode. If omitted, the request is immediately published to production or applied to the ProjectID in the request header, if available, for the administrating tenant or TargetTenantID, if available.

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ],
  • "targetProjectForTenantsList": {
    }
}

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Retrieve users that are assigned a specific permission

This API allows you to retrieve all the users that are assigned a specified permission. You must know the ID of the permission you want to retrieve users for.

To specify the project in which to retrieve users assigned to a specific permission for the login tenant, provide a project UUID in the ProjectID request header. If omitted, the request retrieves users assigned to a specific permission from production.

pathParameters
permissionId
required
string

The unique identifier of the permission you want to retrieve users for.

queryParameters
includeUserGroups
boolean

If true, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If false, the response returns a list of the users that are directly assigned the permission.

tenantFilter
string

Specify the tenant to retrieve the list of users from.

limit
integer <int32>

The number of results to return. The maximum number of tenants to retrieve is 100.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Retrieve a list of all user groups

This API allows you to retrieve the full list of user groups in a tenant.

To specify the project in which to retrieve user groups for a tenant, provide a project UUID in the ProjectID request header. If omitted, the request retrieves user information from production.

queryParameters
tenantCode
string

Specify the tenant to retrieve the list of user groups from.

limit
integer <uint32>

The number of results to return. The maximum number of users to retrieve is 1000.

start
integer <uint32>

The index to start retrieving results from, also known as offset.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "userGroups": [
    ],
  • "limit": 0,
  • "start": 0
}

Assign permissions to user groups

This API allows you to assign a permission to specific user groups. This assigns the permission to all users in the user group.

To assign permissions to user groups in a project, provide a project UUID in the ProjectID request header.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (PermissionsToUserGroupRequestDTO)

A list of objects representing the user groups and permissions to assign or remove.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "status": "string",
  • "message": "string",
  • "userGroups": [
    ]
}

Remove permissions from user groups

This API allows you to remove a permission from specific user groups.

To remove permissions from user groups in a project, provide a project UUID in the ProjectID request header.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (PermissionsToUserGroupRequestDTO)

A list of objects representing the user groups and permissions to assign or remove.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "status": "string",
  • "message": "string",
  • "userGroups": [
    ]
}

Assign users to user groups

This API allows you to assign users to specific user groups.

To assign users to user groups in a project for the administrating tenant, provide a project UUID in the ProjectID request header. Administrating tenants can assign users to user groups in analytic tenants by providing a tenant code and project ID in the request body.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (UsersToUserGroupRequestDTO)

A list of objects representing the user groups and users to assign or remove.

object

Administrating tenants can specify the tenants and projects in which to assign users to user groups or remove users from user groups. Specify one projectId per tenantCode. If omitted, the request is immediately published to production or applied to the ProjectID in the request header, if available, for the administrating tenant or TargetTenantID, if available.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ],
  • "targetProjectForTenantsList": {
    }
}

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Remove users from user groups

This API allows you to remove users from specific user groups.

To remove users from user groups in a project for the administrating tenant, provide a project UUID in the ProjectID request header. Administrating tenants can remove users to user groups in analytic tenants by providing a tenant code and project ID in the request body.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (UsersToUserGroupRequestDTO)

A list of objects representing the user groups and users to assign or remove.

object

Administrating tenants can specify the tenants and projects in which to assign users to user groups or remove users from user groups. Specify one projectId per tenantCode. If omitted, the request is immediately published to production or applied to the ProjectID in the request header, if available, for the administrating tenant or TargetTenantID, if available.

Responses

Request samples

Content type
application/json
{
  • "userGroups": [
    ],
  • "targetProjectForTenantsList": {
    }
}

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Retrieve a list of user group users

This API allows you to retrieve the list of users explicitly assigned to a user group. Users that are implicitly included in the user group through the user group's dynamic filters are not returned by this endpoint.

To specify the project in which to retrieve user group users for the login tenant, provide a project UUID in the ProjectID request header. If omitted, the request retrieves user group users from production.

pathParameters
userGroupId
required
string

The ID of user group.

queryParameters
tenantFilter
string

Specifies the tenant to retrieve the list of users from.

limit
integer <uint32>

The number of results to return. The maximum number of tenants to retrieve is 100.

start
integer <uint32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Retrieve a list of all users

This API allows you to retrieve the full list of users and their current states.

To specify the project in which to retrieve user information, provide a project UUID in the ProjectID request header. If omitted, the request retrieves user information from production.

queryParameters
tenantCode
string

Specify the tenant to retrieve a list of users from.

assignedProfiles
boolean

If true, the response returns a list of the user's assigned profiles.

assignedPermissions
boolean

If true, the response returns the user's assigned permissions.

assignedUserGroups
boolean

If true, the response returns the user's assigned user groups.

limit
integer <uint32>

The number of results to return. The maximum number of users to retrieve is 1000.

start
integer <uint32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "limit": 0,
  • "start": 0
}

Add a user

Create a new user. Administrating tenant users can specify the tenant in which to add a user.

queryParameters
tenantCode
string

Specify the tenant to create a user in.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
username
string

The user's username. This is typically the user's email, such as john@visier.com.

displayName
string

An identifiable name to display within Visier. For example, "John Smith".

employeeId
string

If applicable, and if available, the user employee ID in the data.

accountEnabled
string

If false, the user account is disabled.

email
string

The user's email. This is used if the user's email is different from their username. For example, "john.doe@visier.com".

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "displayName": "string",
  • "employeeId": "string",
  • "accountEnabled": "string",
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "userId": "string",
  • "username": "string",
  • "displayName": "string",
  • "employeeId": "string",
  • "accountEnabled": "string",
  • "email": "string"
}

Retrieve a user's details

This API allows you to retrieve all details for a specified user.

To specify the project in which to retrieve user information, provide a project UUID in the ProjectID request header. If omitted, the request retrieves user information from production.

pathParameters
userId
required
string

The ID of the user you want to retrieve.

queryParameters
tenantCode
string

Specify the tenant to retrieve a user from.

assignedProfiles
boolean

If true, the response returns a list of the user's assigned profiles.

assignedPermissions
boolean

If true, the response returns the user's assigned permissions.

assignedUserGroups
boolean

If true, the response returns the user's assigned user groups.

headerParameters
ProjectID
string <uuid>

Optionally, specify a project in which to make the request. If omitted, the request uses the production version.

TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "username": "string",
  • "displayName": "string",
  • "employeeId": "string",
  • "accountEnabled": true,
  • "profiles": {
    },
  • "permissions": {
    },
  • "userGroups": {
    },
  • "lastLogin": {
    },
  • "email": "string"
}

Update a user

Update an existing user's information, such as their display name or if the user is enabled in Visier.

pathParameters
userId
required
string

The ID of the user you want to update.

queryParameters
tenantCode
string

Specify the tenant to update a user in.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
displayName
string

An identifiable name to display within Visier. For example, "John Smith".

employeeId
string

If applicable, and if available, the user employee ID in the data.

accountEnabled
string

If true, the user account is enabled.

email
string

The user's email address.

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "employeeId": "string",
  • "accountEnabled": "string",
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "displayName": "string",
  • "employeeId": "string",
  • "accountEnabled": "string",
  • "email": "string"
}

Delete a user

Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user.

pathParameters
userId
required
string

The ID of the user you want to delete.

queryParameters
tenantCode
string

Specify the tenant to delete a user in.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{ }

Retrieve the Application Logs

This API allows you to export the Application Logs for a tenant. The Application Logs track information about your users and how they are using the application. Performing regular audits will help you identify potential security issues and keep your data safe. As part of user management, download the Application Logs to monitor user activity and logon events to ensure your users are performing authorized activities.

Administrating tenant users can export application logs for the administrating tenant and the analytic tenants those users belong to.

queryParameters
startTime
string

An inclusive date-time to start retrieving Application Logs from.

endTime
string

An exclusive date-time to stop retrieving Application Logs from.

tenantCode
string

Specify the tenant to retrieve Application Logs from.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Retrieve the Data Security Report

This API allows you to export the data security report of a user. The Data Security Report provides information about a specific user to see which populations and properties that user has access to as a result of the permissions assigned to them.

Administrating tenant users can export the report for users in the administrating tenant and the analytic tenants those users belong to.

pathParameters
userId
required
string

The ID of the user to retrieve the report for.

queryParameters
tenantCode
string

Specify the tenant to retrieve the Data Security Report from.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Retrieve user profile assignments in XLSX format

This API allows you to export the profiles assigned to each user. This report details the profiles assigned to each user and the profile validity period.

Administrating tenant users can export profile assignments for the administrating tenant and the analytic tenants those users belong to.

queryParameters
tenantCode
string

Specify the tenant to retrieve profile assignments from.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Retrieve user permissions in XLSX format

This API allows you to export the user permission assignments for a tenant. The permission assignments report provides a summary of the permissions your users have been assigned and how each permission is being used across your user base, as well as the users that do not have any permissions assigned to them.

Administrating tenant users can export permission assignments for the administrating tenant and the analytic tenants those users belong to.

queryParameters
tenantCode
string

Specify the tenant to retrieve the permission assignments report from.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Retrieve a list of all permissions in XLSX format

This API allows you to export the list of permissions in a tenant. This report includes the permission name, permission description, and permission ID for all permissions in the tenant.

Administrating tenant users can export permissions lists for the administrating tenant and the analytic tenants those users belong to.

queryParameters
tenantCode
string

Specify the tenant to retrieve permissions from.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Profiles

Manage the profiles assigned to users, such as assigning or removing a profile from a list of users and retrieving profile details. Administrating tenant users can manage profiles at the administrating tenant level and analytic tenant level.

Retrieve a list of all profiles

Get a list of all available profiles. For administrating tenants, this retrieves all administrating tenant profiles.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "profiles": [
    ]
}

Retrieve a list of analytic tenant profiles

Retrieve a list of profiles available for analytic tenants.

Note: Administrating tenants only.

Responses

Response samples

Content type
application/json
{
  • "profiles": [
    ]
}

Retrieve the details of an analytic tenant profile

Get the details of an analytic tenant profile.

Note: Administrating tenants only.

pathParameters
profileId
required
string

The ID of the profile to retrieve details for.

Responses

Response samples

Content type
application/json
{
  • "profileId": "string",
  • "displayName": "string",
  • "capabilities": [
    ],
  • "additionalCapabilities": [
    ]
}

Assign an analytic tenant profile to administrating tenant users

Assign an analytic tenant profile to a list of administrating tenant users for a list of analytic tenants.

Note:

  • Administrating tenants only.
  • You can revoke a profile from a user with this request by updating the validityEndTime to be "less than" the current time (that is, in the past).
pathParameters
profileId
required
string

The ID of the profile to assign.

Request Body schema: application/json
required
targetUserIds
Array of strings

A list of users to assign this profile.

Array of objects (TargetTenantCodeDTO)

A list of objects representing the analytic tenants for profiles assigned to the users.

validityStartTime
string

An inclusive date-time when this profile is active.

validityEndTime
string

An exclusive date-time when this profile is no longer active.

Responses

Request samples

Content type
application/json
{
  • "targetUserIds": [
    ],
  • "targetTenantCodes": [
    ],
  • "validityStartTime": "string",
  • "validityEndTime": "string"
}

Response samples

Content type
application/json
{
  • "errors": true,
  • "badTenantCodes": [
    ],
  • "badUserIds": [
    ],
  • "failedAssignments": [
    ],
  • "successfulAssignments": [
    ]
}

Remove an analytic tenant profile from administrating tenant users

Remove an analytic tenant profile from a list of administrating tenant users for a list of analytic tenants.

Note: Administrating tenants only.

pathParameters
profileId
required
string

The ID of the profile to remove.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
targetUserIds
Array of strings

A list of users to remove this profile from.

Array of objects (TargetTenantCodeDTO)

A list of objects representing the analytic tenants for removing profiles from each target user ID.

Responses

Request samples

Content type
application/json
{
  • "targetUserIds": [
    ],
  • "targetTenantCodes": [
    ]
}

Response samples

Content type
application/json
{
  • "badTenantCodes": [
    ],
  • "badUserIds": [
    ],
  • "unaffectedUsers": [
    ],
  • "succeeded": [
    ]
}

Retrieve the details of a profile

Get the details of a specific profile. For administrating tenants, this retrieves the details of administrating tenant profiles.

pathParameters
profileId
required
string

The ID of the profile to retrieve details for.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "profileId": "string",
  • "displayName": "string",
  • "capabilities": [
    ],
  • "additionalCapabilities": [
    ]
}

Assign a profile to a list of users

Assign a profile to a list of users. For administrating tenants, this assigns an administrating tenant profile to a list of users.

pathParameters
profileId
required
string

The ID of the profile to assign to a list of users.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
targetUserIds
Array of strings

A list of users to assign this profile.

validityStartTime
string

An inclusive date-time when this profile is active.

validityEndTime
string

An exclusive date-time when this profile is no longer active.

Responses

Request samples

Content type
application/json
{
  • "targetUserIds": [
    ],
  • "validityStartTime": "string",
  • "validityEndTime": "string"
}

Response samples

Content type
application/json
{
  • "errors": true,
  • "badUserIds": [
    ],
  • "failedAssignments": [
    ],
  • "successfulAssignments": [
    ]
}

Remove a profile from a list of users

Remove a profile from a list of users. For administrating tenants, this removes an administrating tenant profile from a list of users.

pathParameters
profileId
required
string

The ID of the profile to remove to a list of users.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
targetUserIds
Array of strings

A list of users to remove this profile from.

Responses

Request samples

Content type
application/json
{
  • "targetUserIds": [
    ]
}

Response samples

Content type
application/json
{
  • "failed": [
    ],
  • "succeeded": [
    ]
}

Retrieve an administrating tenant user's analytic tenant profiles

Retrieve a specified user's assigned profiles for analytic tenants.

Note: Administrating tenants only.

pathParameters
userId
required
string

The ID of the user you want to retrieve.

Responses

Response samples

Content type
application/json
{
  • "assignedProfilesForAccessibleTenant": [
    ]
}

Retrieve a user's profiles

Retrieve a specified user's assigned profiles. For administrating tenants, this retrieves a user's administrating tenant profiles.

pathParameters
userId
required
string

The ID of the user you want to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "assignedProfiles": [
    ]
}

Permissions

Manage permissions in Visier, such as retrieving the details of a permission, content package, or data access set, creating new permissions and data access sets, and updating or deleting permissions. To assign permissions to users, see Users V1.
Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

Retrieve a list of all permission capabilities

Retrieve all the permission capabilities in your tenant. You can use the returned capabilities in other API calls when creating or updating permissions to assign the capability to the permission.

To specify the project in which to retrieve the permission capabilities, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to retrieve the capabilities from.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "capabilities": [
    ]
}

Retrieve a permission capability's details

Retrieve the details of a specific capability.

To specify the project in which to retrieve the permission capability, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

pathParameters
capabilityId
required
string

The unique identifier of the capability you want to retrieve.

queryParameters
tenantCode
string

Specify the tenant to retrieve a capability from.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "displayName": "string",
  • "description": "string"
}

Retrieve a list of all content packages

Retrieve the list of available content packages. You can use the returned content packages in other API calls when creating or updating permissions to add the content package to the permission.

To specify the project in which to retrieve the available content packages, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to retrieve the content packages from.

searchString
string

Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "contentPackages": [
    ]
}

Retrieve a content package's details

Retrieve the details of a specific content package.

To specify the project in which to retrieve a content package, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

pathParameters
contentPackageId
required
string

The unique identifier of the content package you want to retrieve.

queryParameters
tenantCode
string

Specify the tenant to retrieve a content package from.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "contentPackageId": "string",
  • "displayName": "string",
  • "description": "string"
}

Retrieve a list of all data access sets

Retrieve a list of all shareable data access sets. Data access sets define the level of access that users have to properties and property values for the analytic object in a permission. Data access sets also grant access to properties of subjects that are referenced by the analytic object in the permission. You can assign data access sets to a permission when creating or updating permissions.

To specify the project in which to retrieve the shareable data access sets, provide a project UUID in the ProjectID request header.

Note:

  • If the number of valid data access sets exceeds the default limit of 100, the response status code is 206. To retrieve more than 100 data access sets, set limit to a higher number.
  • This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).
queryParameters
analyticObjectId
string

Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects.

with
Array of strings

The information about the data access set to include in the request response.

  • If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID.
  • If details, returns basic information and property data access information (propertyAccessConfigs).
limit
integer <int32>

The maximum number of data access sets to return. Default is 100. Maximum is 1000.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "dataAccessSets": [
    ]
}

Create shareable data access sets

Create shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions.

To specify the project in which to create shareable data access sets, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (DataAccessSetDTO)

The data access sets to be created.

Responses

Request samples

Content type
application/json
{
  • "shareablePropertyAccessConfigs": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Retrieve a data access set's details

Retrieve the details of a specific shareable data access set. You must know the ID of the data access set to retrieve its details. To retrieve data access set IDs, see GET v1/admin/data-access-sets.

To specify the project in which to retrieve the shareable data access set, provide a project UUID in the ProjectID request header.

Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

pathParameters
dataAccessSetId
required
string

The unique identifier of the data access set you want to retrieve.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "analyticObjectId": "string",
  • "propertyAccessConfigs": [
    ]
}

Retrieve a list of data security objects

Retrieve the list of available data security objects. Data security objects are analytic objects and their related objects that are available to define permissions' data security profiles.

To specify the project in which to retrieve the available data security objects, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
id
Array of strings

The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects.

includeDetails
boolean

If true, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If false, the response only includes analytic objects (display name, ID, and object type). Default is false.

tenantCode
string

Specify the tenant to retrieve data security objects from.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "analyticObjects": [
    ]
}

Retrieve a list of all permissions

Retrieve the full list of user permissions in your tenant.

To specify the project in which to retrieve permissions, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to retrieve the permissions from.

includeDetails
boolean

If true, returns the permission's details. If false, only returns the permissions' ID, display name, and description. Default is false.

includeDetailsWithStatus
boolean

If true, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If false, doesn't return validity status information. Default is false.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "permissions": [
    ]
}

Update permissions

Update existing permissions.

To specify the project in which to update permissions, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to update permissions in.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (PermissionDTO)

The list of permissions that will be created or updated

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Create permissions

Create new permissions. Administrating tenant users can specify the tenant in which to add these permissions.

To specify the project in which to create permissions, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to create permissions in.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (PermissionDTO)

The list of permissions that will be created or updated

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Delete permissions

Delete existing permissions.

To specify the project in which to delete permissions, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

queryParameters
tenantCode
string

Specify the tenant to delete permissions from.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
permissionIds
Array of strings

The identifiers of the permissions to delete.

Responses

Request samples

Content type
application/json
{
  • "permissionIds": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Retrieve a permission's details

Retrieve the details for a specified permission.

To specify the project in which to retrieve the permission, provide a project UUID in the ProjectID request header.


Note: This API is in limited availability. If you are interested in using it, please contact your Customer Success Manager (CSM).

pathParameters
permissionId
required
string

The unique identifier of the permission you want to retrieve.

queryParameters
tenantCode
string

Specify the tenant to retrieve a permission from.

includeDetailsWithStatus
string

If true, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If false, doesn't return validity status information. Default is false.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Responses

Response samples

Content type
application/json
{
  • "permissionId": "string",
  • "displayName": "string",
  • "description": "string",
  • "dataSecurityProfiles": [
    ],
  • "adminCapabilityConfig": {
    },
  • "roleModulesConfig": {
    }
}

Tenants V2

Create analytic tenants, deprovision tenants, retrieve tenant information, and update tenant information. Tenants V2 improves upon Tenants V1 in the following ways:

  • Programmatically assign a Home analysis to your analytic tenants.
  • Specify whether to merge or replace values when updating the details of an analytic tenant.
  • Specify the property fields to include in the response for GET requests.

Retrieve a list of all analytic tenants

Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested.

queryParameters
limit
integer <int32>

The maximum number of tenants to return. Default is 400.

start
integer <int32>

The starting index of the first tenant to return. Default is 0.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
mask
string <field-mask>

A comma-separated list of strings that specifies which fields to include in the response.

Responses

Request samples

Content type
application/json
{
  • "mask": "tenantDisplayName,purchasedModules"
}

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Add an analytic tenant

Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users.

Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules.

Contact Visier Support to determine the list of modules allocated to you.

Note: API requests that contain homeAnalysisId, homeAnalysisByUserGroup, clickThroughLink, or defaultCurrency take longer to run because they require publishing a project to production.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
tenantCode
string

A unique identifier for the newly created analytic tenant. Required if creating new tenants.

tenantDisplayName
string

A new display name to assign to the analytic tenant. Required if creating new tenants.

tenantShortName
string

A new short name to assign to the tenant. Required for analytic tenants.

vanityUrlName
string

A new vanity name to assign to the tenant. Omit for new Embedded analytic tenants.

industryCode
integer <uint32>

The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000.

For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000. Required if creating new tenants.

object

The primary location of operations or where business is performed. This field is optional.

purchasedModules
Array of strings

A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. Required if creating new tenants.

To get the module name:

  1. In Visier, open a project and navigate to Model > Modules.
  2. Select a module.
  3. In Basic Information, copy the Object name. This is the module name.
embeddableDomains
Array of strings

A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. This is optional.

Array of objects (CustomPropertyDTO)

A list of objects that represent different customizable properties for the analytic tenant. This is optional.

ssoInstanceIssuers
Array of strings

A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. This is optional.

homeAnalysisId
string

The unique ID of the analysis to display for this tenant when a user logs in. This is optional. Causes the API request to take longer because it must publish a project to production.

Retrieve the ID by opening an analysis in the production version of a tenant and copying the string after the last forward slash (/) in the URL. For example: https://jupiter.visier.com/hr/prod/appcontainer?previewId=-eZPm8xvo3SUMpD4Q5pdE-6mCj9CQ9K699XgqRGwtOxagH5x2IzDFawlWn3hYqFEfU7nP0YK9ASEzmrNfAihGg..&previewType=Production#/analytics/myanalyses/8a4c1d4f-eb61-4da0-9e5b-55bef757c30e

The homeAnalysisID is 8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. Alternatively, retrieve the ID by copying the contentId found by following the Embed a visualization documentation.

Array of objects (HomeAnalysisByUserGroupDTO)

A list of objects representing the analysis to display to specific user groups when users log in. This is optional. Causes the API request to take longer because it must publish a project to production.

updateAction
string <enum>
Enum: "MERGE" "REPLACE"

Specifies the way you want to update values. Default is MERGE. Valid values:

  • MERGE: Combine the existing values with the new values.
  • REPLACE: Remove existing values and let the new values take their place.
enabled
boolean

If true, the tenant is enabled. Enabled tenants have access to Visier visualizations.

clickThroughLink
string

A custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content. This is optional. Causes the API request to take longer because it must publish a project to production.

defaultCurrency
string

The default currency to show in the application for the tenant.

Responses

Request samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "tenantShortName": "string",
  • "vanityUrlName": "string",
  • "industryCode": 0,
  • "primaryBusinessLocation": {
    },
  • "purchasedModules": [
    ],
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ],
  • "homeAnalysisId": "string",
  • "homeAnalysisByUserGroup": [
    ],
  • "updateAction": "MERGE",
  • "enabled": true,
  • "clickThroughLink": "string",
  • "defaultCurrency": "string"
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "industryCode": 0,
  • "primaryBusinessLocation": {
    },
  • "purchasedModules": [
    ],
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ],
  • "homeAnalysisId": "string",
  • "homeAnalysisByUserGroup": [
    ],
  • "status": "string",
  • "clickThroughLink": "string",
  • "vanityUrlName": "string",
  • "defaultCurrency": "string"
}

Retrieve an analytic tenant's details

Retrieve the details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant.

pathParameters
tenantId
required
string

The ID of the tenant to retrieve.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
mask
string <field-mask>

A comma-separated list of strings that specifies which fields to include in the response.

Responses

Request samples

Content type
application/json
{
  • "mask": "tenantDisplayName,purchasedModules"
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "status": "string",
  • "provisionDate": "string",
  • "currentDataVersion": "string",
  • "dataVersionDate": "string",
  • "purchasedModules": [
    ],
  • "industryCode": 0,
  • "primaryBusinessLocation": {
    },
  • "canAdministerOtherTenants": true,
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ],
  • "vanityUrlName": "string",
  • "homeAnalysisId": "string",
  • "homeAnalysisByUserGroup": [
    ],
  • "clickThroughLink": "string",
  • "clickThroughLinkEnabled": "string",
  • "defaultCurrency": "string"
}

Update an analytic tenant

You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To make updates to your tenants, use this API.

  • To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system.
  • To programmatically assign the Home analysis that analytic tenants see at login, use this API to set the default Home analysis for a tenant and specific user groups of that tenant.

You can use this API to update any field on an analytic tenant, except tenantCode.

Note: API requests that contain homeAnalysisId, homeAnalysisByUserGroup, clickThroughLink, or defaultCurrency take longer to run because they require publishing a project to production.

pathParameters
tenantId
required
string
headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
tenantCode
string

A unique identifier for the newly created analytic tenant. Required if creating new tenants.

tenantDisplayName
string

A new display name to assign to the analytic tenant. Required if creating new tenants.

tenantShortName
string

A new short name to assign to the tenant. Required for analytic tenants.

vanityUrlName
string

A new vanity name to assign to the tenant. Omit for new Embedded analytic tenants.

industryCode
integer <uint32>

The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000.

For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000. Required if creating new tenants.

object

The primary location of operations or where business is performed. This field is optional.

purchasedModules
Array of strings

A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. Required if creating new tenants.

To get the module name:

  1. In Visier, open a project and navigate to Model > Modules.
  2. Select a module.
  3. In Basic Information, copy the Object name. This is the module name.
embeddableDomains
Array of strings

A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. This is optional.

Array of objects (CustomPropertyDTO)

A list of objects that represent different customizable properties for the analytic tenant. This is optional.

ssoInstanceIssuers
Array of strings

A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. This is optional.

homeAnalysisId
string

The unique ID of the analysis to display for this tenant when a user logs in. This is optional. Causes the API request to take longer because it must publish a project to production.

Retrieve the ID by opening an analysis in the production version of a tenant and copying the string after the last forward slash (/) in the URL. For example: https://jupiter.visier.com/hr/prod/appcontainer?previewId=-eZPm8xvo3SUMpD4Q5pdE-6mCj9CQ9K699XgqRGwtOxagH5x2IzDFawlWn3hYqFEfU7nP0YK9ASEzmrNfAihGg..&previewType=Production#/analytics/myanalyses/8a4c1d4f-eb61-4da0-9e5b-55bef757c30e

The homeAnalysisID is 8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. Alternatively, retrieve the ID by copying the contentId found by following the Embed a visualization documentation.

Array of objects (HomeAnalysisByUserGroupDTO)

A list of objects representing the analysis to display to specific user groups when users log in. This is optional. Causes the API request to take longer because it must publish a project to production.

updateAction
string <enum>
Enum: "MERGE" "REPLACE"

Specifies the way you want to update values. Default is MERGE. Valid values:

  • MERGE: Combine the existing values with the new values.
  • REPLACE: Remove existing values and let the new values take their place.
enabled
boolean

If true, the tenant is enabled. Enabled tenants have access to Visier visualizations.

clickThroughLink
string

A custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content. This is optional. Causes the API request to take longer because it must publish a project to production.

defaultCurrency
string

The default currency to show in the application for the tenant.

Responses

Request samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "tenantShortName": "string",
  • "vanityUrlName": "string",
  • "industryCode": 0,
  • "primaryBusinessLocation": {
    },
  • "purchasedModules": [
    ],
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ],
  • "homeAnalysisId": "string",
  • "homeAnalysisByUserGroup": [
    ],
  • "updateAction": "MERGE",
  • "enabled": true,
  • "clickThroughLink": "string",
  • "defaultCurrency": "string"
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "industryCode": 0,
  • "primaryBusinessLocation": {
    },
  • "purchasedModules": [
    ],
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ],
  • "homeAnalysisId": "string",
  • "homeAnalysisByUserGroup": [
    ],
  • "status": "string",
  • "clickThroughLink": "string",
  • "vanityUrlName": "string",
  • "defaultCurrency": "string"
}

Deprovision an analytic tenant

Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see /v1/admin/tenants/{tenantId}/disable.

This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant.

If successful, the response returns the status "Deprovisioned". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete.

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "status": "string",
  • "tenantDisplayName": "string",
  • "canAdministerOtherTenants": true
}

Tenants V1

Create analytic tenants, retrieve tenant information, and validate metric values.

Retrieve a list of all analytic tenants

Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested.

queryParameters
limit
integer <int32>

The limit of analytic tenant details to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

details
boolean

If true, the response returns information about the data version and modules.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Add an analytic tenant

Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users.

Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules.

Contact Visier Support to determine the list of modules allocated to you.

Request Body schema: application/json
required
tenantCode
string

The unique identifier of the analytic tenant.

tenantDisplayName
string

The display name that is assigned to the analytic tenant.

purchasedModules
Array of strings

A comma-separated list of strings that represent the Visier modules assigned to the analytic tenant.

industryCode
integer <uint32>

The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000.

For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000.

embeddableDomains
Array of strings

A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant.

Array of objects (CustomTenantPropertyDTO)

A set of key-value pairs that represent different customizable properties for the analytic tenant.

ssoInstanceIssuers
Array of strings

A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.

Responses

Request samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "purchasedModules": [
    ],
  • "industryCode": 0,
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "purchasedModules": [
    ],
  • "industryCode": 0,
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ]
}

Retrieve an analytic tenant's details

Retrieve all details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant.

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "status": "string",
  • "provisionDate": "string",
  • "currentDataVersion": "string",
  • "dataVersionDate": "string",
  • "modules": [
    ],
  • "industryCode": 0,
  • "canAdministerOtherTenants": true,
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ],
  • "vanityUrlName": "string"
}

Update an analytic tenant

You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries.

To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system.

You can use this API to update any field on an analytic tenant, except tenantCode.

pathParameters
tenantId
required
string

The ID of the tenant to update.

Request Body schema: application/json
required
tenantDisplayName
string

A display name that is assigned to the new analytic tenant.

industryCode
integer <int32>

The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000.

For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000.

purchasedModules
Array of strings

A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant.

embeddableDomains
Array of strings

A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant.

object

A set of key-value pairs that represent different customizable properties for the analytic tenant.

ssoInstanceIssuers
Array of strings

A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.

Responses

Request samples

Content type
application/json
{
  • "tenantDisplayName": "string",
  • "industryCode": 0,
  • "purchasedModules": [
    ],
  • "embeddableDomains": [
    ],
  • "customProperties": {
    },
  • "ssoInstanceIssuers": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "tenantDisplayName": "string",
  • "purchasedModules": [
    ],
  • "industryCode": 0,
  • "embeddableDomains": [
    ],
  • "customProperties": [
    ],
  • "ssoInstanceIssuers": [
    ]
}

Deprovision an analytic tenant

Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see /v1/admin/tenants/{tenantId}/disable.

This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant.

If successful, the response returns the status "Deprovisioned". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete.

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "status": "string",
  • "tenantDisplayName": "string",
  • "canAdministerOtherTenants": true
}

Disable an analytic tenant

Disable an analytic tenant and remove access to Visier visualizations for the tenant's users.

You must disable an analytic tenant before deprovisioning, or removing, it from the system.

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "status": "string",
  • "tenantDisplayName": "string",
  • "canAdministerOtherTenants": true
}

Enable an analytic tenant

An analytic tenant is enabled when you provision or create the tenant.

Use this API to enable a tenant that you have specifically disabled; for example, if you previously did not want that tenant to have access to Visier visualizations, but now do.

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "status": "string",
  • "tenantDisplayName": "string",
  • "canAdministerOtherTenants": true
}

Validate metric values for all analytic tenants

As you onboard more analytic tenants, you can validate the data visible to your users to ensure it matches the source systems from which it was exported and that it matches what your expectations are for this data.

The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project:

  • Sign in to Visier as an administrator.
  • In a project, on the navigation bar, click the Home button.
  • Click Dashboard, and then click Edit Summary Metrics.
  • Select the metrics that you want to validate, and then close the Summary Metrics dialog.
  • Publish the project to production.
queryParameters
limit
integer <int32>

The limit of analytic tenant details to retrieve.

start
integer <int32>

The index to start retrieving results from, also known as offset. The index begins at 0.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ],
  • "limit": 0,
  • "start": 0
}

Validate an analytic tenant's metric values

Retrieve the metric values for an individual analytic tenant. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project:

  • Sign in to Visier as an administrator.
  • In a project, on the navigation bar, click the Home button.
  • Click Dashboard, and then click Edit Summary Metrics.
  • Select the metrics that you want to validate, and then close the Summary Metrics dialog.
  • Publish the project to production.
pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "tenantCode": "string",
  • "dataVersion": "string",
  • "dataVersionDate": "string",
  • "metrics": [
    ]
}

Consolidated Analytics

Manage your consolidated analytics (CA) tenants in Visier, such as retrieving the details of CA tenants, creating CA tenants, adding or deleting source tenants from CA tenants, and excluding sources from CA tenants.
Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Retrieve a list of all consolidated analytics tenants

Retrieve the full list of consolidated analytics tenants in your administrating tenant.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
limit
integer <int32>

The maximum number of tenants to return. The maximum value is 1000. Default is 400.

start
integer <int32>

The starting index of the first tenant to return. Default is 0.

Responses

Response samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Create a consolidated analytics tenant

Create a consolidated analytics tenant.

A new CA tenant has no source tenants and no excluded sources.

Note: CA tenant codes must have a prefix of CA. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

Request Body schema: application/json
required
tenantCode
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

Responses

Request samples

Content type
application/json
{
  • "tenantCode": "string"
}

Response samples

Content type
application/json
{
  • "tenantCode": "string"
}

Retrieve the details of all consolidated analytics tenants

Retrieve the full list of consolidated analytics tenants and their details in your administrating tenant.

Note: If your consolidated analytics tenants have thousands of source tenants, we recommend that you use the GET /admin/consolidated-analytics/tenants endpoint to get all CA tenants and then use the GET /admin/consolidated-analytics/tenants/{tenantId}/source-tenants and GET /admin/consolidated-analytics/tenants/{tenantId}/excluded-sources endpoints to retrieve information about specific CA tenants.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
limit
integer <int32>

The maximum number of tenants to return. The maximum value is 1000. Default is 400.

start
integer <int32>

The starting index of the first tenant to return. Default is 0.

Responses

Response samples

Content type
application/json
{
  • "tenants": [
    ]
}

Retrieve a consolidated analytics tenant's excluded sources

Retrieve a CA tenant's excluded sources.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

Responses

Response samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Set a consolidated analytics tenant's excluded sources

Define the excluded sources for a consolidated analytics tenant.

After you create a CA tenant, you may optionally define a list of excluded sources. The excluded sources are the sources whose data is excluded from the CA tenant. You can also use this API to replace the list of excluded sources for an existing CA tenant.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

Request Body schema: application/json
required
excludedSources
Array of strings

A list of a CA tenant's excluded sources.

Responses

Request samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Response samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Remove excluded sources from a consolidated analytics tenants

Remove excluded sources from the list of excluded sources for a consolidated analytics tenant.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

Request Body schema: application/json
required
excludedSources
Array of strings

A list of a CA tenant's excluded sources.

Responses

Request samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Response samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Add excluded sources to a consolidated analytics tenant

Add excluded sources to the list of excluded sources for a consolidated analytics tenant.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

Request Body schema: application/json
required
excludedSources
Array of strings

A list of a CA tenant's excluded sources.

Responses

Request samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Response samples

Content type
application/json
{
  • "excludedSources": [
    ]
}

Retrieve a consolidated analytics tenant's source tenants

Retrieve a CA tenant's source tenants.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

queryParameters
limit
integer <int32>

The maximum number of source tenants to return. The maximum value is 1000. Default is 400.

start
integer <int32>

The starting index of the first source tenant to return. Default is 0.

Responses

Response samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Set a consolidated analytics tenant's source tenants

Define the source tenants for a consolidated analytics tenant.

After you create a CA tenant, you must define a list of its source tenants. The source tenants are the tenants whose data is aggregated in the CA tenant. You can also use this API to replace the list of source tenants for an existing CA tenant.

If successful, the response returns an updated list of source tenants.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

queryParameters
limit
integer <int32>

The maximum number of source tenants to return. The maximum value is 1000. Default is 400.

Request Body schema: application/json
required
tenantCodes
Array of strings

A list of a CA tenant's source tenants codes. The maximum length is 1000.

Responses

Request samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Remove source tenants from a consolidated analytics tenants

Remove source tenants from the list of source tenants for a consolidated analytics tenant.

If successful, the response returns an updated list of source tenants.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

queryParameters
limit
integer <int32>

The maximum number of source tenants to return. The maximum value is 1000. Default is 400.

Request Body schema: application/json
required
tenantCodes
Array of strings

A list of a CA tenant's source tenants codes. The maximum length is 1000.

Responses

Request samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Add source tenants to a consolidated analytics tenant

Add source tenants to the list of source tenants for a consolidated analytics tenant.

If successful, the response returns an updated list of source tenants.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
tenantId
required
string

The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.

queryParameters
limit
integer <int32>

The maximum number of source tenants to return. The maximum value is 1000. Default is 400.

Request Body schema: application/json
required
tenantCodes
Array of strings

A list of a CA tenant's source tenants codes. The maximum length is 1000.

Responses

Request samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

Response samples

Content type
application/json
{
  • "tenantCodes": [
    ]
}

System Status

Check the health and status of Visier's platform and services.

Check the overall current status of Visier's systems

Check the current overall status of Visier's systems.

The overall status is one of:

  • UP : All systems are operational.
  • DOWN: At least one system is not fully operational.
headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "overall": "string"
}

Check the overall current status of Visier's systems

Check the current overall status of Visier's systems.

The overall status is one of:

  • UP : All systems are operational.
  • DOWN: At least one system is not fully operational.
headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "overall": "string"
}

Sources

Export and import sources in Visier.
Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication.If you are interested in using this API, please contact your Customer Success Manager (CSM).

Perform an operation on all sources

Perform operations on all sources. The following operations are supported:

  • exportSources: Export a ZIP file that contains a list of all sources in the application.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
operation
string <enum>
Enum: "unknownSourcesAPIOperation" "exportSources"

The operation to perform. Valid values:

  • exportSources: Export all sources from the tenant. If successful, a ZIP file is returned containing a compressed JSON file with the sources.

Responses

Request samples

Content type
application/json
{
  • "operation": "unknownSourcesAPIOperation"
}

Response samples

Content type
application/json
{ }

Import a list of sources

Import a list of sources in ZIP format. The file must be an export from POST /v1alpha/admin/sources. Use this API after making changes in a development environment to copy the changes to a draft project in your production environment.


Note: This API is in beta. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
replaceAllExistingSources
boolean

If false, adds the sources from the ZIP to the sources in the target tenant. If true, removes all sources in the target tenant and adds the sources from the ZIP. Default is false.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/zip
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "summary": {
    }
}

Data Model

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

Retrieve a list of analytic objects

Retrieve all the analytic objects in your Visier solution.

queryParameters
id
Array of strings

The IDs of the analytic objects to retrieve. Default is all analytic objects.

objectType
string

The object type to filter the returned analytic objects by.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "analyticObjects": [
    ]
}

Retrieve an analytic object by ID

If you know the ID of an analytic object, use this API to retrieve that object specifically.

pathParameters
id
required
string

The ID of the analytic object to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "type": "SUBJECT",
  • "dataStartDate": "string",
  • "dataEndDate": "string",
  • "propertyIds": [
    ],
  • "dimensionIds": [
    ],
  • "selectionConceptIds": [
    ],
  • "objectReferences": [
    ],
  • "populationConfiguration": {
    }
}

Retrieve a list of metrics for an analytic object by ID

If you know the ID of an analytic object, use this API to retrieve metrics for that object specifically.

pathParameters
id
required
string

The ID of the analytic object to retrieve metrics for.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "metrics": [
    ]
}

Retrieve a list of dimensions

Retrieve a list of dimensions for a specific analytic object.

pathParameters
objectId
required
string

The ID of the analytic object to retrieve.

queryParameters
id
Array of strings

The IDs of the dimensions to retrieve. Default is all dimensions.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "dimensions": [
    ]
}

Validate a member map's unmapped dimension members by ID

If you know the ID of a member map, use this API to validate one of the member map's dimensions. You must also know the dimension's ID and the analytic object's ID. 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.

pathParameters
objectId
required
string

The ID of the analytic object.

dimensionId
required
string

The ID of a dimension of the member map.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
memberMapId
string

memberMapId == dimensionMapId

analyticObject
string

the analytic object associated with the dimension map

Responses

Request samples

Content type
application/json
{
  • "memberMapId": "string",
  • "analyticObject": "string"
}

Response samples

Content type
application/json
{
  • "dimensionMapId": "string",
  • "dimensionId": "string",
  • "unmappedMembers": [
    ],
  • "failures": [
    ]
}

Retrieve a list of dimension members

If you know the ID of a dimension, use this API to retrieve the members of that dimension specifically. You must also know the analytic object's ID. Dimension members exist in a hierarchy. The levels in the hierarchy may be fixed or non-uniform. Leveled dimensions have fixed hierarchies, while parent-child dimensions have non-uniform levels. When you retrieve dimension members with this API, the response returns the level of the dimension and the path to get to that level. For example, in a Location dimension, Vancouver is 3 levels deep:

  • All > Canada > British Columbia > Vancouver

Parent-child hierarchies are non-uniform and exhibit distinct characteristics such as time dependence and data attributes. These traits reflect the dynamic nature of hierarchies, for example, organizational hierarchies. The API response includes elements that express the validity ranges for retrieved members.

pathParameters
objectId
required
string

The ID of the analytic object.

dimensionId
required
string

The ID of the dimension.

queryParameters
id
Array of strings

The IDs of the members to retrieve. Default is all members.

maxLevel
integer <int32>

The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels.

filter
string

A regular expression that members must match to be retrieved. Default is to retrieve all members.

field
string

Indicates the aspect of the member to apply the filter to. Possible values are:

  • id: Match the filter to the member ID.
  • display: Match the filter to the member's display name.
  • either: Match the filter to the member ID or display name.

Default is id.

includeDataMembers
boolean

Indicates whether data members are included in the response. Parent-child dimensions only. Default is false.

offset
integer <int32>

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.

limit
integer <int32>

For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the limit value is specified to a non-default value, all other non-pagination parameters are ignored.

sortType
string

The order of the members in the response. Valid values:

  • configured: Sorts the members according to their configuration; for example, the configured order of dimension members in the studio experience.
  • natural: Sorts the members by their natural order; for example, sorted in ascending order by level in a parent-child dimension.

Default is natural.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "members": [
    ]
}

Retrieve a dimension member

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.

pathParameters
objectId
required
string

The ID of the analytic object.

dimensionId
required
string

The ID of the dimension.

id
required
string
queryParameters
Id
string

The ID of the member to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "members": [
    ]
}

Retrieve a dimension by ID

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.

pathParameters
objectId
required
string

The ID of the analytic object to retrieve.

id
required
string

The ID of the dimension to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "levels": [
    ],
  • "unknownMember": [
    ],
  • "memberCount": 0,
  • "visibleInApp": true,
  • "tags": [
    ],
  • "explanation": "string"
}

Retrieve a list of properties

Retrieve a list of properties for a specific analytic object.

pathParameters
objectId
required
string

The ID of the analytic object to retrieve.

queryParameters
id
Array of strings

The IDs of the properties to retrieve. Default is all properties.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "properties": [
    ]
}

Retrieve a property by ID

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..

pathParameters
objectId
required
string

The ID of the analytic object to retrieve.

id
required
Array of strings

The ID of the property to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "dataType": "string",
  • "primitiveDataType": "string",
  • "parameters": [
    ],
  • "tags": [
    ],
  • "explanation": "string"
}

Retrieve an analytic object's selection concepts

Retrieve a list of selection concepts for a specific analytic object.

pathParameters
objectId
required
string

The ID of the analytic object to retrieve.

queryParameters
id
Array of strings

The IDs of the selection concepts to retrieve. Default is all selection concepts.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "selectionConcepts": [
    ]
}

Retrieve an analytic object's selection concept by ID

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.

pathParameters
objectId
required
string

The ID of the analytic object to retrieve.

id
required
string

The ID of the selection concept to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "visibleInApp": true,
  • "tags": [
    ],
  • "explanation": "string"
}

Retrieve all currencies

Retrieve all the available currencies in your Visier solution.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "currencies": [
    ]
}

Retrieve a currency

Retrieve a specific currency if you know the currency code.

pathParameters
id
required
string

The ISO 4217 3-letter code for the currency.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "currencyCode": "string",
  • "displayName": "string",
  • "symbol": "string",
  • "shortSymbol": "string"
}

Retrieve all exchange rates for a currency

Retrieve exchange rates for a specific currency from Visier. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to.

pathParameters
id
required
string

The ISO 4217 3-letter code for the currency to get rates for.

queryParameters
startTime
string

The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.

endTime
string

The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.

decimals
string

The number of decimals to round exchange rates to. Default is to round to 2 decimal places.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "currencyRates": [
    ]
}

Retrieve exchange rates from one currency to another currency

Retrieve exchange rates from a specific currency to another specific currency. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to.

pathParameters
id
required
string

The ISO 4217 3-letter code for the currency to convert from.

toId
required
string

The ISO 4217 3-letter code for the currency to convert to.

queryParameters
startTime
string

The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.

endTime
string

The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.

decimals
string

The number of decimals to round exchange rates to. Default is to round to 2 decimal places.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "currencyRates": [
    ]
}

Update dimensions

Change the display name, short display name, and description of one or more dimensions. This API supports updating leveled dimensions. In each API request, update up to 10 dimensions per tenant with a maximum of 500 tenants.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (DimensionChangeDefinitionsByTenantDTO)

The dimension updates to make in each tenant.

Responses

Request samples

Content type
application/json
{
  • "dimensionsByTenant": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Retrieve a list of metrics

Retrieve all the metrics in your Visier solution.

queryParameters
id
Array of strings

The IDs of the metrics to retrieve. Default is all metrics.

category
string

The category to filter the returned metrics by.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "metrics": [
    ]
}

Retrieve a metric by ID

If you know the ID of a metric, use this API to retrieve that metric specifically.

pathParameters
id
required
string

The ID of the metric to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "dataStartDate": "string",
  • "dataEndDate": "string",
  • "analyticObjectId": "string",
  • "parameters": [
    ],
  • "category": "REGULAR",
  • "visibleInApp": true
}

Retrieve a metric's dimensions

Retrieve a list of dimensions for a specific metric.

pathParameters
metricId
required
string

The ID of the metric to retrieve.

queryParameters
id
Array of strings

The IDs of the dimensions to retrieve. Default is all dimensions.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "dimensions": [
    ]
}

Retrieve a metric's selection concepts

Retrieve a list of selection concepts for a specific metric.

pathParameters
metricId
required
string

The ID of the metric to retrieve.

queryParameters
id
Array of strings

The IDs of the selection concepts to retrieve. Default is all selection concepts.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "selectionConcepts": [
    ]
}

Retrieve a list of planning models

Retrieve all the planning models you have access to.

queryParameters
id
Array of strings

The IDs of the planning models to retrieve. Default is all models.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "models": [
    ]
}

Retrieve a planning model by ID

Retrieve a specific planning model you have access to.

pathParameters
id
required
string

The ID of the planning model to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string"
}

Retrieve metrics by planning model ID

Retrieve all the metrics you have access to for a planning model.

pathParameters
id
required
string

The ID of the planning model to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "metrics": [
    ]
}

Retrieve a list of plans by planning model ID

Retrieve all the plans you have access to for a planning model.

pathParameters
modelId
required
string

The ID of the planning model to retrieve.

queryParameters
id
Array of strings

The IDs of the plans to retrieve. Default is all plans.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "plans": [
    ]
}

Retrieve a plan by planning model ID and plan ID

Retrieve a specific plan that you have access to in a planning model.

pathParameters
modelId
required
string

The ID of the planning model to retrieve.

id
required
string

The ID of the plan to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "subjectId": "string",
  • "defaultContexts": [
    ],
  • "planDimensionIds": [
    ],
  • "scenarios": [
    ],
  • "snapshots": [
    ]
}

Retrieve a list of predictions

Retrieve all the predictions in your Visier solution.

queryParameters
id
Array of strings

The IDs of the predictions to retrieve. Default is all predictions.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "predictions": [
    ]
}

Retrieve a prediction by ID

If you know the ID of a prediction, use this API to retrieve that prediction specifically.

pathParameters
id
required
string

The ID of the prediction to retrieve.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "subject": "string",
  • "subjectKey": "string",
  • "subjectParentKey": "string",
  • "subjectFilter": "string",
  • "event": "string",
  • "eventFilter": "string",
  • "labelProperty": "string",
  • "factorProperties": [
    ],
  • "factorDimensions": [
    ],
  • "factorConcepts": [
    ],
  • "dataStartDate": "string",
  • "dataEndDate": "string",
  • "scoreName": "string",
  • "factorsName": "string",
  • "minimumTrainingMonths": "string",
  • "isMultiTenant": true
}

Update properties

Change the display name, short display name, and description of one or more properties. In each API request, update up to 10 properties per tenant with a maximum of 500 tenants.

headerParameters
TargetTenantID
string

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.

ProjectID
string <uuid>

Optionally, specify a project in which to make the request.

Request Body schema: application/json
required
Array of objects (PropertyChangeDefinitionsByTenantDTO)

The property updates to make in each tenant.

Responses

Request samples

Content type
application/json
{
  • "propertiesByTenant": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Retrieve a list of plans

Retrieve all the plans you have access to. The response returns plan information you can use to call the Planning Data Load API.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

queryParameters
displayName
string

Returns plans that match the specified display name. Ignores text case and includes partial matches. For example, displayName=WFP Plan returns plans named "WFP Plan 2024", "WFP plan v1", and "WFP plan - Product".

model
string

Returns plans that belong to the specified planning model ID.

planStatus
string

Returns plans with the specified plan status. Valid values:

  • ASSIGNED: The subplan has been assigned to a subplanner.
  • IN_PROGRESS: The subplanner has opened the subplan.
  • OVERDUE: The subplan was not completed on time.
  • SUBMITTED: The subplan has been submitted for review.
  • SENT_BACK: The subplan was rejected and returned to the subplanner for editing.
  • CONSOLIDATED: The subplan has been accepted and combined into the primary plan.
createdStart
string

Returns plans created on or after this date. The format is YYYY-MM-DD.

createdEnd
string

Return plans created on or before this date. The format is YYYY-MM-DD.

editedStart
string

Returns plans edited on or after this date. The format is YYYY-MM-DD.

editedEnd
string

Returns plans edited on or before this date. The format is YYYY-MM-DD.

orderBy
string

Orders plan results by the specified value. Valid values:

  • LAST_EDITED_DATE: Orders plans by the last edited date. This is the default.
  • CREATED_DATE: Orders plans by the creation date.
  • PLAN_MODEL: Orders plans alphabetically by planning model.
sortOrder
string

Sorts plan results by the specified value. Valid values are ASCENDING or DESCENDING. Default is DESCENDING.

excludeSubplans
boolean

If true, the response doesn't return subplans. Default is true.

maxResults
string

Sets the maximum number of results to return per page. Default is 50.

page
string

Sets the results page to return. If undefined, returns the first 50 results. To get the next 50 results, specify page=2.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "plans": [
    ],
  • "page": 0
}

Retrieve a plan's details

Retrieve the details of a specific plan. The response returns plan information you can use to call the Planning Data Load API.


Note: This API is in alpha. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM).

pathParameters
id
required
string

The unique identifier of the plan.

queryParameters
withSchema
boolean

If true, the response returns the plan's schema. Default is false.

segmentIdFilter
string

If defined, returns segment levels and members for the specified segment.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "plan": {
    },
  • "schema": {
    }
}

Object Configuration

Manage objects in your analytic model.

Retrieve all calculation concepts

Retrieve the calculation concepts available in production.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "concepts": [
    ]
}

Retrieve the configuration of a calculation concept

Retrieve the configuration details of a calculation concept in production.

pathParameters
conceptId
required
string

The ID of the concept to retrieve the configuration for.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "configuration": {
    }
}

Map dimension members to nodes in a calculation concept

Map dimension members to nodes in a calculation concept. The changes are applied in a new project and published to production.

The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed.

pathParameters
conceptId
required
string

The UUID of the concept to configure.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (PerspectiveConfigurationDTO)

A list of objects representing the list of perspectives in the calculation concept.

Responses

Request samples

Content type
application/json
{
  • "perspectivesToMap": [
    ]
}

Response samples

Content type
application/json
{
  • "conceptId": "string",
  • "projectId": "string",
  • "message": "string"
}

Retrieve all selection concepts

Retrieve the selection concepts available in production.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "concepts": [
    ]
}

Retrieve the configuration of a selection concept

Retrieve the configuration details of a selection concept in production.

pathParameters
conceptId
required
string

The ID of the concept to retrieve the configuration for.

headerParameters
TargetTenantID
string

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.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "description": "string",
  • "visibleInApp": true,
  • "tags": [
    ],
  • "explanation": "string"
}

Map dimension members to a selection concept

Map dimension members to a selection concept. The changes are applied to a new project and published to production.

The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed.

pathParameters
conceptId
required
string

The UUID of the concept to configure.

headerParameters
TargetTenantID
string

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.

Request Body schema: application/json
required
Array of objects (AnalyticObjectFilterDTO)

A list of analytic object filters indicating the analytic object and dimension members used for the selection concept.

Note: If this array is empty, all filters will be removed for the concept.

Responses

Request samples

Content type
application/json
{
  • "analyticObjectFiltersToMap": [
    ]
}

Response samples

Content type
application/json
{
  • "conceptId": "string",
  • "projectId": "string",
  • "message": "string"
}

Jobs Library

Access over 3,300 standard jobs and get complete details in 27 languages, such as alternative titles, descriptions, and skills.

Get job details by ID

If you know the ID of a job, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, alternative names, and skills.

Authorizations:
api_key
pathParameters
id
required
string

The ID of the job to retrieve details for.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "iscoCode": "string",
  • "socCode": "string",
  • "alternativeTitles": [
    ],
  • "essentialSkills": [
    ],
  • "optionalSkills": [
    ],
  • "remoteIndex": 0,
  • "automationIndex": 0
}

Retrieve a list of jobs

Use this endpoint to retrieve all the jobs in Visier's Jobs Library.

Authorizations:
api_key
headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search jobs

Retrieve a list of jobs that match a specified search term.

Authorizations:
api_key
queryParameters
term
required
string

The term to search for. The search term must be URL encoded and the minimum length is 3 characters.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Standardize custom job titles

Find the top standardized job matches for any custom job title and optional NAICS code.

Authorizations:
api_key
Request Body schema: application/json
required

The custom job titles that you want to retrieve standardized jobs for and the optional NAICS code to retrieve industry specific jobs.

The minimum length is 3 characters and the maximum length is 100 characters. You can submit up to 10 custom job titles per request.

terms
required
Array of strings

A list of input search terms. The job members that are the most semantically similar to the search term are returned with the most relevant job members displayed first. Your search term may not be included in the results as semantic search goes beyond keyword matching and attempts to interpret the meaning behind the query to provide search results.

The maximum number of search terms is 30.

For the individual search term, the minimum length is 3 characters and the maximum length is 100 characters.

naicsCode
string

The North American Industry Classification System (NAICS) code.

If naicsCode is provided, the most relevant job titles associated with the naicsCode are returned first.

numMatches
integer
Default: 5

The number of top matches to retrieve.

semanticOnly
boolean
Default: false

If true, only semantic search will be used to find matches. Ensure the parameter lexicalOnly is set to false. Default is false. By default, both semantic and lexical search are used to find matches.

lexicalOnly
boolean
Default: false

If true, only lexical search will be used to find matches. Ensure the parameter semanticOnly is set to false. Default is false. By default, both semantic and lexical search are used to find matches.

Responses

Request samples

Content type
application/json
{
  • "terms": [
    ],
  • "naicsCode": "string",
  • "numMatches": 5,
  • "semanticOnly": false,
  • "lexicalOnly": false
}

Response samples

Content type
application/json
[
  • {
    }
]

Skills Library

Access over 14,000 skills and get complete skill details in 27 languages, such as alternative titles, descriptions, and hierarchies.

Get skill details by ID

If you know the ID of a skill, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, and alternative names.

Authorizations:
api_key
pathParameters
id
required
string

The ID of the skill to retrieve details for.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "skillGroupId": "string",
  • "skillCategoryId": "string",
  • "isKnowledge": true,
  • "skillType": "string",
  • "alternativeTitles": [
    ],
  • "remoteIndex": 0,
  • "automationIndex": 0
}

Retrieve a list of skills

Use this endpoint to retrieve all skills in Visier's Skills Library.

Authorizations:
api_key
queryParameters
skillGroupId
string

Filter only skills that belong to a certain skill group.

skillCategoryId
string

Filter only skills that belong to a certain skill category.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search skills

Retrieve a list of skills that match a specified search term.

Authorizations:
api_key
queryParameters
term
required
string

The term to search for. The search term must be URL encoded and the minimum length is 3 characters.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Extract skills from text

Extract the relevant skills from text such as job descriptions and course outlines.

Authorizations:
api_key
headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Request Body schema: application/json

The text to extract skills from.

The minimum length is 4 characters and the maximum length is 7500 characters.

content
required
string [ 4 .. 7500 ] characters

The body of text to extract skills from.

The maximum length is 7500 characters. The minimum length is 4 characters.

languageCode
string

Identifies the language of the input text.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is used.

limit
integer [ 1 .. 50 ]

The limit on the number of skills extracted from the text. The minimum is 1 and the maximum is 50 skills.

If no value is specified, the default limit of 10 skills is used.

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "languageCode": "string",
  • "limit": 1
}

Response samples

Content type
application/json
[
  • {
    }
]

Match a skill set to a group of skill sets (targets)

Find the best match between a skill set and a group of skill sets (targets). The response returns a ranking of the targets with the best match appearing at the top of the list.

Authorizations:
api_key
Request Body schema: application/json

The skill set and the group of skill sets (targets) to be matched. The skills included in each skill set are entered in the following format [skill_id, score]. The score represents how prevalent the skill was in the source and is used as a weighting factor when determining the best match.

Array of strings or integers non-empty unique[ items = 2 items ]
Example: "21795,85,19391,50,21577,40"

The skills that make up the skill set that will be matched against a group of skill sets (targets).

Array of Array of any or Array of any non-empty[ items non-empty[ items = 2 items ] ]
Example: "21795,75,19391,70,21577,40,15812,90,16835,88,30645,76,21577,90,19391,67,19237,66"

A comma-separated list of strings that represent the group of skill sets (targets).

Responses

Request samples

Content type
application/json
{
  • "skillSet": [
    ],
  • "targetSkillSets": [
    ]
}

Response samples

Content type
application/json
[
  • 0,
  • 2,
  • 1
]

Get skill group details by ID

If you know the ID of a skill group, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, and alternative names.

Authorizations:
api_key
pathParameters
id
required
string

The ID of the skill group to retrieve details for.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "skillCategoryId": "string",
  • "skills": [
    ]
}

Retrieve a list of skill groups

Use this endpoint to retrieve all skill groups in Visier's Skills Library.

Authorizations:
api_key
queryParameters
skillCategoryId
string

Filter only skills that belong to a certain skill category.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get skill category details by ID

If you know the ID of a skill category, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, and alternative names.

Authorizations:
api_key
pathParameters
id
required
string

The ID of the skill category to retrieve details for.

headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "skillGroups": [
    ]
}

Retrieve a list of skill categories

Use this endpoint to retrieve all skill categories in Visier's Skills Library.

Authorizations:
api_key
headerParameters
Accept-Language
string

Allows you to specify if you want the output to be in one of the accepted languages.

Format: ISO 639-1 language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.

If no value is specified, the response language is English.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Benchmarks

Get benchmark values.

Get base salary benchmark value

Retrieve the base salary benchmark value.

Authorizations:
api_key
queryParameters
job
required
string

The job member ID.

industry
string

The industry member ID. If the ID is not provided, the response returns the benchmark value across all industries.

naicsCode
string

The North American Industry Classification System (NAICS) code.

If the NAICS code is not provided, the response returns the benchmark value across all industries. If both naicsCode and industry are provided, the response returns the benchmark value for the industry parameter. The entered naicsCode will not be applied.

location
string

The location member ID. If the ID is not provided, the response returns the benchmark value across all locations.

companySize
string

The company size member ID. If the ID is not provided, the response returns the benchmark value across all company sizes.

careerLevel
string

The career level member ID. If the ID is not provided, the response returns the benchmark value across all career levels.

Responses

Response samples

Content type
application/json
{
  • "percentile10": 0,
  • "percentile25": 0,
  • "percentile50": 0,
  • "percentile75": 0,
  • "percentile90": 0,
  • "alignedRangeMin": 0,
  • "alignedRangeMax": 0,
  • "referenceDate": "string",
  • "releaseDate": "string",
  • "industryId": "string"
}

Get salary benchmark values in bulk

Retrieve multiple base salary benchmark values in a single request.

Authorizations:
api_key
Request Body schema: application/json
required

A batch request takes a JSON object consisting of an array of your requests. You can batch up to 1000 individual requests in one API call.

Array
uuid
required
string

A unique identifier of the individual requests.

job
required
string

The job member ID.

industry
string

The industry member ID. If the ID is not provided, the response returns the benchmark value across all industries.

naicsCode
string

The North American Industry Classification System (NAICS) code.

If the NAICS code is not provided, the response returns the benchmark value across all industries. If both naicsCode and industry are provided, the response returns the benchmark value for the industry parameter. The entered naicsCode will not be applied.

location
string

The location member ID. If the ID is not provided, the response returns the benchmark value across all locations.

companySize
string

The company size member ID. If the ID is not provided, the response returns the benchmark value across all company sizes.

careerLevel
string

The career level member ID. If the ID is not provided, the response returns the benchmark value across all career levels.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Get benchmark metadata

Retrieve metadata that summarizes the benchmark dataset and API such as the release date.

Authorizations:
api_key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dimensions

Discover dimensions and members.

A dimension organizes unique values of an attribute into a list or a hierarchical structure of members. The structure can be navigated to discover the members, and the members can be used to look up benchmark values.

Get jobs

Retrieve a list of all the jobs in Visier's ontology.

Authorizations:
api_key
queryParameters
hierarchy
string

The ID of the job hierarchy to navigate.

If not provided, Visier's default job hierarchy is used. In the default hierarchy, jobs are organized into three levels with domain and subdomain groupings.

parent
string

The ID of the parent member.

If the ID is provided, the response returns the immediate children of the parent member.

To get the top-level members, use the value root.

Member availability and the parent-child relationship depends on the selected hierarchy. Please refer to the hierarchy parameter.

term
string

The input search term. The job members that are the most semantically similar to the search term are returned with the most relevant job members displayed first. Your search term may not be included in the results as semantic search goes beyond keyword matching and attempts to interpret the meaning behind the query to provide search results.

The minimum length is 3 characters and the maximum length is 100 characters.

The search term must be URL encoded.

naicsCode
string

The North American Industry Classification System (NAICS) code.

If naicsCode is provided, term is required. The most relevant job members associated with the naicsCode are returned first.

hasBenchmarkValue
boolean

Filter members based on the availability of benchmark values. If true, members with benchmark values are returned. If false, members without benchmark values are returned. If no value is specified, all members are returned.

semanticOnly
boolean

If true, only semantic search will be used to find matches. Ensure the parameter lexicalOnly is set to false. Default is false. By default, both semantic and lexical search are used to find matches.

lexicalOnly
boolean

If true, only lexical search will be used to find matches. Ensure the parameter semanticOnly is set to false. Default is false. By default, both semantic and lexical search are used to find matches.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Standardize custom job titles in bulk

Find the top standardized job matches for any custom job title and optional NAICS code in bulk.

Authorizations:
api_key
Request Body schema: application/json
required

The custom job titles that you want to retrieve standardized jobs for, the optional NAICS code to retrieve industry specific jobs, and the optional number of top matches to retrieve.

By default, both semantic and lexical search are used to find matches. If you want to use a specific search method, set one of the parameters semanticOnly or lexicalOnly to true. Default for semanticOnly and lexicalOnly are false.

The minimum custom job title length is 3 characters and the maximum length is 100 characters. You can submit up to 30 custom job titles per request.

The default number of top matches returned is 5.

terms
required
Array of strings

A list of input search terms. The job members that are the most semantically similar to the search term are returned with the most relevant job members displayed first. Your search term may not be included in the results as semantic search goes beyond keyword matching and attempts to interpret the meaning behind the query to provide search results.

The maximum number of search terms is 30.

For the individual search term, the minimum length is 3 characters and the maximum length is 100 characters.

naicsCode
string

The North American Industry Classification System (NAICS) code.

If naicsCode is provided, the most relevant job titles associated with the naicsCode are returned first.

numMatches
integer
Default: 5

The number of top matches to retrieve.

semanticOnly
boolean
Default: false

If true, only semantic search will be used to find matches. Ensure the parameter lexicalOnly is set to false. Default is false. By default, both semantic and lexical search are used to find matches.

lexicalOnly
boolean
Default: false

If true, only lexical search will be used to find matches. Ensure the parameter semanticOnly is set to false. Default is false. By default, both semantic and lexical search are used to find matches.

Responses

Request samples

Content type
application/json
{
  • "terms": [
    ],
  • "naicsCode": "string",
  • "numMatches": 5,
  • "semanticOnly": false,
  • "lexicalOnly": false
}

Response samples

Content type
application/json
[
  • {
    }
]

Get job hierarchies

Retrieve a list of all hierarchies used to organize jobs.

Authorizations:
api_key
queryParameters
naicsCode
string

The North American Industry Classification System (NAICS) code.

If provided, the response returns the hierarchies associated with the code.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search jobs by IDs

Retrieve a matching job for each specified job ID.

Authorizations:
api_key
Request Body schema: application/json
required

The job IDs that you want to retrieve a job match.

jobIDs
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "jobIDs": [
    ]
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Send feedback to help improve the quality of the job match results

This API allows you to submit feedback on the quality of the job match results returned by the Get jobs endpoint.

You must include the search term (job title you entered) in the request body. You can include the optional naicsCode if it was used as part of the search in the Get jobs endpoint.

You can also submit additional comments by providing values for additionalComments, along with term and naicsCode.

Note:

For term, the minimum is 3 characters and the maximum is 100 characters.

For additionalComments, the maximum is 150 characters.

Authorizations:
api_key
Request Body schema: application/json
required

The feedback you want to submit for.

Ensure to include the mandatory fields: search term (term).

term
required
string

The search term (job title) you entered when using the Get jobs endpoint. You're providing feedback on the quality of the search results for this term. This field is required. The minimum is 3 characters and the maximum is 100 characters.

naicsCode
string

If provided, the naicsCode entered when using the Get jobs endpoint. You're providing feedback on the quality of the results for the search term and code.

additionalComments
string

Additional written feedback about the job match results returned by the Get jobs endpoint. The maximum is 150 characters.

Responses

Request samples

Content type
application/json
{
  • "term": "string",
  • "naicsCode": "string",
  • "additionalComments": "string"
}

Response samples

Content type
application/json
{
  • "errorCode": "string",
  • "message": "string",
  • "rci": "string"
}

Get industries

Retrieve a list of all available industries.

Authorizations:
api_key
queryParameters
parent
string

The ID of the parent member.

If the ID is provided, the response returns the immediate children of the parent member.

To get the top-level members, use the value root.

naicsCode
string

The North American Industry Classification System (NAICS) code.

If provided, the response returns the best matching member associated with the code.

hasBenchmarkValue
boolean

Filter members based on the availability of benchmark values. If true, members with benchmark values are returned. If false, members without benchmark values are returned. If no value is specified, all members are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get locations

Retrieve a list of all available locations.

Authorizations:
api_key
queryParameters
parent
string

The ID of the parent member.

If the ID is provided, the response returns the immediate children of the parent member.

To get the top-level member, use the value root.

countryCode
string

The ISO 3166-1 country code to look up. Returns location members that match the country code.

Currently, the only supported country code is US.

postalCode
string

Postal code to look up. If postalCode is provided, countryCode is required. Returns location members that match both the country code and postal code.

hasBenchmarkValue
boolean

Filter members based on the availability of benchmark values. If true, members with benchmark values are returned. If false, members without benchmark values are returned. If no value is specified, all members are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get location members in bulk

Retrieve location members in bulk by country code and postal code.

Authorizations:
api_key
Request Body schema: application/json
required

A list of requests that contain a combination of country and postal codes to look up. Returns location members that match both codes.

required
Array of objects (LocationSearchInput)
hasBenchmarkValue
boolean

Filter members based on the availability of benchmark values. If true, members with benchmark values are returned. If false, members without benchmark values are returned. If no value is specified, all members are returned.

Responses

Request samples

Content type
application/json
{
  • "searchInputs": [
    ],
  • "hasBenchmarkValue": true
}

Response samples

Content type
application/json
{
  • "successes": [
    ],
  • "failures": [
    ]
}

Get company sizes

Retrieve a list of all available company sizes.

Authorizations:
api_key
queryParameters
headcount
integer

The number of employees.

If provided, the response returns the members with the same headcount.

hasBenchmarkValue
boolean

Filter members based on the availability of benchmark values. If true, members with benchmark values are returned. If false, members without benchmark values are returned. If no value is specified, all members are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get career levels

Retrieve a list of all available career levels.

Authorizations:
api_key
queryParameters
job
string

The job member ID.

If provided, the response returns the members for the job.

hasBenchmarkValue
boolean

Filter members based on the availability of benchmark values. If true, members with benchmark values are returned. If false, members without benchmark values are returned. If no value is specified, all members are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]