Skip to main content

WorkReassignment

Use this API to implement work reassignment functionality.

Work Reassignment allows access request reviews, certifications, and manual provisioning tasks assigned to a user to be reassigned to a different user. This is primarily used for:

  • Temporarily redirecting work for users who are out of office, such as on vacation or sick leave
  • Permanently redirecting work for users who should not be assigned these tasks at all, such as senior executives or service identities

Users can define reassignments for themselves, managers can add them for their team members, and administrators can configure them on any user’s behalf. Work assigned during the specified reassignment timeframes will be automatically reassigned to the designated user as it is created.

Refer to Work Reassignment for more information about this topic.

All URIs are relative to https://sailpoint.api.identitynow.com/beta

MethodHTTP requestDescription
New-BetaReassignmentConfigurationPOST /reassignment-configurationsCreate a Reassignment Configuration
Remove-BetaReassignmentConfigurationDELETE /reassignment-configurations/{identityId}/{configType}Delete Reassignment Configuration
Get-BetaEvaluateReassignmentConfigurationGET /reassignment-configurations/{identityId}/evaluate/{configType}Evaluate Reassignment Configuration
Get-BetaReassignmentConfigTypesGET /reassignment-configurations/typesList Reassignment Config Types
Get-BetaReassignmentConfigurationGET /reassignment-configurations/{identityId}Get Reassignment Configuration
Get-BetaTenantConfigConfigurationGET /reassignment-configurations/tenant-configGet Tenant-wide Reassignment Configuration settings
Get-BetaReassignmentConfigurationsGET /reassignment-configurationsList Reassignment Configurations
Send-BetaReassignmentConfigPUT /reassignment-configurations/{identityId}Update Reassignment Configuration
Send-BetaTenantConfigurationPUT /reassignment-configurations/tenant-configUpdate Tenant-wide Reassignment Configuration settings

create-reassignment-configuration

Creates a new Reassignment Configuration for the specified identity.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
BodyConfigurationItemRequestConfigurationItemRequestTrue

Return type

ConfigurationItemResponse

Responses

CodeDescriptionData Type
201The newly created Reassignment Configuration objectConfigurationItemResponse
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example

$ConfigurationItemRequest = @"{
"endDate" : "2022-07-30T17:00:00Z",
"reassignedFromId" : "2c91808781a71ddb0181b9090b5c504e",
"configType" : "ACCESS_REQUESTS",
"reassignedToId" : "2c91808781a71ddb0181b9090b53504a",
"startDate" : "2022-07-21T11:13:12.345Z"
}"@

# Create a Reassignment Configuration

try {
$Result = ConvertFrom-JsonToConfigurationItemRequest -Json $ConfigurationItemRequest
New-BetaReassignmentConfiguration -BetaConfigurationItemRequest $Result

# Below is a request that includes all optional parameters
# New-BetaReassignmentConfiguration -BetaConfigurationItemRequest $Result
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling New-BetaReassignmentConfiguration"
Write-Host $_.ErrorDetails
}

[Back to top]

delete-reassignment-configuration

Deletes a single reassignment configuration for the specified identity

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdentityIdStringTrueunique identity id
PathConfigTypeConfigTypeEnumTrue

Return type

(empty response body)

Responses

CodeDescriptionData Type
204Reassignment Configuration deleted
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example

$IdentityId = "2c91808781a71ddb0181b9090b5c504e" # String | unique identity id
$ConfigType = "ACCESS_REQUESTS" # ConfigTypeEnum |

# Delete Reassignment Configuration

try {
Remove-BetaReassignmentConfiguration -IdentityId $IdentityId -ConfigType $ConfigType

# Below is a request that includes all optional parameters
# Remove-BetaReassignmentConfiguration -IdentityId $IdentityId -ConfigType $ConfigType
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Remove-BetaReassignmentConfiguration"
Write-Host $_.ErrorDetails
}

[Back to top]

get-evaluate-reassignment-configuration

Evaluates the Reassignment Configuration for an Identity to determine if work items for the specified type should be reassigned. If a valid Reassignment Configuration is found for the identity & work type, then a lookup is initiated which recursively fetches the Reassignment Configuration for the next TargetIdentity until no more results are found or a max depth of 5. That lookup trail is provided in the response and the final reassigned identity in the lookup list is returned as the reassignToId property. If no Reassignment Configuration is found for the specified identity & config type then the requested Identity ID will be used as the reassignToId value and the lookupTrail node will be empty.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdentityIdStringTrueunique identity id
PathConfigTypeConfigTypeEnumTrueReassignment work type
QueryExclusionFilters[]String(optional)Exclusion filters that disable parts of the reassignment evaluation. Possible values are listed below: - SELF_REVIEW_DELEGATION: This will exclude delegations of self-review reassignments

Return type

EvaluateResponse[]

Responses

CodeDescriptionData Type
200Evaluated Reassignment ConfigurationEvaluateResponse[]
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example

$IdentityId = "2c91808781a71ddb0181b9090b5c504e" # String | unique identity id
$ConfigType = "ACCESS_REQUESTS" # ConfigTypeEnum | Reassignment work type
$ExclusionFilters = "MyExclusionFilters" # String[] | Exclusion filters that disable parts of the reassignment evaluation. Possible values are listed below: - `SELF_REVIEW_DELEGATION`: This will exclude delegations of self-review reassignments (optional)

