Dimensions API Code Samples
Selection of code samples that demonstrate the use of the Dimensions API. Copy and edit these code samples to suit your needs.
When using the code samples, remember to replace:
- {vanity_name} with your tenant name
- {api_key} with your API key
- {security_token} with a valid security token
These code samples may not include all available parameters and request body fields for each endpoint. For the endpoint's full request schema, see "Dimensions V2" in API Reference.
Retrieve a list of dimensions
Use this sample request to retrieve all the dimensions for the Employee subject with detailed information. To get fewer details about the dimensions, omit the query parameter with=details. To get dimensions from all subjects, not just Employee, omit the query parameter analyticObjectName=Employee.
curl -X GET --url 'https://{vanity_name}.api.visier.io/v2alpha/data/model/dimensions?with=details&analyticObjectName=Employee' \
-H 'apikey:{api_key}' \
-H 'Cookie:VisierASIDToken={security_token}'
The response returns the details of all dimensions, including object names, dimension types, and descriptions.

{
"dimensions": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"dimension": {
"uuid": "0f025084-f068-4b08-ab09-cbc605787bc3",
"objectName": "Pay_Level",
"basicInformation": {
"displayName": "Job Pay Level",
"description": "The pay level or pay grade of the specified job."
},
"details": {
"leveled": {
"levelList": {
"levels": [
{
"objectName": "Pay_Level.Pay_Level",
"displayName": "Job Pay Level",
"description": "The pay level or pay grade of the specified job.",
"type": "Number",
"propertyDependencyList": {
"propertyDependencies": [
{
"analyticObjectName": "Managed_Position",
"propertyObjectName": "Pay_Level"
},
{
"analyticObjectName": "Employee",
"propertyObjectName": "Pay_Level"
}
]
}
}
]
},
"hideNullValues": false,
"enableLargeDimensionSearch": false,
"analyticObjectList": {
"analyticObjects": [
{
"objectName": "Managed_Position"
},
{
"objectName": "Employee"
}
]
}
}
},
"tagList": {
"tags": [
{
"objectName": "Organization_General"
}
]
},
"visibleInApp": true,
"includeWithVee": true
}
},
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"dimension": {
"uuid": "43634a65-1c91-3afe-a003-9d9b48847862",
"objectName": "Location",
"basicInformation": {
"displayName": "Location Hierarchy",
"description": "The hierarchy which aligns the organization's subjects with their geographical location."
},
"details": {
"leveled": {
"levelList": {
"levels": [
{
"objectName": "Location.Location_0",
"displayName": "Region",
"type": "String"
},
{
"objectName": "Location.Location_1",
"displayName": "Country",
"type": "String"
}
]
},
"hideNullValues": false,
"enableLargeDimensionSearch": false
}
},
"visibleInApp": true,
"includeWithVee": true
}
}
]
}
Retrieve a list of dimensions by analytic object
Use this sample request to retrieve all the dimensions for the Applicant Stage subject.
curl -X GET --url 'https://{vanity_name}.api.visier.io/v2alpha/data/model/dimensions/Applicant_Stage' \
-H 'apikey:{api_key}' \
-H 'Cookie:VisierASIDToken={security_token}'
The response returns the details of dimensions for the specified analytic object, including object names, dimension types, and descriptions.

{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"dimension": {
"uuid": "670422d4-1ff4-3b67-af82-a72cfe2ff5a8",
"objectName": "Applicant_Stage",
"basicInformation": {
"displayName": "Applicant Stage",
"description": "The current stage the applicant is in (e.g., Applied, Interviews Started, Selected)."
},
"details": {
"leveled": {
"levelList": {
"levels": [{
"objectName": "Applicant_Stage.Applicant_Status",
"displayName": "Applicant Status",
"description": "The status of the applicant (e.g., active or rejected).",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [{
"analyticObjectName": "Applicant",
"propertyObjectName": "Applicant.Applicant_Stage"
}]
},
"uuid": "304dc780-a359-4af2-822f-9802c47f17a9"
}, {
"objectName": "Applicant_Stage.Applicant_Stage",
"displayName": "Applicant Stage",
"description": "The current stage the applicant is in (e.g., Applied, Interviews Started, Selected).",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [{
"analyticObjectName": "Applicant",
"propertyObjectName": "Applicant.Applicant_Stage"
}]
},
"uuid": "5670ff2a-f256-4a7d-90bf-58b4953c0457"
}, {
"objectName": "Applicant_Stage.Applicant_Sub_Stage",
"displayName": "Applicant Sub-Stage",
"description": "The details of the applicant's progress within their current stage.",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [{
"analyticObjectName": "Applicant",
"propertyObjectName": "Applicant.Applicant_Stage"
}]
},
"uuid": "15ba54b9-cf16-4f27-bbae-c5136ab82d2b"
}]
},
"hideNullValues": false,
"enableLargeDimensionSearch": false,
"analyticObjectList": {
"analyticObjects": [{
"objectName": "Applicant"
}]
}
}
},
"visibleInApp": true,
"includeWithVee": true
}
}
Create dimensions
Use this sample request to create a new dimension. To publish the new dimension directly to production, omit the ProjectID header.
curl -X POST --url 'https://{vanity_name}.api.visier.io/v2alpha/data/model/dimensions' \
-H 'apikey:{api_key}' \
-H 'Cookie:VisierASIDToken={security_token}' \
-H 'ProjectID:{project_id}' \
-H 'Content-Type: application/json' \
-d '{
"dimensions": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"dimension": {
"objectName": "Employee.OrganizationalStructure",
"basicInformation": {
"displayName": "Organizational Structure",
"shortDisplayName": "Org Structure",
"description": "Employee organizational hierarchy",
"explanation": "This dimension represents employee positions within the organizational structure"
},
"details": {
"leveled": {
"levelList": {
"levels": [
{
"objectName": "OrgStructure.Division",
"displayName": "Division",
"description": "Top-level organizational division",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [
{
"analyticObjectName": "Employee",
"propertyObjectName": "Level1_Property"
}
]
}
}
]
},
"hideNullValues": false,
"enableLargeDimensionSearch": false
}
},
"visibleInApp": true,
"includeWithVee": false,
"tagList": {
"tags": [
{
"objectName": "Category_Leadership"
},
{
"objectName": "Assignment"
},
{
"objectName": "Category_Performance"
}
]
}
}
}
]
}'
The response returns whether the dimension was successfully created or not.

