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().
| Method | HTTP request | Description |
|---|---|---|
| create-dimension-v1 | POST /roles/v1/{roleId}/dimensions | Create a dimension |
| delete-bulk-dimensions-v1 | POST /roles/v1/{roleId}/dimensions/bulk-delete | Delete dimension(s) |
| delete-dimension-v1 | DELETE /roles/v1/{roleId}/dimensions/{dimensionId} | Delete a dimension |
| get-dimension-entitlements-v1 | GET /roles/v1/{roleId}/dimensions/{dimensionId}/entitlements | List dimension's entitlements |
| get-dimension-v1 | GET /roles/v1/{roleId}/dimensions/{dimensionId} | Get a dimension under role. |
| list-dimension-access-profiles-v1 | GET /roles/v1/{roleId}/dimensions/{dimensionId}/access-profiles | List dimension's access profiles |
| list-dimensions-v1 | GET /roles/v1/{roleId}/dimensions | List dimensions |
| patch-dimension-v1 | PATCH /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.
Parameters
The service takes one object that holds every parameter. Its type is CreateDimensionV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| dimension | Dimension |
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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is DeleteBulkDimensionsV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimensions. | [default to undefined] |
| dimensionBulkDeleteRequest | DimensionBulkDeleteRequest |
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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is DeleteDimensionV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| dimensionId | string | Id 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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is GetDimensionEntitlementsV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| dimensionId | string | Id of the Dimension | [default to undefined] |
| limit | number | Max number of results to return. See V3 API Standard Collection Parameters for more information. | [optional] [default to 250] |
| offset | number | Offset 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] |
| 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=true if that value will not be used. See V3 API Standard Collection Parameters for more information. | [optional] [default to false] |
| filters | string | Filter 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] |
| sorters | string | Sort 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=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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is GetDimensionV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| dimensionId | string | Id 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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is ListDimensionAccessProfilesV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| dimensionId | string | Id of the Dimension | [default to undefined] |
| limit | number | Max number of results to return. See V3 API Standard Collection Parameters for more information. | [optional] [default to 250] |
| offset | number | Offset 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] |
| 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=true if that value will not be used. See V3 API Standard Collection Parameters for more information. | [optional] [default to false] |
| filters | string | Filter 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] |
| sorters | string | Sort 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=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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is ListDimensionsV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| 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'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] |
| limit | number | Note that for this API the maximum value for limit is 50. See V3 API Standard Collection Parameters for more information. | [optional] [default to 50] |
| offset | number | Offset 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] |
| 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=true if that value will not be used. See V3 API Standard Collection Parameters for more information. | [optional] [default to false] |
| filters | string | Filter 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] |
| sorters | string | Sort 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\'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=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),
});
}
}
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.
Parameters
The service takes one object that holds every parameter. Its type is PatchDimensionV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| roleId | string | Parent Role Id of the dimension. | [default to undefined] |
| dimensionId | string | Id of the Dimension | [default to undefined] |
| jsonPatchOperation | Array<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),
});
}
}