$ExclusionFilters = @"SELF_REVIEW_DELEGATION"@ # String[] | Exclusion filters that disable parts of the reassignment evaluation. Possible values are listed below: - `SELF_REVIEW_DELEGATION`: This will exclude delegations of self-review reassignments (optional)

# Evaluate Reassignment Configuration

try {
Get-BetaEvaluateReassignmentConfiguration -IdentityId $IdentityId -ConfigType $ConfigType

# Below is a request that includes all optional parameters
# Get-BetaEvaluateReassignmentConfiguration -IdentityId $IdentityId -ConfigType $ConfigType -ExclusionFilters $ExclusionFilters
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-BetaEvaluateReassignmentConfiguration"
Write-Host $_.ErrorDetails
}

[Back to top]

get-reassignment-config-types

Gets a collection of types which are available in the Reassignment Configuration UI.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription

Return type

ConfigType[]

Responses

CodeDescriptionData Type
200List of Reassignment Configuration TypesConfigType[]
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example


# List Reassignment Config Types

try {
Get-BetaReassignmentConfigTypes

# Below is a request that includes all optional parameters
# Get-BetaReassignmentConfigTypes
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-BetaReassignmentConfigTypes"
Write-Host $_.ErrorDetails
}

[Back to top]

get-reassignment-configuration

Gets the Reassignment Configuration for an identity.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdentityIdStringTrueunique identity id

Return type

ConfigurationResponse

Responses

CodeDescriptionData Type
200Reassignment Configuration for an identityConfigurationResponse
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example

$IdentityId = "2c91808781a71ddb0181b9090b5c504f" # String | unique identity id

# Get Reassignment Configuration

try {
Get-BetaReassignmentConfiguration -IdentityId $IdentityId

# Below is a request that includes all optional parameters
# Get-BetaReassignmentConfiguration -IdentityId $IdentityId
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-BetaReassignmentConfiguration"
Write-Host $_.ErrorDetails
}

[Back to top]

get-tenant-config-configuration

Gets the global Reassignment Configuration settings for the requestor's tenant.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription

Return type

TenantConfigurationResponse

Responses

CodeDescriptionData Type
200Tenant-wide Reassignment Configuration settingsTenantConfigurationResponse
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example


# Get Tenant-wide Reassignment Configuration settings

try {
Get-BetaTenantConfigConfiguration

# Below is a request that includes all optional parameters
# Get-BetaTenantConfigConfiguration
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-BetaTenantConfigConfiguration"
Write-Host $_.ErrorDetails
}

[Back to top]

list-reassignment-configurations

Gets all Reassignment configuration for the current org.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription

Return type

ConfigurationResponse[]

Responses

CodeDescriptionData Type
200A list of Reassignment Configurations for an orgConfigurationResponse[]
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example


# List Reassignment Configurations

try {
Get-BetaReassignmentConfigurations

# Below is a request that includes all optional parameters
# Get-BetaReassignmentConfigurations
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-BetaReassignmentConfigurations"
Write-Host $_.ErrorDetails
}

[Back to top]

put-reassignment-config

Replaces existing Reassignment configuration for an identity with the newly provided configuration.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
PathIdentityIdStringTrueunique identity id
BodyConfigurationItemRequestConfigurationItemRequestTrue

Return type

ConfigurationItemResponse

Responses

CodeDescriptionData Type
200Reassignment Configuration updatedConfigurationItemResponse
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example

$IdentityId = "2c91808781a71ddb0181b9090b5c504e" # String | unique identity id
$ConfigurationItemRequest = @"{
"endDate" : "2022-07-30T17:00:00Z",
"reassignedFromId" : "2c91808781a71ddb0181b9090b5c504e",
"configType" : "ACCESS_REQUESTS",
"reassignedToId" : "2c91808781a71ddb0181b9090b53504a",
"startDate" : "2022-07-21T11:13:12.345Z"
}"@

# Update Reassignment Configuration

try {
$Result = ConvertFrom-JsonToConfigurationItemRequest -Json $ConfigurationItemRequest
Send-BetaReassignmentConfig -IdentityId $IdentityId -BetaConfigurationItemRequest $Result

# Below is a request that includes all optional parameters
# Send-BetaReassignmentConfig -IdentityId $IdentityId -BetaConfigurationItemRequest $Result
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Send-BetaReassignmentConfig"
Write-Host $_.ErrorDetails
}

[Back to top]

put-tenant-configuration

Replaces existing Tenant-wide Reassignment Configuration settings with the newly provided settings.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
BodyTenantConfigurationRequestTenantConfigurationRequestTrue

Return type

TenantConfigurationResponse

Responses

CodeDescriptionData Type
200Tenant-wide Reassignment Configuration settingsTenantConfigurationResponse
400Client Error - Returned if the request body is invalid.ErrorResponseDto
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListAccessModelMetadataAttribute401Response
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto
429Too 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.ListAccessModelMetadataAttribute429Response
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto

HTTP request headers

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

Example

$TenantConfigurationRequest = @"{
"configDetails" : {
"disabled" : true
}
}"@

# Update Tenant-wide Reassignment Configuration settings

try {
$Result = ConvertFrom-JsonToTenantConfigurationRequest -Json $TenantConfigurationRequest
Send-BetaTenantConfiguration -BetaTenantConfigurationRequest $Result

# Below is a request that includes all optional parameters
# Send-BetaTenantConfiguration -BetaTenantConfigurationRequest $Result
} catch {
Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Send-BetaTenantConfiguration"
Write-Host $_.ErrorDetails
}

[Back to top]