Skip to main content

sailpoint.beta.WorkReassignmentApi

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
create-reassignment-configurationPOST /reassignment-configurationsCreate a Reassignment Configuration
delete-reassignment-configurationDELETE /reassignment-configurations/{identityId}/{configType}Delete Reassignment Configuration
get-evaluate-reassignment-configurationGET /reassignment-configurations/{identityId}/evaluate/{configType}Evaluate Reassignment Configuration
get-reassignment-config-typesGET /reassignment-configurations/typesList Reassignment Config Types
get-reassignment-configurationGET /reassignment-configurations/{identityId}Get Reassignment Configuration
get-tenant-config-configurationGET /reassignment-configurations/tenant-configGet Tenant-wide Reassignment Configuration settings
list-reassignment-configurationsGET /reassignment-configurationsList Reassignment Configurations
put-reassignment-configPUT /reassignment-configurations/{identityId}Update Reassignment Configuration
put-tenant-configurationPUT /reassignment-configurations/tenant-configUpdate Tenant-wide Reassignment Configuration settings

create-reassignment-configuration

Create a Reassignment Configuration Creates a new Reassignment Configuration for the specified identity.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Bodyconfiguration_item_requestConfigurationItemRequestTrue

Return type

ConfigurationItemResponse

Responses

CodeDescriptionData TypeResponse headers
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.configuration_item_request import ConfigurationItemRequest
from sailpoint.beta.models.configuration_item_response import ConfigurationItemResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
configuration_item_request = '''{
"endDate" : "2022-07-30T17:00:00Z",
"reassignedFromId" : "2c91808781a71ddb0181b9090b5c504e",
"configType" : "ACCESS_REQUESTS",
"reassignedToId" : "2c91808781a71ddb0181b9090b53504a",
"startDate" : "2022-07-21T11:13:12.345Z"
}''' # ConfigurationItemRequest |

try:
# Create a Reassignment Configuration
new_configuration_item_request = ConfigurationItemRequest.from_json(configuration_item_request)
results = WorkReassignmentApi(api_client).create_reassignment_configuration(configuration_item_request=new_configuration_item_request)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).create_reassignment_configuration(new_configuration_item_request)
print("The response of WorkReassignmentApi->create_reassignment_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->create_reassignment_configuration: %s\n" % e)

[Back to top]

delete-reassignment-configuration

Delete Reassignment Configuration Deletes a single reassignment configuration for the specified identity

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Pathidentity_idstrTrueunique identity id
Pathconfig_typeConfigTypeEnumTrue

Return type

(empty response body)

Responses

CodeDescriptionData TypeResponse headers
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.config_type_enum import ConfigTypeEnum
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504e' # str | unique identity id # str | unique identity id
config_type = sailpoint.beta.ConfigTypeEnum() # ConfigTypeEnum | # ConfigTypeEnum |

try:
# Delete Reassignment Configuration

WorkReassignmentApi(api_client).delete_reassignment_configuration(identity_id=identity_id, config_type=config_type)
# Below is a request that includes all optional parameters
# WorkReassignmentApi(api_client).delete_reassignment_configuration(identity_id, config_type)
except Exception as e:
print("Exception when calling WorkReassignmentApi->delete_reassignment_configuration: %s\n" % e)

[Back to top]

get-evaluate-reassignment-configuration

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
Pathidentity_idstrTrueunique identity id
Pathconfig_typeConfigTypeEnumTrueReassignment work type
Queryexclusion_filters[]str(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

List[EvaluateResponse]

Responses

CodeDescriptionData TypeResponse headers
200Evaluated Reassignment ConfigurationList[EvaluateResponse]-
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.config_type_enum import ConfigTypeEnum
from sailpoint.beta.models.evaluate_response import EvaluateResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504e' # str | unique identity id # str | unique identity id
config_type = sailpoint.beta.ConfigTypeEnum() # ConfigTypeEnum | Reassignment work type # ConfigTypeEnum | Reassignment work type
exclusion_filters = '''['SELF_REVIEW_DELEGATION']''' # List[str] | 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)

try:
# Evaluate Reassignment Configuration

results = WorkReassignmentApi(api_client).get_evaluate_reassignment_configuration(identity_id=identity_id, config_type=config_type)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_evaluate_reassignment_configuration(identity_id, config_type, exclusion_filters)
print("The response of WorkReassignmentApi->get_evaluate_reassignment_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_evaluate_reassignment_configuration: %s\n" % e)

[Back to top]

get-reassignment-config-types

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

API Spec

Parameters

This endpoint does not need any parameter.

Return type

List[ConfigType]

Responses

CodeDescriptionData TypeResponse headers
200List of Reassignment Configuration TypesList[ConfigType]-
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.config_type import ConfigType
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:

try:
# List Reassignment Config Types

results = WorkReassignmentApi(api_client).get_reassignment_config_types()
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_reassignment_config_types()
print("The response of WorkReassignmentApi->get_reassignment_config_types:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_reassignment_config_types: %s\n" % e)

[Back to top]

get-reassignment-configuration

Get Reassignment Configuration Gets the Reassignment Configuration for an identity.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Pathidentity_idstrTrueunique identity id

Return type

ConfigurationResponse

Responses

CodeDescriptionData TypeResponse headers
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.configuration_response import ConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504f' # str | unique identity id # str | unique identity id

try:
# Get Reassignment Configuration

results = WorkReassignmentApi(api_client).get_reassignment_configuration(identity_id=identity_id)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_reassignment_configuration(identity_id)
print("The response of WorkReassignmentApi->get_reassignment_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_reassignment_configuration: %s\n" % e)

[Back to top]

get-tenant-config-configuration

Get Tenant-wide Reassignment Configuration settings Gets the global Reassignment Configuration settings for the requestor's tenant.

API Spec

Parameters

This endpoint does not need any parameter.

Return type

TenantConfigurationResponse

Responses

CodeDescriptionData TypeResponse headers
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.tenant_configuration_response import TenantConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:

try:
# Get Tenant-wide Reassignment Configuration settings

results = WorkReassignmentApi(api_client).get_tenant_config_configuration()
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).get_tenant_config_configuration()
print("The response of WorkReassignmentApi->get_tenant_config_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->get_tenant_config_configuration: %s\n" % e)

