Skip to main content

DimensionsService

Use this API to implement and customize dynamic role functionality. With this functionality in place, administrators can create dimensions and configure them for use throughout Identity Security Cloud. Identity Security Cloud can use established criteria to automatically assign the dimensions to qualified users. This enables users to get all the access they need quickly and securely and administrators to spend their time on other tasks. Entitlements represent the most granular level of access in Identity Security Cloud. Access profiles represent the next level and often group entitlements. Dimension represent access selectively based on the evaluation of contextual information that is available or provided. Each Dimension include context attributes and access selection expressions which map criteria to access right assignments. Each dimension can contain up to 5 context attributes. Dynamic Access Roles represent the broadest level of access and often group access profiles ,entitlements and dimensions.Each Dynamic Access Role may contain one or more Dimensions. Every method returns an Observable. All request paths are relative to the baseUrl you pass to provideSailPoint().

MethodHTTP requestDescription
create-dimension-v1POST /roles/v1/{roleId}/dimensionsCreate a dimension
delete-bulk-dimensions-v1POST /roles/v1/{roleId}/dimensions/bulk-deleteDelete dimension(s)
delete-dimension-v1DELETE /roles/v1/{roleId}/dimensions/{dimensionId}Delete a dimension
get-dimension-entitlements-v1GET /roles/v1/{roleId}/dimensions/{dimensionId}/entitlementsList dimension's entitlements
get-dimension-v1GET /roles/v1/{roleId}/dimensions/{dimensionId}Get a dimension under role.
list-dimension-access-profiles-v1GET /roles/v1/{roleId}/dimensions/{dimensionId}/access-profilesList dimension's access profiles
list-dimensions-v1GET /roles/v1/{roleId}/dimensionsList dimensions
patch-dimension-v1PATCH /roles/v1/{roleId}/dimensions/{dimensionId}Patch a specified dimension

create-dimension-v1​

Create a dimension This API creates a dimension. You must have a token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority to call this API. Additionally, a ROLE_SUBADMIN cannot create a dimension that includes an access profile or entitlement if that access profile or entitlement is linked to a source that the ROLE_SUBADMIN is not associated with. The maximum supported length for the description field is 2000 characters.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is CreateDimensionV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
dimensionDimension

Return type​

Observable<Dimension>

HTTP request headers​

  • Content-Type: application/json
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';
import { Dimension } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

