Evaluate Reassignment Configuration
GET/reassignment-configurations/:identityId/evaluate/:configType
This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true
to use this endpoint.
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.
Request
Path Parameters
unique identity id
Possible values: [ACCESS_REQUESTS
, CERTIFICATIONS
, MANUAL_TASKS
]
Reassignment work type
Query Parameters
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
Header Parameters
Default value: true
Use this header to enable this experimental API.
Responses
- 200
- 400
- 401
- 403
- 429
- 500
Evaluated Reassignment Configuration
- application/json
- Schema
- Example (from schema)
- empty
- longTrail
- selfReview
Schema
Array [
Array [
]
]
The Identity ID which should be the recipient of any work items sent to a specific identity & work type
lookupTrail
object[]
List of Reassignments found by looking up the next TargetIdentity
in a ReassignmentConfiguration
The ID of the Identity who work is reassigned to
The ID of the Identity who work is reassigned from
Possible values: [MANUAL_REASSIGNMENT,
, AUTOMATIC_REASSIGNMENT,
, AUTO_ESCALATION,
, SELF_REVIEW_DELEGATION
]
Reassignment type
[
{
"reassignToId": "869320b6b6f34a169b6178b1a865e66f",
"lookupTrail": [
{
"reassignedToId": "869320b6b6f34a169b6178b1a865e66f",
"reassignedFromId": "51948a8f306a4e7a9a6f8f5d032fa59e",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
}
]
}
]
Evaluate response when no Reassignment Configuration is found
{
"reassignToId": "2c9180825a6c1adc015a71c9023f0818",
"lookupTrail": []
}
Evaluate response when a long Reassignment trail is found
{
"reassignToId": "2c9180825a6c1adc015a71c9023f0818",
"lookupTrail": [
{
"reassignedToId": "2c918084575812550157589064f33b89",
"reassignedFromId": "2c9180825a6c1adc015a71c9023f0818",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
},
{
"reassignedToId": "073204941f3f49c0b3a3c49d1c17ef0e",
"reassignedFromId": "2c918084575812550157589064f33b89",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
},
{
"reassignedToId": "31d9c631f5574571a935aaa48a6255df",
"reassignedFromId": "073204941f3f49c0b3a3c49d1c17ef0e",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
},
{
"reassignedToId": "279de502e5dc43f4854e1b96f57c578f",
"reassignedFromId": "31d9c631f5574571a935aaa48a6255df",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
}
]
}
Evaluate response when a self-review is found and manager or org admin escalation is applied
{
"reassignToId": "2c9180825a6c1adc015a71c9023f0818",
"lookupTrail": [
{
"reassignedToId": "2c918084575812550157589064f33b89",
"reassignedFromId": "2c9180825a6c1adc015a71c9023f0818",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
},
{
"reassignedToId": "073204941f3f49c0b3a3c49d1c17ef0e",
"reassignedFromId": "2c918084575812550157589064f33b89",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
},
{
"reassignedToId": "31d9c631f5574571a935aaa48a6255df",
"reassignedFromId": "073204941f3f49c0b3a3c49d1c17ef0e",
"reassignmentType": "SELF_REVIEW_DELEGATION"
},
{
"reassignedToId": "279de502e5dc43f4854e1b96f57c578f",
"reassignedFromId": "31d9c631f5574571a935aaa48a6255df",
"reassignmentType": "AUTOMATIC_REASSIGNMENT"
}
]
}
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (from schema)
Schema
A message describing the error
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (from schema)
- 403
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
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.
- application/json
- Schema
- Example (from schema)
Schema
A message describing the error
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (from schema)
- 500
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}