[Back to top]

list-reassignment-configurations

List Reassignment Configurations Gets all Reassignment configuration for the current org.

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Querylimitint(optional) (default to 20)Max number of results to return.
Queryoffsetint(optional)Offset into the full result set. Usually specified with limit to paginate through the results. Defaults to 0 if not specified.

Return type

List[ConfigurationResponse]

Responses

CodeDescriptionData TypeResponse headers
200A list of Reassignment Configurations for an orgList[ConfigurationResponse]-
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.configuration_response import ConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
limit = 20 # int | Max number of results to return. (optional) (default to 20) # int | Max number of results to return. (optional) (default to 20)
offset = 10 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified. (optional)

try:
# List Reassignment Configurations

results = WorkReassignmentApi(api_client).list_reassignment_configurations()
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).list_reassignment_configurations(limit, offset)
print("The response of WorkReassignmentApi->list_reassignment_configurations:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->list_reassignment_configurations: %s\n" % e)

[Back to top]

put-reassignment-config

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

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Pathidentity_idstrTrueunique identity id
Bodyconfiguration_item_requestConfigurationItemRequestTrue

Return type

ConfigurationItemResponse

Responses

CodeDescriptionData TypeResponse headers
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.configuration_item_request import ConfigurationItemRequest
from sailpoint.beta.models.configuration_item_response import ConfigurationItemResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
identity_id = '2c91808781a71ddb0181b9090b5c504e' # str | unique identity id # str | unique identity id
configuration_item_request = '''{
"endDate" : "2022-07-30T17:00:00Z",
"reassignedFromId" : "2c91808781a71ddb0181b9090b5c504e",
"configType" : "ACCESS_REQUESTS",
"reassignedToId" : "2c91808781a71ddb0181b9090b53504a",
"startDate" : "2022-07-21T11:13:12.345Z"
}''' # ConfigurationItemRequest |

try:
# Update Reassignment Configuration
new_configuration_item_request = ConfigurationItemRequest.from_json(configuration_item_request)
results = WorkReassignmentApi(api_client).put_reassignment_config(identity_id=identity_id, configuration_item_request=new_configuration_item_request)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).put_reassignment_config(identity_id, new_configuration_item_request)
print("The response of WorkReassignmentApi->put_reassignment_config:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->put_reassignment_config: %s\n" % e)

[Back to top]

put-tenant-configuration

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

API Spec

Parameters

Param TypeNameData TypeRequiredDescription
Bodytenant_configuration_requestTenantConfigurationRequestTrue

Return type

TenantConfigurationResponse

Responses

CodeDescriptionData TypeResponse headers
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

from sailpoint.beta.api.work_reassignment_api import WorkReassignmentApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.tenant_configuration_request import TenantConfigurationRequest
from sailpoint.beta.models.tenant_configuration_response import TenantConfigurationResponse
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
tenant_configuration_request = '''{
"configDetails" : {
"disabled" : true
}
}''' # TenantConfigurationRequest |

try:
# Update Tenant-wide Reassignment Configuration settings
new_tenant_configuration_request = TenantConfigurationRequest.from_json(tenant_configuration_request)
results = WorkReassignmentApi(api_client).put_tenant_configuration(tenant_configuration_request=new_tenant_configuration_request)
# Below is a request that includes all optional parameters
# results = WorkReassignmentApi(api_client).put_tenant_configuration(new_tenant_configuration_request)
print("The response of WorkReassignmentApi->put_tenant_configuration:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling WorkReassignmentApi->put_tenant_configuration: %s\n" % e)

[Back to top]