createDimensionV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const dimension: Dimension = ; //
this.api.createDimensionV1({ roleId: roleId, dimension: dimension }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

delete-bulk-dimensions-v1​

Delete dimension(s) This endpoint initiates a bulk deletion of one or more dimensions. When the request is successful, the endpoint returns the bulk delete's task result ID. To follow the task, you can use Get Task Status by ID, which will return the task result's status and information. This endpoint can only bulk delete up to a limit of 50 roles per request. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this endpoint. In addition, a token with ROLE_SUBADMIN authority can only call this endpoint if all dimensions included in the request are associated with sources with management workgroups the ROLE_SUBADMIN is a member of.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is DeleteBulkDimensionsV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimensions.[default to undefined]
dimensionBulkDeleteRequestDimensionBulkDeleteRequest

Return type​

Observable<TaskResultDto>

HTTP request headers​

  • Content-Type: application/json
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';
import { DimensionBulkDeleteRequest } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

deleteBulkDimensionsV1(): void {
const roleId: string = ; // Parent Role Id of the dimensions.
const dimensionBulkDeleteRequest: DimensionBulkDeleteRequest = ; //
this.api.deleteBulkDimensionsV1({ roleId: roleId, dimensionBulkDeleteRequest: dimensionBulkDeleteRequest }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

delete-dimension-v1​

Delete a dimension This API deletes a Dimension by its ID. A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles/Entitlements included in the Dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is DeleteDimensionV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
dimensionIdstringId of the Dimension[default to undefined]

Return type​

Observable<void> (empty response body)

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

deleteDimensionV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const dimensionId: string = ; // Id of the Dimension
this.api.deleteDimensionV1({ roleId: roleId, dimensionId: dimensionId }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

get-dimension-entitlements-v1​

List dimension's entitlements This API lists the Entitlements associated with a given dimension.

A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is GetDimensionEntitlementsV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
dimensionIdstringId of the Dimension[default to undefined]
limitnumberMax number of results to return. See V3 API Standard Collection Parameters for more information.[optional] [default to 250]
offsetnumberOffset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.[optional] [default to 0]
countbooleanIf true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored. Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used. See V3 API Standard Collection Parameters for more information.[optional] [default to false]
filtersstringFilter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: id: eq, in name: eq, sw attribute: eq, sw value: eq, sw created: gt, lt, ge, le modified: gt, lt, ge, le owner.id: eq, in source.id: eq, in[optional] [default to undefined]
sortersstringSort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, attribute, value, created, modified[optional] [default to undefined]

Return type​

Observable<Array<Entitlement>>

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

getDimensionEntitlementsV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const dimensionId: string = ; // Id of the Dimension
const limit: number = ; // Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const offset: number = ; // Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const count: boolean = ; // If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count&#x3D;true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const filters: string = ; // Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **attribute**: *eq, sw* **value**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (optional)
const sorters: string = ; // Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, attribute, value, created, modified** (optional)
this.api.getDimensionEntitlementsV1({ roleId: roleId, dimensionId: dimensionId }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

get-dimension-v1​

Get a dimension under role. This API returns a Dimension by its ID.

A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles or Entitlements included in the Dimension or Parent Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is GetDimensionV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
dimensionIdstringId of the Dimension[default to undefined]

Return type​

Observable<Dimension>

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

getDimensionV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const dimensionId: string = ; // Id of the Dimension
this.api.getDimensionV1({ roleId: roleId, dimensionId: dimensionId }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

list-dimension-access-profiles-v1​

List dimension's access profiles This API lists the Access Profiles associated with a given Dimension

A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all Access Profiles included in the Role are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is ListDimensionAccessProfilesV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
dimensionIdstringId of the Dimension[default to undefined]
limitnumberMax number of results to return. See V3 API Standard Collection Parameters for more information.[optional] [default to 250]
offsetnumberOffset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.[optional] [default to 0]
countbooleanIf true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored. Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used. See V3 API Standard Collection Parameters for more information.[optional] [default to false]
filtersstringFilter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: id: eq, in name: eq, sw created: gt, lt, ge, le modified: gt, lt, ge, le owner.id: eq, in source.id: eq, in[optional] [default to undefined]
sortersstringSort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, created, modified[optional] [default to undefined]

Return type​

Observable<Array<AccessProfile>>

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

listDimensionAccessProfilesV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const dimensionId: string = ; // Id of the Dimension
const limit: number = ; // Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const offset: number = ; // Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const count: boolean = ; // If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count&#x3D;true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const filters: string = ; // Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* **source.id**: *eq, in* (optional)
const sorters: string = ; // Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, created, modified** (optional)
this.api.listDimensionAccessProfilesV1({ roleId: roleId, dimensionId: dimensionId }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

list-dimensions-v1​

List dimensions This API returns a list of dimensions under a specified role.

A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is ListDimensionsV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
forSubadminstringIf provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value me, which is shorthand for the calling Identity&#39;s ID. A 400 Bad Request error is returned if the for-subadmin parameter is specified for an Identity that is not a subadmin.[optional] [default to undefined]
limitnumberNote that for this API the maximum value for limit is 50. See V3 API Standard Collection Parameters for more information.[optional] [default to 50]
offsetnumberOffset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.[optional] [default to 0]
countbooleanIf true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored. Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used. See V3 API Standard Collection Parameters for more information.[optional] [default to false]
filtersstringFilter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: id: eq, in name: eq, sw created: gt, lt, ge, le modified: gt, lt, ge, le owner.id: eq, in[optional] [default to undefined]
sortersstringSort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, created, modified[optional] [default to undefined]

Return type​

Observable<Array<Dimension>>

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

listDimensionsV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const forSubadmin: string = ; // If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity\&#39;s ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin. (optional)
const limit: number = ; // Note that for this API the maximum value for limit is 50. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const offset: number = ; // Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const count: boolean = ; // If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count&#x3D;true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional)
const filters: string = ; // Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* (optional)
const sorters: string = ; // Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, created, modified** (optional)
this.api.listDimensionsV1({ roleId: roleId }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]

patch-dimension-v1​

Patch a specified dimension This API updates an existing dimension using JSON Patch syntax. The following fields are patchable: name description owner accessProfiles entitlements membership A token with API, ORG_ADMIN, ROLE_ADMIN, or ROLE_SUBADMIN authority is required to call this API. In addition, a token with ROLE_SUBADMIN authority may only call this API if all access profiles/entitlements included in the dimension are associated to Sources with management workgroups of which the ROLE_SUBADMIN is a member. The maximum supported length for the description field is 2000 characters. When you use this API to modify a dimension's membership identities, you can only modify up to a limit of 500 membership identities at a time.

API Spec

Parameters​

The service takes one object that holds every parameter. Its type is PatchDimensionV1RequestParams.

NameTypeDescriptionNotes
roleIdstringParent Role Id of the dimension.[default to undefined]
dimensionIdstringId of the Dimension[default to undefined]
jsonPatchOperationArray<JsonPatchOperation>

Return type​

Observable<Dimension>

HTTP request headers​

  • Content-Type: application/json-patch+json
  • Accept: application/json

Example​

import { Component, inject } from '@angular/core';
import { DimensionsService } from '@sailpoint/angular-sdk/dimensions';
import { JsonPatchOperation } from '@sailpoint/angular-sdk/dimensions';

@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(DimensionsService);

patchDimensionV1(): void {
const roleId: string = ; // Parent Role Id of the dimension.
const dimensionId: string = ; // Id of the Dimension
const jsonPatchOperation: Array<JsonPatchOperation> = ; //
this.api.patchDimensionV1({ roleId: roleId, dimensionId: dimensionId, jsonPatchOperation: jsonPatchOperation }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}

[Back to top]