--- id: v2024-entitlements title: Entitlements pagination_label: Entitlements sidebar_label: Entitlements sidebar_class_name: powershellsdk keywords: ['powershell', 'PowerShell', 'sdk', 'Entitlements'] slug: /tools/sdk/powershell/v2024/methods/entitlements tags: ['SDK', 'Software Development Kit', 'Entitlements'] --- # Entitlements All URIs are relative to *https://sailpoint.api.identitynow.com/v2024* Method | HTTP request | Description ------------- | ------------- | ------------- [**New-V2024AccessModelMetadataForEntitlement**](#create-access-model-metadata-for-entitlement) | **POST** `/entitlements/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}` | Add metadata to an entitlement. [**Remove-V2024AccessModelMetadataFromEntitlement**](#delete-access-model-metadata-from-entitlement) | **DELETE** `/entitlements/{id}/access-model-metadata/{attributeKey}/values/{attributeValue}` | Remove metadata from an entitlement. [**Get-V2024Entitlement**](#get-entitlement) | **GET** `/entitlements/{id}` | Get an entitlement [**Get-V2024EntitlementRequestConfig**](#get-entitlement-request-config) | **GET** `/entitlements/{id}/entitlement-request-config` | Get Entitlement Request Config [**Import-V2024EntitlementsBySource**](#import-entitlements-by-source) | **POST** `/entitlements/aggregate/sources/{id}` | Aggregate Entitlements [**Get-V2024EntitlementChildren**](#list-entitlement-children) | **GET** `/entitlements/{id}/children` | List of entitlements children [**Get-V2024EntitlementParents**](#list-entitlement-parents) | **GET** `/entitlements/{id}/parents` | List of entitlements parents [**Get-V2024Entitlements**](#list-entitlements) | **GET** `/entitlements` | Gets a list of entitlements. [**Update-V2024Entitlement**](#patch-entitlement) | **PATCH** `/entitlements/{id}` | Patch an entitlement [**Send-V2024EntitlementRequestConfig**](#put-entitlement-request-config) | **PUT** `/entitlements/{id}/entitlement-request-config` | Replace Entitlement Request Config [**Reset-V2024SourceEntitlements**](#reset-source-entitlements) | **POST** `/entitlements/reset/sources/{id}` | Reset Source Entitlements [**Update-V2024EntitlementsInBulk**](#update-entitlements-in-bulk) | **POST** `/entitlements/bulk-update` | Bulk update an entitlement list ## create-access-model-metadata-for-entitlement Add single Access Model Metadata to an entitlement. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | The entitlement id. Path | AttributeKey | **String** | True | Technical name of the Attribute. Path | AttributeValue | **String** | True | Technical name of the Attribute Value. | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type [**Entitlement1**](../models/entitlement1) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | OK | Entitlement1 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808c74ff913f0175097daa9d59cd" # String | The entitlement id. $AttributeKey = "iscPrivacy" # String | Technical name of the Attribute. $AttributeValue = "public" # String | Technical name of the Attribute Value. $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Add metadata to an entitlement. try { New-V2024AccessModelMetadataForEntitlement-V2024Id $Id -V2024AttributeKey $AttributeKey -V2024AttributeValue $AttributeValue -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # New-V2024AccessModelMetadataForEntitlement -V2024Id $Id -V2024AttributeKey $AttributeKey -V2024AttributeValue $AttributeValue -V2024XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling New-V2024AccessModelMetadataForEntitlement" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## delete-access-model-metadata-from-entitlement Remove single Access Model Metadata from an entitlement. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | The entitlement id. Path | AttributeKey | **String** | True | Technical name of the Attribute. Path | AttributeValue | **String** | True | Technical name of the Attribute Value. | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type (empty response body) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | OK | 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808c74ff913f0175097daa9d59cd" # String | The entitlement id. $AttributeKey = "iscPrivacy" # String | Technical name of the Attribute. $AttributeValue = "public" # String | Technical name of the Attribute Value. $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Remove metadata from an entitlement. try { Remove-V2024AccessModelMetadataFromEntitlement-V2024Id $Id -V2024AttributeKey $AttributeKey -V2024AttributeValue $AttributeValue -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Remove-V2024AccessModelMetadataFromEntitlement -V2024Id $Id -V2024AttributeKey $AttributeKey -V2024AttributeValue $AttributeValue -V2024XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Remove-V2024AccessModelMetadataFromEntitlement" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## get-entitlement This API returns an entitlement by its ID. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | The entitlement ID | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type [**Entitlement1**](../models/entitlement1) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | An entitlement | Entitlement1 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808874ff91550175097daaec161c" # String | The entitlement ID $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Get an entitlement try { Get-V2024Entitlement-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2024Entitlement -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024Entitlement" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## get-entitlement-request-config This API returns the entitlement request config for a specified entitlement. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Entitlement Id | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type [**EntitlementRequestConfig**](../models/entitlement-request-config) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | An Entitlement Request Config | EntitlementRequestConfig 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808874ff91550175097daaec161c" # String | Entitlement Id $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Get Entitlement Request Config try { Get-V2024EntitlementRequestConfig-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2024EntitlementRequestConfig -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024EntitlementRequestConfig" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## import-entitlements-by-source Starts an entitlement aggregation on the specified source. Though this endpoint has been deprecated, you can find its Beta equivalent [here](https://developer.sailpoint.com/docs/api/beta/import-entitlements). If the target source is a direct connection, then the request body must be empty. You will also need to make sure the Content-Type header is not set. If you set the Content-Type header without specifying a body, then you will receive a 500 error. If the target source is a delimited file source, then the CSV file needs to be included in the request body. You will also need to set the Content-Type header to `multipart/form-data`. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Source Id | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. | CsvFile | **System.IO.FileInfo** | (optional) | The CSV file containing the source entitlements to aggregate. ### Return type [**LoadEntitlementTask**](../models/load-entitlement-task) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 202 | Aggregate Entitlements Task | LoadEntitlementTask 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: multipart/form-data - **Accept**: application/json ### Example ```powershell $Id = "ef38f94347e94562b5bb8424a56397d8" # String | Source Id $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $CsvFile = # System.IO.FileInfo | The CSV file containing the source entitlements to aggregate. (optional) # Aggregate Entitlements try { Import-V2024EntitlementsBySource-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Import-V2024EntitlementsBySource -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental -V2024CsvFile $CsvFile } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Import-V2024EntitlementsBySource" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## list-entitlement-children This API returns a list of all child entitlements of a given entitlement. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Entitlement Id | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Query | Limit | **Int32** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. Query | Offset | **Int32** | (optional) (default to 0) | 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. Query | Count | **Boolean** | (optional) (default to $false) | 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. Query | Sorters | **String** | (optional) | 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: **id, name, created, modified, type, attribute, value, source.id** Query | Filters | **String** | (optional) | 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, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* ### Return type [**Entitlement1[]**](../models/entitlement1) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | List of entitlements children from an entitlement | Entitlement1[] 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808874ff91550175097daaec161c" # String | Entitlement Id $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $Limit = 250 # Int32 | 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) (default to 250) $Offset = 0 # Int32 | 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) (default to 0) $Count = $true # 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) (default to $false) $Sorters = "name,-modified" # 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: **id, name, created, modified, type, attribute, value, source.id** (optional) $Filters = 'attribute eq "memberOf"' # 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, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* (optional) # List of entitlements children try { Get-V2024EntitlementChildren-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2024EntitlementChildren -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental -V2024Limit $Limit -V2024Offset $Offset -V2024Count $Count -V2024Sorters $Sorters -V2024Filters $Filters } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024EntitlementChildren" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## list-entitlement-parents This API returns a list of all parent entitlements of a given entitlement. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Entitlement Id | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Query | Limit | **Int32** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. Query | Offset | **Int32** | (optional) (default to 0) | 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. Query | Count | **Boolean** | (optional) (default to $false) | 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. Query | Sorters | **String** | (optional) | 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: **id, name, created, modified, type, attribute, value, source.id** Query | Filters | **String** | (optional) | 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, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* ### Return type [**Entitlement1[]**](../models/entitlement1) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | List of entitlements parents from an entitlement | Entitlement1[] 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808c74ff913f0175097daa9d59cd" # String | Entitlement Id $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $Limit = 250 # Int32 | 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) (default to 250) $Offset = 0 # Int32 | 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) (default to 0) $Count = $true # 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) (default to $false) $Sorters = "name,-modified" # 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: **id, name, created, modified, type, attribute, value, source.id** (optional) $Filters = 'attribute eq "memberOf"' # 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, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* (optional) # List of entitlements parents try { Get-V2024EntitlementParents-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2024EntitlementParents -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental -V2024Limit $Limit -V2024Offset $Offset -V2024Count $Count -V2024Sorters $Sorters -V2024Filters $Filters } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024EntitlementParents" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## list-entitlements This API returns a list of entitlements. This API can be used in one of the two following ways: either getting entitlements for a specific **account-id**, or getting via use of **filters** (those two options are exclusive). Any authenticated token can call this API. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Query | AccountId | **String** | (optional) | The account ID. If specified, returns only entitlements associated with the given Account. Cannot be specified with the **filters**, **segmented-for-identity**, **for-segment-ids**, or **include-unsegmented** param(s). Query | SegmentedForIdentity | **String** | (optional) | If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. By convention, the value **me** can stand in for the current user's Identity ID. Cannot be specified with the **account-id** or **for-segment-ids** param(s). It is also illegal to specify a value that refers to a different user's Identity. Query | ForSegmentIds | **String** | (optional) | If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. Cannot be specified with the **account-id** or **segmented-for-identity** param(s). Query | IncludeUnsegmented | **Boolean** | (optional) (default to $true) | Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. Query | Offset | **Int32** | (optional) (default to 0) | 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. Query | Limit | **Int32** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. Query | Count | **Boolean** | (optional) (default to $false) | 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. Query | Sorters | **String** | (optional) | 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: **id, name, created, modified, type, attribute, value, source.id, requestable** Query | Filters | **String** | (optional) | 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, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* ### Return type [**Entitlement1[]**](../models/entitlement1) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | List of entitlements | Entitlement1[] 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $AccountId = "ef38f94347e94562b5bb8424a56397d8" # String | The account ID. If specified, returns only entitlements associated with the given Account. Cannot be specified with the **filters**, **segmented-for-identity**, **for-segment-ids**, or **include-unsegmented** param(s). (optional) $SegmentedForIdentity = "me" # String | If present and not empty, additionally filters Entitlements to those which are assigned to the Segment(s) which are visible to the Identity with the specified ID. By convention, the value **me** can stand in for the current user's Identity ID. Cannot be specified with the **account-id** or **for-segment-ids** param(s). It is also illegal to specify a value that refers to a different user's Identity. (optional) $ForSegmentIds = "041727d4-7d95-4779-b891-93cf41e98249,a378c9fa-bae5-494c-804e-a1e30f69f649" # String | If present and not empty, additionally filters Access Profiles to those which are assigned to the Segment(s) with the specified IDs. Cannot be specified with the **account-id** or **segmented-for-identity** param(s). (optional) $IncludeUnsegmented = $true # Boolean | Whether or not the response list should contain unsegmented Entitlements. If **for-segment-ids** and **segmented-for-identity** are both absent or empty, specifying **include-unsegmented=false** results in an error. (optional) (default to $true) $Offset = 0 # Int32 | 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) (default to 0) $Limit = 250 # Int32 | 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) (default to 250) $Count = $true # 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) (default to $false) $Sorters = "name,-modified" # 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: **id, name, created, modified, type, attribute, value, source.id, requestable** (optional) $Filters = 'attribute eq "memberOf"' # 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, in, sw* **type**: *eq, in* **attribute**: *eq, in* **value**: *eq, in, sw* **source.id**: *eq, in* **requestable**: *eq* **created**: *gt, lt, ge, le* **modified**: *gt, lt, ge, le* **owner.id**: *eq, in* (optional) # Gets a list of entitlements. try { Get-V2024Entitlements-V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2024Entitlements -V2024XSailPointExperimental $XSailPointExperimental -V2024AccountId $AccountId -V2024SegmentedForIdentity $SegmentedForIdentity -V2024ForSegmentIds $ForSegmentIds -V2024IncludeUnsegmented $IncludeUnsegmented -V2024Offset $Offset -V2024Limit $Limit -V2024Count $Count -V2024Sorters $Sorters -V2024Filters $Filters } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2024Entitlements" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## patch-entitlement This API updates an existing entitlement using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax. The following fields are patchable: **requestable**, **privileged**, **segments**, **owner**, **name**, **description**, and **manuallyUpdatedFields** When you're patching owner, only owner type and owner id must be provided. Owner name is optional, and it won't be modified. If the owner name is provided, it should correspond to the real name. The only owner type currently supported is IDENTITY. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | ID of the entitlement to patch | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Body | JsonPatchOperation | [**[]JsonPatchOperation**](../models/json-patch-operation) | (optional) | ### Return type [**Entitlement1**](../models/entitlement1) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | Responds with the entitlement as updated. | Entitlement1 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: application/json-patch+json - **Accept**: application/json ### Example ```powershell $Id = "2c91808a7813090a017814121e121518" # String | ID of the entitlement to patch $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # JsonPatchOperation[] | (optional) $JsonPatchOperation = @"{ "op" : "replace", "path" : "/description", "value" : "New description" }"@ # Patch an entitlement try { Update-V2024Entitlement-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Update-V2024Entitlement -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental -V2024JsonPatchOperation $JsonPatchOperation } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Update-V2024Entitlement" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## put-entitlement-request-config This API replaces the entitlement request config for a specified entitlement. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Entitlement ID | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Body | EntitlementRequestConfig | [**EntitlementRequestConfig**](../models/entitlement-request-config) | True | ### Return type [**EntitlementRequestConfig**](../models/entitlement-request-config) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | Responds with the entitlement request config as updated. | EntitlementRequestConfig 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 404 | Not Found - returned if the request URL refers to a resource or object that does not exist | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ### Example ```powershell $Id = "2c91808a7813090a017814121e121518" # String | Entitlement ID $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $EntitlementRequestConfig = @"{ "accessRequestConfig" : { "denialCommentRequired" : false, "approvalSchemes" : [ { "approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8", "approverType" : "GOVERNANCE_GROUP" }, { "approverId" : "e3eab852-8315-467f-9de7-70eda97f63c8", "approverType" : "GOVERNANCE_GROUP" } ], "requestCommentRequired" : true } }"@ # Replace Entitlement Request Config try { $Result = ConvertFrom-JsonToEntitlementRequestConfig -Json $EntitlementRequestConfig Send-V2024EntitlementRequestConfig-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental -V2024EntitlementRequestConfig $Result # Below is a request that includes all optional parameters # Send-V2024EntitlementRequestConfig -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental -V2024EntitlementRequestConfig $EntitlementRequestConfig } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Send-V2024EntitlementRequestConfig" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## reset-source-entitlements Remove all entitlements from a specific source. To reload the accounts along with the entitlements you removed, you must run an unoptimized aggregation. To do so, use [Account Aggregation](https://developer.sailpoint.com/docs/api/v2024/import-accounts/) with `disableOptimization` = `true`. ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | ID of source for the entitlement reset | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type [**EntitlementSourceResetBaseReferenceDto**](../models/entitlement-source-reset-base-reference-dto) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 202 | Entitlement source reset task result | EntitlementSourceResetBaseReferenceDto 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "2c91808a7813090a017814121919ecca" # String | ID of source for the entitlement reset $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Reset Source Entitlements try { Reset-V2024SourceEntitlements-V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Reset-V2024SourceEntitlements -V2024Id $Id -V2024XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Reset-V2024SourceEntitlements" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## update-entitlements-in-bulk "This API applies an update to every entitlement of the list.\n\nThe\ \ number of entitlements to update is limited to 50 items maximum.\n\nThe JsonPatch\ \ update follows the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.\ \ allowed operations : `**{ \"op\": \"replace\", \"path\": \"/privileged\", \"\ value\": boolean }** **{ \"op\": \"replace\", \"path\": \"/requestable\",\"value\"\ : boolean }**`" ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Body | EntitlementBulkUpdateRequest | [**EntitlementBulkUpdateRequest**](../models/entitlement-bulk-update-request) | True | ### Return type (empty response body) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 204 | No content - indicates the request was successful but there is no content to be returned in the response. | 400 | Client Error - Returned if the request body is invalid. | ErrorResponseDto 401 | Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. | ListAccessProfiles401Response 403 | Forbidden - Returned if the user you are running as, doesn't have access to this end-point. | ErrorResponseDto 429 | Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ### Example ```powershell $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $EntitlementBulkUpdateRequest = @"{ "entitlementIds" : [ "2c91808a7624751a01762f19d665220d", "2c91808a7624751a01762f19d67c220e", "2c91808a7624751a01762f19d692220f" ], "jsonPatch" : [ { "op" : "replace", "path" : "/privileged", "value" : false }, { "op" : "replace", "path" : "/requestable", "value" : false } ] }"@ # Bulk update an entitlement list try { $Result = ConvertFrom-JsonToEntitlementBulkUpdateRequest -Json $EntitlementBulkUpdateRequest Update-V2024EntitlementsInBulk-V2024XSailPointExperimental $XSailPointExperimental -V2024EntitlementBulkUpdateRequest $Result # Below is a request that includes all optional parameters # Update-V2024EntitlementsInBulk -V2024XSailPointExperimental $XSailPointExperimental -V2024EntitlementBulkUpdateRequest $EntitlementBulkUpdateRequest } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Update-V2024EntitlementsInBulk" Write-Host $_.ErrorDetails } ``` [[Back to top]](#)