{
"successes": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"objectName": "Employee.OrganizationalStructure",
"uuid": "24a3b91c-1502-46be-8388-7fedb02f9705",
"displayName": "Organizational Structure"
}
],
"failures": []
}
Update dimensions
Use this sample request update an existing dimension's entire definition. To publish the update directly to production, omit the ProjectID header.
curl -X PUT --url 'https://{vanity_name}.api.visier.io/v2alpha/data/model/dimensions' \
-H 'apikey:{api_key}' \
-H 'Cookie:VisierASIDToken={security_token}' \
-H 'ProjectID:{project_id}' \
-H 'Content-Type: application/json' \
-d '{
"dimensions": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o'
},
"dimension": {
"objectName": "Employee.OrganizationalStructure",
"basicInformation": {
"displayName": "Organizational Structure",
"shortDisplayName": "Org Structure",
"description": "Employee organizational hierarchy",
"explanation": "This dimension represents employee positions within the organizational structure"
},
"details": {
"leveled": {
"levelList": {
"levels": [
{
"objectName": "OrgStructure.Division",
"displayName": "Division",
"description": "Top-level organizational division",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [
{
"analyticObjectName": "Employee",
"propertyObjectName": "Level1_Property"
}
]
}
},
{
"objectName": "OrgStructure.Department",
"displayName": "Department",
"description": "Department within division",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [
{
"analyticObjectName": "Employee",
"propertyObjectName": "Level2_Property"
}
]
}
}
]
},
"hideNullValues": false,
"enableLargeDimensionSearch": false
}
},
"visibleInApp": true,
"includeWithVee": false,
"tagList": {
"tags": [
{
"objectName": "Category_Leadership"
},
{
"objectName": "Assignment"
},
{
"objectName": "Category_Performance"
}
]
}
}
}
]
}'
The response returns whether the dimension was successfully updated or not.

{
"successes": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"objectName": "Employee.OrganizationalStructure",
"uuid": "24a3b91c-1502-46be-8388-7fedb02f9705",
"displayName": "Organizational Structure"
}
],
"failures": []
}
Partially update dimensions
Use this sample request update certain fields for an existing dimension. To publish the update directly to production, omit the ProjectID header.
curl -X PATCH --url 'https://{vanity_name}.api.visier.io/v2alpha/data/model/dimensions' \
-H 'apikey:{api_key}' \
-H 'Cookie:VisierASIDToken={security_token}' \
-H 'ProjectID:{project_id}' \
-H 'Content-Type: application/json' \
-d '{
"dimensions": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"dimension": {
"objectName": "Employee.OrganizationalStructure",
"basicInformation": {
"displayName": "Patched Organizational Structure",
"shortDisplayName": "Patched Org Structure",
"description": "Patched Employee organizational hierarchy",
"explanation": "This dimension represents patched employee positions within the organizational structure"
},
"details": {
"leveled": {
"levelList": {
"levels": [
{
"objectName": "OrgStructure.Department",
"displayName": "Department",
"description": "Department within division",
"type": "String",
"propertyDependencyList": {
"propertyDependencies": [
{
"analyticObjectName": "Employee",
"propertyObjectName": "Level2_Property"
}
]
}
}
]
},
"hideNullValues": false,
"enableLargeDimensionSearch": false
}
},
"visibleInApp": true,
"includeWithVee": false,
}
}
]
}'
The response returns whether the dimension was successfully updated or not.

{
"successes": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"objectName": "Employee.OrganizationalStructure",
"uuid": "24a3b91c-1502-46be-8388-7fedb02f9705",
"displayName": "Patched Organizational Structure"
}
],
"failures": []
}
Delete dimensions
Use this sample request to delete an existing dimension. To publish the change directly to production, omit the ProjectID header.
curl -X DELETE --url 'https://{vanity_name}.api.visier.io/v2alpha/data/model/dimensions' \
-H 'apikey:{api_key}' \
-H 'Cookie:VisierASIDToken={security_token}' \
-H 'ProjectID:{project_id}' \
-H 'Content-Type: application/json' \
-d '{
"dimensions": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"dimension": {
"objectName": "Employee.OrganizationalStructure",
}
}
}
]
}'
The response returns whether the dimension was successfully deleted or not.

{
"successes": [
{
"executionContext": {
"tenantCode": "WFF_j1r~c7o"
},
"objectName": "Employee.OrganizationalStructure",
"uuid": "24a3b91c-1502-46be-8388-7fedb02f9705",
"displayName": "Organizational Structure"
}
],
"failures": []
}