Download OpenAPI specification:Download
This is the API specification for the Access Request related endpoints and data model for PingOne Advanced Identity Cloud - Identity Governance (IGA).
For submitting a new request for access, which will validate the contents of the request, and if there are no issues, create a request for each user-to-catalog item pairing that the request contains. To only check validation an _action of validate is supported, which will allow the caller to see any errors that exist with the current request payload. Regardless of result, no requests will be created when that action is used.
_action required | string Enum: "create" "validate" Action to be performed for requests endpoint. |
runPreventativeScan | boolean Check whether the requested access violates any policies. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
users | Array of strings List of unique user IDs for whom the access is being requested. |
Array of objects List of catalog items being requested for the users. | |
startDate | string The date that the granted access will take effect. The value should be provided in ISO8601 format. |
endDate | string The date that the granted access will end for the user. The value should be provided in ISO8601 format. |
expiryDate | integer The expiry date of the access request, by which if the request is not completed it will be cancelled automatically by the system. The value should be provided in ISO8601 format. |
priority | string Default: "low" Enum: "low" "medium" "high" The priority of the request, either low, medium, or high. |
justification | string The reason for which this request is being submitted. |
accessModifier | string Enum: "add" "remove" The access modifier of this request, i.e., is this an add request or a remove request. |
externalRequestId | string If using an external service (e.g., SNOW) to manage any portion of the access request flow, you can include an ID reference to that external process using this field. |
requestIdPrefix | string This field can be used to assign an additional prefix to the generated UUID for the request(s) that are created from this call. For example, a requestIdPrefix of REQ would result in a UUID like REQ-f8c8f9ae-12b3-4316-b011-c117a9c3f1a2. |
{- "users": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
], - "catalogs": [
- {
- "type": "application",
- "id": "ea412dc4804ae80e625fdd8f7b7521d9ae3f7cae30f2401cf8f3be43d985176843404f1022c44537edeedc0bf11b5e5a028082cc05a7d90843b882c7c4b5d988",
- "data": { }
}
], - "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "expiryDate": "2023-09-05T12:00:00+00:00",
- "priority": "low",
- "justification": "I need this access to start working on a new project.",
- "accessModifier": "add",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "requestIdPrefix": "REQ"
}
{- "result": [
- "f70b1565-8d42-4492-93dd-90173fa62635"
], - "errors": [
- {
- "error": "DUPLICATE",
- "message": "Duplicate request already exists.",
- "user": "e7c38019-844f-4b70-93d1-9bdbfa00f1da",
- "requestId": "3cd52fdd-9725-411f-bcae-0f5f3254e24d",
- "catalogId": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1"
}
]
}
Create request
requestTypeId required | string The ID of the request type |
The payload for creating request. Properties must match the request type schema definition.
id | string The unique identifier of the request. |
object (User) The properties of a user object. | |
requestType | string Enum: "applicationGrant" "applicationRemove" "entitlementGrant" "entitlementRemove" "roleGrant" "roleRemove" The identifier of the request type. |
object (AccessRequest) This information appears under the request key on any request object. It contains all of the relevant information submitted by an end user for the request. The fields startDate, endDate, justification, externalRequestId, isDraft and requestIdPrefix under the common key will appear for all requests. Depending on the request type, there will also be additional request type specific details that appear within this object. | |
application | object (Application) An application object, as stored in IGA |
Array of objects (ApplicationOwner) A list of user objects whom are assigned as the owners of an application | |
Array of objects (User) If applicable, the user who is listed as the owner of the entitlement for which this request is for. | |
Array of objects (User) If applicable, the user who is listed as the owner of the role for which this request is for. | |
object (User) The properties of a user object. | |
object The decision key contains all of the information related to the request lifecycle, such as the status, the task information, comments, and more. | |
object |
{- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": null,
- "comment": null,
- "modify": null,
- "reassign": null,
- "reject": null
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
{- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": null,
- "comment": null,
- "modify": null,
- "reassign": null,
- "reject": null
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
Retrieve the details of a single access request using its unique identifier.
requestId required | string The unique identifier of the request to get. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": null,
- "comment": null,
- "modify": null,
- "reassign": null,
- "reject": null
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
Replace request
requestId required | string The ID of the request |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The payload for replacing request content. Properties must match the request type schema definition of this request
id | string The unique identifier of the request. |
object (User) The properties of a user object. | |
requestType | string Enum: "applicationGrant" "applicationRemove" "entitlementGrant" "entitlementRemove" "roleGrant" "roleRemove" The identifier of the request type. |
object (AccessRequest) This information appears under the request key on any request object. It contains all of the relevant information submitted by an end user for the request. The fields startDate, endDate, justification, externalRequestId, isDraft and requestIdPrefix under the common key will appear for all requests. Depending on the request type, there will also be additional request type specific details that appear within this object. | |
application | object (Application) An application object, as stored in IGA |
Array of objects (ApplicationOwner) A list of user objects whom are assigned as the owners of an application | |
Array of objects (User) If applicable, the user who is listed as the owner of the entitlement for which this request is for. | |
Array of objects (User) If applicable, the user who is listed as the owner of the role for which this request is for. | |
object (User) The properties of a user object. | |
object The decision key contains all of the information related to the request lifecycle, such as the status, the task information, comments, and more. | |
object |
{- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": null,
- "comment": null,
- "modify": null,
- "reassign": null,
- "reject": null
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
{- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": null,
- "comment": null,
- "modify": null,
- "reassign": null,
- "reject": null
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
Update request
requestId required | string The ID of the request |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The payload for updating request
operation | string Enum: "add" "replace" "copy" "move" "increment" "remove" "transform" The operation apply to the field |
field | string The field that will be updated |
value | any The value of the field |
[- {
- "operation": "add",
- "field": "/type",
- "value": null
}
]
{- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": null,
- "comment": null,
- "modify": null,
- "reassign": null,
- "reject": null
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
Perform various actions on a specific request, such as approve, reject, comment, cancel, update, or reassign. Each action may have different payloads depending on the information the caller needs to provide.
requestId required | string The unique identifier of the request to act on. |
phaseName | string For approval task specific actions, the name of the task that the action applies to. |
_action required | string Enum: "cancel" "approve" "reject" "comment" "reassign" "update" "modify" Action to be performed on a single request. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
comment | string The comment text that will be added to the request. |
{- "comment": "Can someone please expedite this approval?"
}
Get requests for which the authenticated user has permissions to view. For additional search capabilities, use the POST /governance/user/{userId}/requests?_action=search API.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- null
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- { }
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Get requests for which the authenticated user has permissions to view. The targetFilter property in the API payload can be used to filter the requests based on the desired criteria.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_action required | string Value: "search" Action to be performed on user requests endpoint. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "result": [
- {
- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- null
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- { }
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Get requests the authenticated user is assigned, either directly, through a role, or through a delegate. The targetFilter property in the API payload can be used to filter the requests based on the desired criteria.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_action required | string Value: "search" Action to be performed on user approvals endpoint. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
actorStatus | string Status of the approver to search on, e.g. "active", "inactive". Active will show tasks which are currenty assigned to the user, while inactive will show tasks that they were assigned and have been completed. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "result": [
- {
- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- null
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- { }
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "phases": [
- {
- "name": "string",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}
}
]
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
This endpoint is used to search IGA for account objects that have been on-boarded as part of any application.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "id": "system/TargetADApp/User/8df77c8b-dac0-4cc5-9f38-b4a467983609",
- "keys": {
- "type": "accountGrant",
- "userId": "041ae68e-c54d-43ae-957d-5bda01d6f259",
- "applicationId": "a87e3d1f-1f9e-4597-bb0a-2ed56d2484a3",
- "accountId": "system/TargetADApp/User/6841028f-2cf7-4439-afa2-51cc3fcb0363"
}, - "account": {
- "state": "PA",
- "status": "3",
- "isManager": "no",
- "depName": "Human Resources",
- "__UID__": "2014",
- "phone": "555-1212",
- "city": "Allentown",
- "jobCode": "2002",
- "address": "1234 Spruce St",
- "__NAME__": "2014",
- "uid": "2014",
- "lastName": "Hart",
- "firstName": "Jeremy",
- "country": "US",
- "depId": "200",
- "email": "jhart@forgerock.com",
- "empType": "1",
- "postalCode": "12345",
- "_id": "2014"
}, - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "descriptor": {
- "idx": {
- "/account": {
- "displayName": "Example Account"
}
}
}, - "glossary": {
- "idx": {
- "/account": {
- "accountType": "normal",
- "accountStatus": "active"
}, - "/application": {
- "requestable": true,
- "classification": "internal"
}
}
}, - "item": {
- "decision": {
- "campaignId": "string",
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "string",
- "decision": "certify",
- "decisionBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decisionDate": "string"
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 1,
- "resultCount": 1
}
This endpoint is used to search IGA for account objects that have been on-boarded as part of any application. Additional filter criteria can be provided to allow searching by application, user, or glossary data.
_action required | string Value: "search" Action to be performed for account endpoint. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
{- "result": [
- {
- "id": "system/TargetADApp/User/8df77c8b-dac0-4cc5-9f38-b4a467983609",
- "keys": {
- "type": "accountGrant",
- "userId": "041ae68e-c54d-43ae-957d-5bda01d6f259",
- "applicationId": "a87e3d1f-1f9e-4597-bb0a-2ed56d2484a3",
- "accountId": "system/TargetADApp/User/6841028f-2cf7-4439-afa2-51cc3fcb0363"
}, - "account": {
- "state": "PA",
- "status": "3",
- "isManager": "no",
- "depName": "Human Resources",
- "__UID__": "2014",
- "phone": "555-1212",
- "city": "Allentown",
- "jobCode": "2002",
- "address": "1234 Spruce St",
- "__NAME__": "2014",
- "uid": "2014",
- "lastName": "Hart",
- "firstName": "Jeremy",
- "country": "US",
- "depId": "200",
- "email": "jhart@forgerock.com",
- "empType": "1",
- "postalCode": "12345",
- "_id": "2014"
}, - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "descriptor": {
- "idx": {
- "/account": {
- "displayName": "Example Account"
}
}
}, - "glossary": {
- "idx": {
- "/account": {
- "accountType": "normal",
- "accountStatus": "active"
}, - "/application": {
- "requestable": true,
- "classification": "internal"
}
}
}, - "item": {
- "decision": {
- "campaignId": "string",
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "string",
- "decision": "certify",
- "decisionBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decisionDate": "string"
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 1,
- "resultCount": 1
}
Retrieve the details of a single account object using its unique identifier.
accountId required | string The unique identifier of the account to get. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "system/TargetADApp/User/8df77c8b-dac0-4cc5-9f38-b4a467983609",
- "keys": {
- "type": "accountGrant",
- "userId": "041ae68e-c54d-43ae-957d-5bda01d6f259",
- "applicationId": "a87e3d1f-1f9e-4597-bb0a-2ed56d2484a3",
- "accountId": "system/TargetADApp/User/6841028f-2cf7-4439-afa2-51cc3fcb0363"
}, - "account": {
- "state": "PA",
- "status": "3",
- "isManager": "no",
- "depName": "Human Resources",
- "__UID__": "2014",
- "phone": "555-1212",
- "city": "Allentown",
- "jobCode": "2002",
- "address": "1234 Spruce St",
- "__NAME__": "2014",
- "uid": "2014",
- "lastName": "Hart",
- "firstName": "Jeremy",
- "country": "US",
- "depId": "200",
- "email": "jhart@forgerock.com",
- "empType": "1",
- "postalCode": "12345",
- "_id": "2014"
}, - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "descriptor": {
- "idx": {
- "/account": {
- "displayName": "Example Account"
}
}
}, - "glossary": {
- "idx": {
- "/account": {
- "accountType": "normal",
- "accountStatus": "active"
}, - "/application": {
- "requestable": true,
- "classification": "internal"
}
}
}, - "item": {
- "decision": {
- "campaignId": "string",
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "string",
- "decision": "certify",
- "decisionBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decisionDate": "string"
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
Retrieve the glossary specific details of a single account object using its unique identifier.
accountId required | string The unique identifier of the account to get glossary information for. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "accountType": "normal",
- "accountStatus": "active"
}
Create glossary entry for a single account object using its unique identifier.
accountId required | string The unique identifier of the account to get. |
_action required | string Value: "create" Action to be performed for account endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
This is an object of arbitrary key-value pairs for account glossary metadata that has been stored for a given account object.
{- "accountType": "normal",
- "accountStatus": "active"
}
{- "accountType": "normal",
- "accountStatus": "active"
}
Create or update a glossary entry for a single account object using its unique identifier.
accountId required | string The unique identifier of the account to get. |
_action required | string Value: "create" Action to be performed for account endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
This is an object of arbitrary key-value pairs for account glossary metadata that has been stored for a given account object.
{- "accountType": "normal",
- "accountStatus": "active"
}
{- "accountType": "normal",
- "accountStatus": "active"
}
Get audit reports
objectId | string Id of the object to retrieve report. |
startDate | string First date to inlcude in the report |
endDate | string Last date to inlcude in the report |
queryId | string Required parameter for pagination, use value from previous response. |
dataSetId | string Required parameter for pagination, use value from previous response. |
_pagedResultCookie | string Used for pagination of results. |
{- "result": [
- {
- "actor": "string",
- "eventType": "string",
- "objectId": "string",
- "action": "string",
- "timestamp": "string",
- "changes": [
- {
- "after_value": "New City",
- "before_value": "Old City",
- "field_name": "city"
}
]
}
], - "resultCount": 0,
- "totalCount": 0,
- "queryId": "string",
- "dataSetId": "string",
- "pageToken": "string"
}
Get audit reports for user.
userId required | string Id of the user to retrieve report. |
queryId | string Required parameter for pagination, use value from previous response. |
dataSetId | string Required parameter for pagination, use value from previous response. |
_pagedResultCookie | string Used for pagination of results. |
{- "result": [
- {
- "actor": "string",
- "eventType": "string",
- "objectId": "string",
- "action": "string",
- "timestamp": "string",
- "changes": [
- {
- "after_value": "New City",
- "before_value": "Old City",
- "field_name": "city"
}
]
}
], - "resultCount": 0,
- "totalCount": 0,
- "queryId": "string",
- "dataSetId": "string",
- "pageToken": "string"
}
Get a list of items from the IGA Access Catalog. Each entry represents a single type of requestable access that can be added to a request. The current supported types of access that are requestable are application, entitlement, and role.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
ignoreRequestable | string Example: ignoreRequestable=false For admin use, will allow admin to view catalog items not marked as requestable when set to true |
userId | string Example: userId=3f9aeffb-dec7-484d-9031-a9e28646d284 For admin use, when provided will return the scoped catalog access that matches the given user id. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "26f2bd6b-3d23-4fbb-92f7-9aecd0183852",
- "item": {
- "type": "accountGrant"
}, - "application": {
- "_rev": "23b2b11e-3ee6-499d-9e66-88ea2a867f98-50136",
- "authoritative": true,
- "connectorId": "AzureADAuth1",
- "description": "AD Auth App1",
- "fr": {
- "realm": "alpha"
}, - "id": "26f2bd6b-3d23-4fbb-92f7-9aecd0183852",
- "mappingNames": [
- "systemAzureadauth1User_managedAlpha_user"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-06-09T15:01:49.259Z"
}, - "name": "AzureADAuth1",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "_rev": "23b2b11e-3ee6-499d-9e66-88ea2a867f98-1944",
- "accountStatus": "active",
- "cn": "iga admin",
- "fr": {
- "realm": "alpha"
}, - "givenName": "iga",
- "id": "b409de90-dc24-42ee-b315-7e133c7cfaca",
- "mail": "iga-admin@fr.net",
- "metadata": {
- "entityType": "/openidm/managed/user",
- "created": "2023-06-08T23:02:15.385Z"
}, - "sn": "admin",
- "userName": "iga-admin"
}
]
}
Get a list of items from the IGA Access Catalog using additional filter criteria. Each entry represents a single type of requestable access that can be added to a request. The current supported types of access that are requestable are application, entitlement, and role.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
ignoreRequestable | string Example: ignoreRequestable=false For admin use, will allow admin to view catalog items not marked as requestable when set to true |
userId | string Example: userId=3f9aeffb-dec7-484d-9031-a9e28646d284 For admin use, when provided will return the scoped catalog access that matches the given user id. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
{- "result": [
- {
- "id": "system_TargetADApp2_directoryRole_08ec32b7-b9c5-4d71-bd72-ea7b8584c5a4",
- "item": {
- "type": "entitlementGrant"
}, - "descriptor": {
- "idx": {
- "/entitlement": {
- "displayName": "Directory Readers"
}
}
}, - "glossary": {
- "idx": {
- "/entitlement": {
- "requestable": true
}
}
}, - "entitlement": {
- "_id": "08ec32b7-b9c5-4d71-bd72-ea7b8584c5a4",
- "description": "Can read basic directory information. Commonly used to grant directory read access to applications and guests.",
- "displayName": "Directory Readers"
}, - "assignment": {
- "_rev": "23b2b11e-3ee6-499d-9e66-88ea2a867f98-72216",
- "attributes": [
- {
- "name": "__roles__",
- "value": [
- "08ec32b7-b9c5-4d71-bd72-ea7b8584c5a4"
]
}
], - "description": "Can read basic directory information. Commonly used to grant directory read access to applications and guests.",
- "fr": {
- "realm": "alpha"
}, - "id": "system_TargetADApp2_directoryRole_08ec32b7-b9c5-4d71-bd72-ea7b8584c5a4",
- "mapping": "managedAlpha_user_systemTargetadapp2User",
- "metadata": {
- "entityType": "/openidm/managed/assignment",
- "created": "2023-06-09T22:09:42.877Z"
}, - "name": "Directory Readers",
- "type": "__ENTITLEMENT__"
}, - "application": {
- "_rev": "23b2b11e-3ee6-499d-9e66-88ea2a867f98-67718",
- "authoritative": false,
- "connectorId": "TargetADApp2",
- "description": "Target AD App2",
- "fr": {
- "realm": "alpha"
}, - "id": "a4e54fcb-9088-4d42-bb4a-138d69b2486e",
- "mappingNames": [
- "systemTargetadapp2User_managedAlpha_user",
- "systemTargetadapp2Directoryrole_managedAlpha_assignment",
- "systemTargetadapp2__group___managedAlpha_assignment",
- "managedAlpha_user_systemTargetadapp2User"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-06-09T20:43:57.74Z"
}, - "name": "TargetADApp2",
- "ssoIdentities": {
- "oidcId": "TargetADApp2"
}, - "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "_rev": "23b2b11e-3ee6-499d-9e66-88ea2a867f98-1944",
- "accountStatus": "active",
- "cn": "iga admin",
- "fr": {
- "realm": "alpha"
}, - "givenName": "iga",
- "id": "b409de90-dc24-42ee-b315-7e133c7cfaca",
- "mail": "iga-admin@fr.net",
- "metadata": {
- "entityType": "/openidm/managed/user",
- "created": "2023-06-08T23:02:15.385Z"
}, - "sn": "admin",
- "userName": "iga-admin"
}
], - "metadata": {
- "firstCreated": "2024-01-11T12:00:00+00:00",
- "created": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 1,
- "resultCount": 1
}
This endpoint will retrieve all of the currently configured properties that are eligible to be used for search/sort when searching against the catalog API. Each property will include some additional metadata about the property, such as whether or not the property is multi value and its data type.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "application": [
- {
- "key": "application.description",
- "name": "description",
- "displayName": "Description",
- "description": "Application Description",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "application.name",
- "name": "name",
- "displayName": "Name",
- "description": "Application name",
- "type": "string",
- "isMultiValue": false
}
], - "entitlement": [
- {
- "key": "glossary.idx./entitlement.description",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": null,
- "searchable": true,
- "isInternal": true,
- "displayName": "Description",
- "name": "description",
- "description": "Description of entitlement",
- "objectType": "/openidm/managed/assignment",
- "type": "string"
}, - {
- "key": "entitlement.displayName",
- "name": "displayName",
- "displayName": "Display Name",
- "description": "",
- "type": "text",
- "isMultiValue": false
}, - {
- "key": "glossary.idx./entitlement.entitlementOwner",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": "/openidm/managed/user",
- "searchable": true,
- "isInternal": true,
- "displayName": "Entitlement Owner",
- "name": "entitlementOwner",
- "description": "Entitlement Owner of Object",
- "objectType": "/openidm/managed/assignment",
- "type": "managedObject"
}, - {
- "key": "glossary.idx./entitlement.requestable",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": null,
- "searchable": true,
- "isInternal": true,
- "displayName": "Requestable",
- "name": "requestable",
- "description": "Can the entitlement be requested",
- "objectType": "/openidm/managed/assignment",
- "type": "boolean"
}
], - "role": [
- {
- "key": "role.applications._ref",
- "name": "applications",
- "displayName": "Applications",
- "description": "Role Applications",
- "type": "managedObject",
- "isMultiValue": true,
- "managedObjectType": "/openidm/managed/alpha_application"
}, - {
- "key": "role.description",
- "name": "description",
- "displayName": "Description",
- "description": "The role description, used for display purposes.",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "role.id",
- "name": "_id",
- "displayName": "Name",
- "description": "Role ID",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "role.name",
- "name": "name",
- "displayName": "Name",
- "description": "The role name, used for display purposes.",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "glossary.idx./role.requestable",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": null,
- "searchable": true,
- "isInternal": true,
- "displayName": "Requestable",
- "name": "requestable",
- "description": "Can the role be requested",
- "objectType": "/openidm/managed/role",
- "type": "boolean"
}, - {
- "key": "role.members._ref",
- "name": "members",
- "displayName": "Role Members",
- "description": "Role Members",
- "type": "managedObject",
- "isMultiValue": true,
- "managedObjectType": "/openidm/managed/alpha_user"
}
]
}
This endpoint will retrieve all of the currently configured properties that are eligible to be used for search/sort for a single object when searching against the catalog API. For example, all of the entitlement specific properties you can use to search. Each property will include some additional metadata about the property, such as whether or not the property is multi value and its data type.
objectType required | string Enum: "application" "entitlement" "role" Type of object to get filter properties for. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "key": "application.description",
- "name": "description",
- "displayName": "Description",
- "description": "Application Description",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "application.name",
- "name": "name",
- "displayName": "Name",
- "description": "Application name",
- "type": "string",
- "isMultiValue": false
}
]
Returns certification templates, based on a set of query parameters.
queryString | string String to search against name and description. |
pageSize | string Number of results per page. |
pageNumber | string Page number of results to show. |
searchAfter | string An alternate of page number, corresponds to the searchAfterKey value sent in previous page's results. |
sortBy | string Property to sort results by. |
sortDesc | string Direction to sort results by. |
certificationType | string Enum: "identity" "roleMembership" "entitlement" Filter by certification type. |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "active",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}
}
]
Creates a new certification template based on the given payload.
The contents of the new template.
id | string ID of template |
name | string Campaign template name |
description | string Description of the certification template |
certificationType | string Value: "identity" Type of certification (identity, etc.) |
ownerId | string Owner of the certification |
object (Schedule) | |
object (TargetFilter) | |
Array of objects (CertificationStage) List of stage definitions | |
stageDuration | integer Duration of stage in days |
expirationAction | string Enum: "certify" "revoke" "exception" "reassign" "none" Action to take on certification line items on expiration |
expirationActionDelay | string Duration to wait before taking expiration action in days |
expirationReassignee | string User or role to reassign task to on expiration |
stagingEnabled | boolean If enabled, certification will sit in staging phase until activated |
defaultCertifierId | string ID of user that will be assigned as certifier when one cannot be calculated |
allowBulkCertify | boolean Allow users to bulk certify line items in this campaign |
allowPartialSignoff | boolean Allow users to sign off decision items in a campaign before all have been acted on |
remediationRule | string Script to run on sign off of line items; for example calling an external workflow |
remediationDelay | integer Duration to wait in days before executing remediation |
exceptionDuration | integer Maximum length of time, in days, that exceptions are allowed on line items |
enableForward | boolean Enable certifier forwarding of line items |
enableReassign | boolean Enable certifier reassign of line items |
object (CertificationPermissions) Permissions certification actor has assigned to them | |
selfCertificationRule | string Enum: "all" "restricted" "none" What users can certify their own access (restricted is owners/admins only) |
assignmentNotification | string Notification template to send to certifier on assignment |
reassignNotification | string Notification template to send to new certifiers on re-assignment |
expirationNotification | string Notification template to send to certifier on expiration |
expirationNotificationDay | string Length of time, in days, before a certification expires that an expiring notification is sent out to users. |
reminderNotification | string Notification template to send to certifier as a reminder |
reminderFrequency | integer How often to send reminder notification to certifier |
escalationNotification | string Notification template to send to escalation owner |
escalationFrequency | integer How often to send escalation notifications, in days |
escalationOwner | string ID of owner who receives escalation notifications |
excludeConditionalAccess | boolean Exclude role memberships that are granted conditionally |
excludeRoleBasedAccess | boolean Exclude entitlement or account grants that are granted via role |
includeChildOrganizations | boolean When organizations are provided in the filter, also include child organizations of those provided |
Array of objects (CertificationTemplateParameter) List of parameters this campaign template expects to be provided at runtime | |
templateEventType | string Value: "user" For event based templates, this is the type of entity the event references |
{ "name": "Active Directory Certification", "description": "Certifying the accounts within active directory applications", "stagingEnabled": false, "schedule": null, "allowSelfCertification": false, "selfCertificationRule": "none", "enableForward": true, "enableReassign": true, "reassignPermissions": { "certify": true, "comment": true, "exception": true, "forward": true, "reassign": true, "reset": true, "revoke": true, "signoff": true }, "exceptionDuration": 7, "allowBulkCertify": true, "allowPartialSignoff": true, "remediationRule": "", "certificationType": "identity", "ownerId": "managed/user/926de311-0949-415d-a9e4-94a87632b0f6", "stageDuration": 14, "expirationAction": "revoke", "expirationActionDelay": 0, "expirationReassignee": null, "stages": [ { "certifierType": "user", "certifierId": "managed/user/79cc9f29-8d89-4958-8074-ce0df88979a2" } ], "defaultCertifierId": null, "assignmentNotification": null, "reassignNotification": null, "expirationNotification": null, "reminderNotification": null, "reminderFrequency": 0, "escalationNotification": null, "escalationFrequency": null, "escalationOwner": null, "remediationDelay": 0, "targetFilter": { "user": { "operator": "ALL", "operand": [] }, "type": [ "accountGrant" ], "application": { "operator": "CONTAINS", "operand": { "targetName": "name", "targetValue": "Active Directory" } } }, "excludeConditionalAccess": true, "excludeRoleBasedAccess": true, "includeChildOrganizations": true }
{- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "active",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}
}
Takes the definition of an existing certification template and makes a copy of it.
id required | string ID of the template object to copy. |
{- "message": "Cert Template duplicated successfully"
}
Updates a certification template at the requested id in the path.
id required | string ID of the template object. |
The template fields to update.
id | string ID of template |
name | string Campaign template name |
description | string Description of the certification template |
certificationType | string Value: "identity" Type of certification (identity, etc.) |
ownerId | string Owner of the certification |
object (Schedule) | |
object (TargetFilter) | |
Array of objects (CertificationStage) List of stage definitions | |
stageDuration | integer Duration of stage in days |
expirationAction | string Enum: "certify" "revoke" "exception" "reassign" "none" Action to take on certification line items on expiration |
expirationActionDelay | string Duration to wait before taking expiration action in days |
expirationReassignee | string User or role to reassign task to on expiration |
stagingEnabled | boolean If enabled, certification will sit in staging phase until activated |
defaultCertifierId | string ID of user that will be assigned as certifier when one cannot be calculated |
allowBulkCertify | boolean Allow users to bulk certify line items in this campaign |
allowPartialSignoff | boolean Allow users to sign off decision items in a campaign before all have been acted on |
remediationRule | string Script to run on sign off of line items; for example calling an external workflow |
remediationDelay | integer Duration to wait in days before executing remediation |
exceptionDuration | integer Maximum length of time, in days, that exceptions are allowed on line items |
enableForward | boolean Enable certifier forwarding of line items |
enableReassign | boolean Enable certifier reassign of line items |
object (CertificationPermissions) Permissions certification actor has assigned to them | |
selfCertificationRule | string Enum: "all" "restricted" "none" What users can certify their own access (restricted is owners/admins only) |
assignmentNotification | string Notification template to send to certifier on assignment |
reassignNotification | string Notification template to send to new certifiers on re-assignment |
expirationNotification | string Notification template to send to certifier on expiration |
expirationNotificationDay | string Length of time, in days, before a certification expires that an expiring notification is sent out to users. |
reminderNotification | string Notification template to send to certifier as a reminder |
reminderFrequency | integer How often to send reminder notification to certifier |
escalationNotification | string Notification template to send to escalation owner |
escalationFrequency | integer How often to send escalation notifications, in days |
escalationOwner | string ID of owner who receives escalation notifications |
excludeConditionalAccess | boolean Exclude role memberships that are granted conditionally |
excludeRoleBasedAccess | boolean Exclude entitlement or account grants that are granted via role |
includeChildOrganizations | boolean When organizations are provided in the filter, also include child organizations of those provided |
Array of objects (CertificationTemplateParameter) List of parameters this campaign template expects to be provided at runtime | |
templateEventType | string Value: "user" For event based templates, this is the type of entity the event references |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "active",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}
}
]
Deletes a certification template at the requested id in the path. Does not remove traceability as campaign instances of the template copy over its contents when created into a campaign.
id required | string ID of the template object. |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "active",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}
}
]
Returns a collection of schema properties that are available to populate the certification template's target filter property, including properties of application, user, entitlement, role, and other objects.
{- "application": [
- {
- "key": "application.description",
- "name": "description",
- "displayName": "Description",
- "description": "Application Description",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "application.name",
- "name": "name",
- "displayName": "Name",
- "description": "Application name",
- "type": "string",
- "isMultiValue": false
}
], - "entitlement": [
- {
- "key": "glossary.idx./entitlement.description",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": null,
- "searchable": true,
- "isInternal": true,
- "displayName": "Description",
- "name": "description",
- "description": "Description of entitlement",
- "objectType": "/openidm/managed/assignment",
- "type": "string"
}, - {
- "key": "entitlement.displayName",
- "name": "displayName",
- "displayName": "Display Name",
- "description": "",
- "type": "text",
- "isMultiValue": false
}, - {
- "key": "glossary.idx./entitlement.entitlementOwner",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": "/openidm/managed/user",
- "searchable": true,
- "isInternal": true,
- "displayName": "Entitlement Owner",
- "name": "entitlementOwner",
- "description": "Entitlement Owner of Object",
- "objectType": "/openidm/managed/assignment",
- "type": "managedObject"
}, - {
- "key": "glossary.idx./entitlement.requestable",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": null,
- "searchable": true,
- "isInternal": true,
- "displayName": "Requestable",
- "name": "requestable",
- "description": "Can the entitlement be requested",
- "objectType": "/openidm/managed/assignment",
- "type": "boolean"
}
], - "role": [
- {
- "key": "role.applications._ref",
- "name": "applications",
- "displayName": "Applications",
- "description": "Role Applications",
- "type": "managedObject",
- "isMultiValue": true,
- "managedObjectType": "/openidm/managed/alpha_application"
}, - {
- "key": "role.description",
- "name": "description",
- "displayName": "Description",
- "description": "The role description, used for display purposes.",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "role.id",
- "name": "_id",
- "displayName": "Name",
- "description": "Role ID",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "role.name",
- "name": "name",
- "displayName": "Name",
- "description": "The role name, used for display purposes.",
- "type": "string",
- "isMultiValue": false
}, - {
- "key": "glossary.idx./role.requestable",
- "allowedValues": [ ],
- "isIndexed": true,
- "isMultiValue": false,
- "managedObjectType": null,
- "searchable": true,
- "isInternal": true,
- "displayName": "Requestable",
- "name": "requestable",
- "description": "Can the role be requested",
- "objectType": "/openidm/managed/role",
- "type": "boolean"
}, - {
- "key": "role.members._ref",
- "name": "members",
- "displayName": "Role Members",
- "description": "Role Members",
- "type": "managedObject",
- "isMultiValue": true,
- "managedObjectType": "/openidm/managed/alpha_user"
}
]
}
Returns certification campaigns based on a set of query parameters.
queryString | string String to search against name and description. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
status | string Enum: "active" "closed" Filter by status of the certification. |
certificationType | string Value: "identity" Filter by certification type. |
{- "result": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "in-progress",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}, - "templateId": "string",
- "startDate": "string",
- "deadline": "string",
- "completionDate": "string",
- "completedBy": { },
- "expirationNotificationDate": "string",
- "reminderNotificationDate": "string",
- "escalationNotificationDate": "string",
- "etlJobId": "string",
- "systemMessages": {
- "info": [
- { }
], - "errors": [
- { }
]
}
}
], - "totalHits": 0,
- "searchAfterKey": [
- "string"
]
}
Returns the certification campaign from the provided campaign id.
certId required | string ID of the certification campaign. |
{- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "in-progress",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}, - "templateId": "string",
- "startDate": "string",
- "deadline": "string",
- "completionDate": "string",
- "completedBy": { },
- "expirationNotificationDate": "string",
- "reminderNotificationDate": "string",
- "escalationNotificationDate": "string",
- "etlJobId": "string",
- "systemMessages": {
- "info": [
- { }
], - "errors": [
- { }
]
}, - "totalTargets": 0,
- "totalItems": 0,
- "totalItemsComplete": 0,
- "percentItemsComplete": 0
}
Returns the tasks assigned to different actors (certifiers) as part of a certification.
certId required | string ID of the certification campaign. |
queryString | string Search tasks based on reviewer information (userName, sn, givenName, mail) |
pageSize | string Number of results per page. |
pageNumber | string Page number of results to show. |
sortBy | string Term on which to sort tasks (e.g. actor.userName, progress) |
sortDir | string Direction on which to sort ('asc' or 'desc') |
{- "result": [
- {
- "actor": {
- "id": "string",
- "givenName": "string",
- "sn": "string",
- "userName": "string",
- "type": "user",
- "name": "string",
- "key": "string"
}, - "inProgress": 0,
- "complete": 0,
- "total": 0,
- "progress": 0,
- "status": "staging"
}
]
}
Update a certification's deadline when you provide a new one.
certId required | string ID of the certification campaign. |
newDeadline | string New deadline to update. |
{- "newDeadline": "2023-05-01T12:00:00+00:00"
}
{- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "in-progress",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}, - "templateId": "string",
- "startDate": "string",
- "deadline": "string",
- "completionDate": "string",
- "completedBy": { },
- "expirationNotificationDate": "string",
- "reminderNotificationDate": "string",
- "escalationNotificationDate": "string",
- "etlJobId": "string",
- "systemMessages": {
- "info": [
- { }
], - "errors": [
- { }
]
}, - "totalTargets": 0,
- "totalItems": 0,
- "totalItemsComplete": 0,
- "percentItemsComplete": 0
}
Cancels a certification campaign at the requested id in the path. This only cancels existing in-progress action items. It will not revert any decisions that have been signed-off and acted on.
certId required | string ID of the certification campaign. |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "certificationType": "identity",
- "ownerId": "string",
- "schedule": {
- "id": "string",
- "type": "simple",
- "startTime": "string",
- "endTime": "string",
- "repeatCount": 0,
- "repeatInterval": 0,
- "schedule": "string",
- "invokeContext": { },
- "enabled": true
}, - "targetFilter": {
- "user": {
- "operator": "EQUALS",
- "operand": {
- "targetName": "accountStatus",
- "targetValue": "active"
}
}, - "application": {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "name",
- "targetValue": "SalesForce"
}
}, - "type": [
- "accountGrant"
], - "memberOfOrg": [
- "52cf01b4-288e-4c21-aed6-f992be073988"
]
}, - "stages": [
- {
- "name": "string",
- "certifierType": "user",
- "certifierId": "string"
}
], - "stageDuration": 0,
- "expirationAction": "certify",
- "expirationActionDelay": "string",
- "expirationReassignee": "string",
- "stagingEnabled": true,
- "defaultCertifierId": "string",
- "allowBulkCertify": true,
- "allowPartialSignoff": true,
- "remediationRule": "string",
- "remediationDelay": 0,
- "exceptionDuration": 0,
- "enableForward": true,
- "enableReassign": true,
- "reassignPermissions": {
- "certify": true,
- "comment": true,
- "exception": true,
- "forward": true,
- "reassign": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "selfCertificationRule": "all",
- "assignmentNotification": "string",
- "reassignNotification": "string",
- "expirationNotification": "string",
- "expirationNotificationDay": "string",
- "reminderNotification": "string",
- "reminderFrequency": 0,
- "escalationNotification": "string",
- "escalationFrequency": 0,
- "escalationOwner": "string",
- "excludeConditionalAccess": true,
- "excludeRoleBasedAccess": true,
- "includeChildOrganizations": true,
- "parameters": [
- {
- "id": "string",
- "displayName": "string",
- "path": "string"
}
], - "templateEventType": "user",
- "status": "in-progress",
- "scheduleId": "string",
- "ownerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "defaultCertifierInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "escalationOwnerInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string"
}, - "expirationReassigneeInfo": {
- "id": "string",
- "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}, - "templateId": "string",
- "startDate": "string",
- "deadline": "string",
- "completionDate": "string",
- "completedBy": { },
- "expirationNotificationDate": "string",
- "reminderNotificationDate": "string",
- "escalationNotificationDate": "string",
- "etlJobId": "string",
- "systemMessages": {
- "info": [
- { }
], - "errors": [
- { }
]
}
}
]
Returns the certification tasks that are currently assigned to the logged in end-user.
status required | string Enum: "active" "expired" "complete" ID of the certification campaign. |
{- "results": [
- {
- "status": "in-progress",
- "campaignId": "19cf170e-5dd8-4159-a467-c4f018f1a0c8",
- "certifierId": "managed/user/f7089551-b8c6-402f-a4f7-5f8f0724ff30",
- "startDate": "2024-11-19T17:52:30+00:00",
- "deadline": "2024-12-03T17:52:30+00:00",
- "campaignName": "Quarterly Review",
- "totals": {
- "in-progress": 53,
- "total": 53
}, - "progress": 0,
- "certifier": {
- "givenName": "Bernice",
- "id": "f7089551-b8c6-402f-a4f7-5f8f0724ff30",
- "mail": "Bernice@IGATestQA.onmicrosoft.com",
- "sn": "Hablot",
- "userName": "Bernice@IGATestQA.onmicrosoft.com",
- "type": "user",
- "key": "managed/user/f7089551-b8c6-402f-a4f7-5f8f0724ff30"
}
}
], - "totalCount": 0
}
Returns the certification line-items that belong to this campaign, filtered by parameters. Certifier sign-off is indicated by status. The certifier's decision is indicated by decision.
certId required | string ID of the certification campaign. |
targetId | string ID of the target of the line-item. |
pageSize | string Number of items to return. |
pageNumber | string Page number of results to return. |
searchAfter | string An alternate of page number, corresponds to the searchAfterKey value sent in previous page's results. |
status | string Enum: "in-progress" "signed-off" "pending" "cancelled" "expired" Status of the line-item. |
decision | string Enum: "certify" "revoke" "exception" "abstain" Decision taken on the line-item. |
ownerId | string ID of the owner of the line-item. |
user | string ID of the user the line-item(s) are certifying, |
resource | string ID of the resource the line-item(s) are certifying. |
application | string ID of the application the line-items(s) are certifying. |
actorId | string ID of any actor (certifier) in the line-items actor list. |
primaryReviewerId | string ID of the primary reviewer/certifier of the line-items. |
user.userName | string Username of the user the line-item(s) are certifying. |
itemType | string Enum: "Account Grant" "Resource Grant" Item type of the line-item. |
account | string ID of the account the line-items(s) are certifying. |
groupBy | string Aggregates the results to allow the frontend to group line-items. |
appendUserPermissions | boolean Appends the logged in user permissions for each line-item. Used by frontend. |
taskStatus | string Enum: "active" "complete" "closed" "cancelled" "expired" Task level alternative to status (which is item level). |
getCount | boolean If true, will return the line item count based on the query. |
isAdmin | boolean If true and if the user has permission it will return the results as an admin. |
{- "result": [
- {
- "id": "string",
- "decision": {
- "certification": {
- "campaignId": "string",
- "targetId": "string",
- "status": "in-progress",
- "decision": "certify",
- "completionDate": "string",
- "completedBy": { },
- "decisionDate": "string",
- "decisionBy": { },
- "remediationDate": "string",
- "remediated": true,
- "remediationStatus": "pending",
- "confidenceScore": 0,
- "stageIndex": 0,
- "deadline": "string",
- "isExpired": true,
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": [
- {
- "id": "string",
- "permissions": {
- "approve": true,
- "reject": true,
- "reassign": true,
- "modify": true,
- "comment": true,
- "certify": true,
- "exception": true,
- "forward": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}
]
}
}
}
], - "resultCount": 0,
- "totalHits": 0,
- "searchAfterKey": [
- "string"
]
}
Returns the certification line-items that belong to the specified campaign, filtered by parameters.
certId required | string ID of the certification campaign. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
appendUserPermissions | boolean Appends the logged in user permissions for each line-item. |
taskStatus | string Enum: "active" "complete" "closed" "cancelled" "expired" Task level status search. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "decision.certification.primaryReviewer.id",
- "targetValue": "managed/user/c1147059-b6ab-4cf6-937c-b93202c6cec8"
}
}, - {
- "operator": "EQUALS",
- "operand": {
- "targetName": "item.type",
- "targetValue": "accountGrant"
}
}
]
}
}
{- "result": [
- {
- "id": "string",
- "decision": {
- "certification": {
- "campaignId": "string",
- "targetId": "string",
- "status": "in-progress",
- "decision": "certify",
- "completionDate": "string",
- "completedBy": { },
- "decisionDate": "string",
- "decisionBy": { },
- "remediationDate": "string",
- "remediated": true,
- "remediationStatus": "pending",
- "confidenceScore": 0,
- "stageIndex": 0,
- "deadline": "string",
- "isExpired": true,
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": [
- {
- "id": "string",
- "permissions": {
- "approve": true,
- "reject": true,
- "reassign": true,
- "modify": true,
- "comment": true,
- "certify": true,
- "exception": true,
- "forward": true,
- "reset": true,
- "revoke": true,
- "signoff": true
}, - "userName": "string",
- "mail": "string",
- "givenName": "string",
- "sn": "string",
- "name": "string"
}
]
}
}
}
], - "resultCount": 0,
- "totalCount": 0,
- "searchAfterKey": [
- "string"
]
}
Action taken on the given lineItems
certId required | string ID of the certification campaign. |
action required | string Enum: "certify" "revoke" "exception" "comment" "forward" "signoff" The specific action to take |
selectAllActorId | string When provided, the action will target all decision items the given actor is the primary reviewer for, and ids array can be left empty. |
Contents of the action.
ids required | Array of strings |
{ "ids": [ "e9e4d260-1b55-4331-8468-5824344b8bc3", "01d8ccf0-e132-49f1-9c82-c52a6fea0154" ] }
{- "message": "string",
- "idsNotActedOn": [
- "string"
]
}
Take action on a single item.
certId required | string ID of the certification campaign. |
lineItemId required | string ID of the line item. |
action required | string Enum: "certify" "revoke" "exception" "comment" "reassign" "forward" The specific action to take |
Contents of the action.
{ }
{- "message": "string",
- "idsNotActedOn": [
- "string"
]
}
Reads and returns all of the IGA configuration properties, across all categories (currently only iga_access_request configuration is available.) These properties are used throughout IGA to determine how certain functionality should behave. For example, iga_access_request contains configuration for whether or not justification is required to reject a request, or whether or not a user can approve their own access.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "iga_access_request": {
- "requireRequestJustification": true,
- "requireRejectJustification": true,
- "requireApproveJustification": true,
- "preventRequestWithViolation": true,
- "requireRequestJustificationWithViolation": true,
- "defaultApprover": "managed/role/0e3de08d-fb8f-4f7f-91a8-4e65576fcac4",
- "allowSelfApproval": true
}, - "iga_global": {
- "enableScoping": false
}, - "iga_autoid_integration": {
- "enableAutoId": true,
- "highScorePercentThreshold": 0,
- "mediumScorePercentThreshold": 0,
- "lowScorePercentThreshold": 0,
- "training_features_filter": [
- "user.managerId"
]
}
}
Update all of the IGA configuration properties, across all categories (currently only iga_access_request configuration is available.) Note that all current configuration must be included when saving changes, any omitted keys will be replaced by default values.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
required | object (IGAAccessRequestConfig) IGA configuration options specifically related to access request use cases. |
object (IGAGlobalConfig) IGA configuration options that are applied across IGA functionality. | |
object (IGAAutoIdConfig) IGA configuration options specifically related to auto id use cases. |
{- "iga_access_request": {
- "requireRequestJustification": true,
- "requireRejectJustification": true,
- "requireApproveJustification": true,
- "preventRequestWithViolation": true,
- "requireRequestJustificationWithViolation": true,
- "defaultApprover": "managed/role/0e3de08d-fb8f-4f7f-91a8-4e65576fcac4",
- "allowSelfApproval": true
}, - "iga_global": {
- "enableScoping": false
}, - "iga_autoid_integration": {
- "enableAutoId": true,
- "highScorePercentThreshold": 0,
- "mediumScorePercentThreshold": 0,
- "lowScorePercentThreshold": 0,
- "training_features_filter": [
- "user.managerId"
]
}
}
Reads and returns IGA configuration settings for a given category (e.g. iga_access_request.)
key required | string |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "requireRequestJustification": true,
- "requireRejectJustification": true,
- "requireApproveJustification": true,
- "preventRequestWithViolation": true,
- "requireRequestJustificationWithViolation": true,
- "defaultApprover": "managed/role/0e3de08d-fb8f-4f7f-91a8-4e65576fcac4",
- "allowSelfApproval": true
}
Update IGA configuration settings for a given category (e.g. iga_access_request).
key required | string |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
requireRequestJustification | boolean Whether requests require justification to be submitted. |
requireRejectJustification | boolean Whether request rejections require justification to be submitted. |
requireApproveJustification | boolean Whether request approvals require justification to be submitted. |
preventRequestWithViolation | boolean Prevents whether or not a request can be generated if it causes violations. |
requireRequestJustificationWithViolation | boolean Whether requests require justification to be submitted on violations generated. |
defaultApprover | string The default role that can be used to handle approvals when an approver cannot be calculated. |
allowSelfApproval | boolean Whether a user is allowed to approve/reject an approval task on a request for their own access. |
{- "requireRequestJustification": true,
- "requireRejectJustification": true,
- "requireApproveJustification": true,
- "preventRequestWithViolation": true,
- "requireRequestJustificationWithViolation": true,
- "defaultApprover": "managed/role/0e3de08d-fb8f-4f7f-91a8-4e65576fcac4",
- "allowSelfApproval": true
}
{- "requireRequestJustification": true,
- "requireRejectJustification": true,
- "requireApproveJustification": true,
- "preventRequestWithViolation": true,
- "requireRequestJustificationWithViolation": true,
- "defaultApprover": "managed/role/0e3de08d-fb8f-4f7f-91a8-4e65576fcac4",
- "allowSelfApproval": true
}
Get and search for a list of event rules defined in IGA. Each entry represents a single event rule that has been defined to detect a change in the system. IGA rules consist of two core pieces, the condition for the event, and the action that should be taken when that event occurs. For example, a rule may be defined that determines that any time a user is created in IGA, an certification for that user should be created.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active",
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
], - "resultCount": 0,
- "totalCount": 0,
- "searchAfterKey": [
- "string"
]
}
Create a single IGA event rule. A single event rule is defined to detect a change in the system. IGA rules consist of two core pieces, the condition for the event, and the action that should be taken when that event occurs. For example, a rule may be defined that determines that any time a user is created in IGA, an certification for that user should be created.
_action required | string Value: "create" Action to be performed for event endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
name | string The name of the event |
description | string The description of the event and its purpose |
Array of objects (User) This list of unique owner IDs for the event. | |
entityType | string Value: "user" The type of entity for which this event applies (e.g. user, role, etc.) |
mutationType | string Enum: "create" "update" "delete" The type of mutation event on the entity, (e.g. create, update, etc.) |
condition | object The condition definition for how to detect this event has occurred. |
object Object that defines what action will be used to respond to this event | |
status | string Enum: "active" "inactive" The status of the event, active/inactive |
{- "name": "User Creation Event",
- "description": "This event will kick off an orchestration for a new user upon creation.",
- "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "name": "IdentityCertificationKickOff"
}, - "status": "active",
- "owners": [
- {
- "id": "managed/user/02612d23-2f7e-4fd0-98f2-3c3d0988df27",
- "mail": "aparsons@frgov.net",
- "givenName": "Alvin",
- "sn": "Parsons",
- "userName": "aparsons"
}
]
}
{- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active",
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Get a single IGA event by id. The response is a single event rule that has been defined to detect a change in the system.
id required | string ID of the event |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active",
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Update a single IGA event by id. This call expects the entire object to be provided and replace the entire existing event definition.
id required | string ID of the event |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
name | string The name of the event |
description | string The description of the event and its purpose |
Array of objects (User) This list of unique owner IDs for the event. | |
entityType | string Value: "user" The type of entity for which this event applies (e.g. user, role, etc.) |
mutationType | string Enum: "create" "update" "delete" The type of mutation event on the entity, (e.g. create, update, etc.) |
condition | object The condition definition for how to detect this event has occurred. |
object Object that defines what action will be used to respond to this event | |
status | string Enum: "active" "inactive" The status of the event, active/inactive |
{- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active"
}
{- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active",
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Update a single IGA event by id. This call will allow the caller to update specific properties of the event only, without providing the entire object.
id required | string ID of the event |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "operation": "replace",
- "field": "/status",
- "value": "active"
}
]
{- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active",
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Delete a single IGA event by id.
id required | string ID of the event |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "name": "User Creation Event",
- "description": "This event will create an identity certification for a new user upon creation",
- "owners": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entityType": "user",
- "mutationType": "create",
- "condition": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.after.country",
- "right": {
- "literal": "USA"
}
}
}
]
}
}, - "action": {
- "type": "orchestration",
- "template": {
- "id": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357"
}, - "name": "IdentityCertificationKickOff",
- "parameters": { }
}, - "status": "active",
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Get the list of available entities on which a condition can be defined.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "entities": [
- "user"
]
}
Get the available schema for defining a condition on a given object. For example, 'user' will return the attributes available for defining an event for users in IGA.
object required | string Type of object for which to return schema |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "schema": {
- "user.after.profileImage": {
- "class": "json",
- "type": "string"
}, - "user.before.description": {
- "class": "json",
- "type": "string"
}, - "user.before._id": {
- "class": "json",
- "type": "string"
}, - "user.after.manager": {
- "class": "json",
- "reference": "/openidm/managed/alpha_user",
- "type": "reference"
}, - "user.before.postalAddress": {
- "class": "json",
- "type": "string"
}, - "user.after.applications": {
- "class": "json",
- "item": {
- "type": "reference",
- "reference": "/openidm/managed/alpha_application"
}, - "type": "array"
}, - "user.before.accountStatus": {
- "class": "json",
- "type": "string"
}, - "user.before.groups": {
- "class": "json",
- "item": {
- "type": "reference",
- "reference": "/openidm/managed/alpha_group"
}, - "type": "array"
}, - "user.before.adminOfOrg": {
- "class": "json",
- "item": {
- "type": "reference",
- "reference": "/openidm/managed/alpha_organization"
}, - "type": "array"
}, - "user.after.country": {
- "class": "json",
- "type": "string"
}, - "user.after.telephoneNumber": {
- "class": "json",
- "type": "string"
}, - "user.after.reports": {
- "class": "json",
- "item": {
- "type": "reference",
- "reference": "/openidm/managed/alpha_user"
}, - "type": "array"
}, - "user.before.frUnindexedMultivalued4": {
- "class": "json",
- "item": {
- "type": "string"
}, - "type": "array"
}, - "user.before.ownerOfApp": {
- "class": "json",
- "item": {
- "type": "reference",
- "reference": "/openidm/managed/alpha_application"
}, - "type": "array"
}, - "user.before.frUnindexedMultivalued5": {
- "class": "json",
- "item": {
- "type": "string"
}, - "type": "array"
}, - "user.before.frUnindexedMultivalued2": {
- "class": "json",
- "item": {
- "type": "string"
}, - "type": "array"
}, - "user.after.givenName": {
- "class": "json",
- "type": "string"
}, - "user.before.frUnindexedMultivalued3": {
- "class": "json",
- "item": {
- "type": "string"
}, - "type": "array"
}, - "user.before.manager": {
- "class": "json",
- "reference": "/openidm/managed/alpha_user",
- "type": "reference"
}, - "user.after.mail": {
- "class": "json",
- "type": "string"
}
}
}
Trigger an IGA job by ID.
id required | string Value: "autoIdTraining" ID of the scope |
_action required | string Value: "trigger" Action to be taken |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{ }
{- "message": null
}
This endpoint is used to search request forms
_queryFilter | string The search query filter |
_fields | string The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pagedResultsOffset | integer Offset number of the record from which to start the paginated results. |
_pageSize | integer Number of response result objects to return. |
_sortKeys | string The property on which to sort the results. |
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
This endpoint is used to create a request form
The payload for create request form
id | string The ID of the request form |
name required | string The name of the request form |
type required | string The type of the request |
categories | object The category information of the form. Categories are name and value pair. |
form required | object the UI form definitoin. Server will store it as its, and won't interpret it in any way. |
object |
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
This endpoint is used to get request form by ID
id required | string The ID of the request form |
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
This endpoint is used to replace an existing request form
id required | string The ID of the request form |
The payload for replacing request form
id | string The ID of the request form |
name required | string The name of the request form |
type required | string The type of the request |
categories | object The category information of the form. Categories are name and value pair. |
form required | object the UI form definitoin. Server will store it as its, and won't interpret it in any way. |
object |
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
This endpoint is used to update an existing request form
id required | string The ID of the request form |
The payload for replacing request form
operation | string Enum: "add" "replace" "copy" "move" "increment" "remove" "transform" The operation apply to the field |
field | string The field that will be updated |
value | any The value of the field |
[- {
- "operation": "add",
- "field": "/type",
- "value": null
}
]
{- "id": "string",
- "name": "string",
- "type": "request",
- "categories": {
- "applicationType": "active.directory",
- "objectType": "__ACCOUNT__",
- "operation": "create"
}, - "form": { },
- "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
The endpoint is used to search the assignment of request forms
_queryFilter | string The search query filter |
_fields | string The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pagedResultsOffset | integer Offset number of the record from which to start the paginated results. |
_pageSize | integer Number of response result objects to return. |
_sortKeys | string The property on which to sort the results. |
{- "objectId": "string",
- "formId": "string"
}
The endpoint is used to assign and unassign request form
_action required | string Enum: "assign" "unassign" |
The payload for assign or unassign request form
objectId required | string This must be a unique identifier of the object that you want to assign a request form to. Keep in mind that request form can be used in different use cases. Such as create account for an application, sumbitting data for request, etc. Be sure to have a naming convention that can be use to uniquely identify each user case. One approach is construct this using a URI like format; For example application/900cb1ac-7d6d-4d26-9d62-13e8858a14d5/objectType/ACCOUNT/operation/create, or a simplier version application/900cb1ac-7d6d-4d26-9d62-13e8858a14d5/ACCOUNT/create |
formId required | string The ID of request form |
{- "objectId": "string",
- "formId": "string"
}
{- "objectId": "string",
- "formId": "string"
}
Get list of supported request type
_queryFilter | string The query filter for searching |
_pageSize | string Number of results per page |
_pageNumber | string Page number of results to show |
_fields | string Properties to return in the results |
_sortBy | string The property to sort the results by |
_pagedResultsOffset | integer The offset of the first element of the page |
_sortKeys | string Property to sort the results by. Prefix + or - to the property name for ascending or descending order. |
[- {
- "id": "string",
- "schemas": {
- "custom": [
- {
- "_meta": {
- "type": "string",
- "displayName": "string",
- "properties": { }
}, - "properties": { }
}
]
}
}
]
Create new custom request type
id | string The identifier of the request type |
object |
{- "id": "string",
- "schemas": {
- "custom": [
- {
- "_meta": {
- "type": "string",
- "displayName": "string",
- "properties": { }
}, - "properties": { }
}
]
}
}
{- "id": "string",
- "schemas": {
- "custom": [
- {
- "_meta": {
- "type": "string",
- "displayName": "string",
- "properties": { }
}, - "properties": { }
}
]
}
}
Replace existing request type
requestTypeId required | string |
id | string The identifier of the request type |
object |
{- "id": "string",
- "schemas": {
- "custom": [
- {
- "_meta": {
- "type": "string",
- "displayName": "string",
- "properties": { }
}, - "properties": { }
}
]
}
}
{- "id": "string",
- "schemas": {
- "custom": [
- {
- "_meta": {
- "type": "string",
- "displayName": "string",
- "properties": { }
}, - "properties": { }
}
]
}
}
Update request type
requestTypeId required | string |
operation | string Enum: "add" "replace" "copy" "move" "increment" "remove" "transform" The operation apply to the field |
field | string The field that will be updated |
value | any The value of the field |
[- {
- "operation": "add",
- "field": "/type",
- "value": null
}
]
{- "id": "string",
- "schemas": {
- "custom": [
- {
- "_meta": {
- "type": "string",
- "displayName": "string",
- "properties": { }
}, - "properties": { }
}
]
}
}
Provision or de-provision applications for a user.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_action required | string Enum: "add" "remove" Action to be performed on access provisioning endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
applicationId required | string |
startDate | string The date that the granted access will take effect. The value should be provided in ISO8601 format. |
endDate | string The date that the granted access will end for the user. The value should be provided in ISO8601 format. |
grantType | string (ProvisionGrantTypes) Enum: "request" "admin" The mechanism for a given provisioning action, request if done so via a request, or admin if directly assigned by an administrator. |
{- "applicationId": "0c067d47-f07c-46d6-9162-14476d18d87a",
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "grantType": "request"
}
{ }
Provision or de-provision roles for a user.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_action required | string Enum: "add" "remove" Action to be performed on access provisioning endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
roleId required | string |
startDate | string The date that the granted access will take effect. The value should be provided in ISO8601 format. |
endDate | string The date that the granted access will end for the user. The value should be provided in ISO8601 format. |
grantType | string (ProvisionGrantTypes) Enum: "request" "admin" The mechanism for a given provisioning action, request if done so via a request, or admin if directly assigned by an administrator. |
{- "roleId": "0c067d47-f07c-46d6-9162-14476d18d87a",
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "grantType": "request"
}
{ }
Provision or de-provision entitlements for a user.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_action required | string Enum: "add" "remove" Action to be performed on access provisioning endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
entitlementId required | string |
startDate | string The date that the granted access will take effect. The value should be provided in ISO8601 format. |
endDate | string The date that the granted access will end for the user. The value should be provided in ISO8601 format. |
grantType | string (ProvisionGrantTypes) Enum: "request" "admin" The mechanism for a given provisioning action, request if done so via a request, or admin if directly assigned by an administrator. |
{- "entitlementId": "0c067d47-f07c-46d6-9162-14476d18d87a",
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "grantType": "request"
}
{ }
Get and search for a list of scoping rules defined in IGA. Each entry represents a single scoping rule that has been defined to assign a set of conditions that will allow a subset of users visibility on a subset of target objects. IGA scoping rules consist of two core pieces, the condition for the source object (who/what the scope applies to), and the condition for the target objects that can be viewed/acted on/etc.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
], - "resultCount": 0,
- "totalCount": 0,
- "searchAfterKey": [
- "string"
]
}
Create a single scoping rule in IGA. Each scoping rule is defined to assign a set of conditions that will allow a subset of users visibility on a subset of target objects. IGA scoping rules consist of two core pieces, the condition for the source object (who/what the scope applies to), and the condition for the target objects that can be viewed/acted on/etc.
_action required | string Value: "create" Action to be performed for scope endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
name | string The name of the scope |
description | string The description of the scope and its purpose |
status | string Enum: "active" "inactive" The status of the event, active/inactive |
object The conditions for this scoping rule that determine who/what the rule applies to | |
object The conditions for this scoping rule that determine who/what the source objects can view/access/act on/etc. |
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}
}
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Get a single scoping rule in IGA by id. Each scoping rule is defined to assign a set of conditions that will allow a subset of users visibility on a subset of target objects. IGA scoping rules consist of two core pieces, the condition for the source object (who/what the scope applies to), and the condition for the target objects that can be viewed/acted on/etc.
id required | string ID of the scope |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Update a single IGA scope by id. This call expects the entire object to be provided and replace the entire existing scope definition.
id required | string ID of the scope |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
name | string The name of the scope |
description | string The description of the scope and its purpose |
status | string Enum: "active" "inactive" The status of the event, active/inactive |
object The conditions for this scoping rule that determine who/what the rule applies to | |
object The conditions for this scoping rule that determine who/what the source objects can view/access/act on/etc. |
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}
}
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Update a single IGA scope by id. This call will allow the caller to update specific properties of the scope only, without providing the entire object.
id required | string ID of the scope |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "operation": "replace",
- "field": "/status",
- "value": "active"
}
]
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Delete a single IGA scope by id.
id required | string ID of the scope |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "name": "Contractor Scope",
- "description": "This event will create a scoping rule for users who are contractors",
- "status": "active",
- "sourceCondition": {
- "user": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "user.employeeType",
- "right": {
- "literal": "contractor"
}
}
}
]
}
}
}, - "targetCondition": {
- "application": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "application.templateName",
- "right": {
- "literal": "azure.ad"
}
}
}
]
}
}, - "role": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "contains": {
- "search_string_array": [
- {
- "literal": "contractor"
}, - {
- "literal": "temp"
}
], - "in_string": "role.name"
}
}
]
}
}, - "entitlement": {
- "version": "v2",
- "filter": {
- "and": [
- {
- "equals": {
- "left": "entitlement.name",
- "right": {
- "literal": "Directory Admin"
}
}
}
]
}
}
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}, - "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d"
}
Get the list of available entities on which a condition can be defined.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "entities": [
- "user",
- "catalog"
]
}
Get the available schema for defining a condition on a given object. For example, 'user' will return the attributes available for defining a scope for users in IGA.
object required | string Type of object for which to return schema |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "schema": {
- "user.userName": {
- "class": "json",
- "type": "string"
}, - "user.description": {
- "class": "json",
- "type": "string"
}, - "user._id": {
- "class": "json",
- "type": "string"
}, - "user.givenName": {
- "class": "json",
- "type": "string"
}, - "user.sn": {
- "class": "json",
- "type": "string"
}
}
}
The endpoint will return policies stored within the IGA store, based on a set of query parameters.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
]
The end point will allow for creation of a new policy object within IGA.
_action required | string Enum: "create" "duplicate" Action to be performed for requests endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The contents of the new policy
name required | string The name of the policy |
description | string A description of the policy |
required | object The policy owner object |
policyRuleIds required | Array of strings The list of policy rule IDs that this policy contains. |
object The contents of the schedule on which this policy is scanned. Contents TBD |
{- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
], - "schedule": {
- "type": "simple",
- "scheduled": true,
- "schedule": "string",
- "repeatInterval": 864000000,
- "repeatCount": -1,
- "startTime": "2023-12-21T22:41:00.000Z",
- "endTime": "2024-01-01T22:41:00.000Z"
}
}
{- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
Query the policy objects using a targeted search filter
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
[- {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
]
The endpoint will return the policy with the provided ID.
id required | string ID of the policy |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
The end point will allow for updating an existing policy object within IGA.
id required | string ID of the policy to update |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The contents of the updated policy
name required | string The name of the policy |
description | string A description of the policy |
required | object The policy owner object |
policyRuleIds required | Array of strings The list of policy rule IDs that this policy contains. |
{- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
{- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
The end point will allow for deleting an existing policy object within IDM.
id required | string ID of the policy to delete |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}
The end point will run a scan on all of the given rules of a policy, and create violations if desired.
id required | string ID of the policy to scan |
simulate | string Whether or not this scan is a simulation, true means no violation tasks will be created, false or not present will create violations. |
waitForCompletion | string Whether or not to await the completion of the scan before returning, true will wait, false or not present will return after scan creation. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{ }
{- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
Given Policy ID, retrieve the policy rules associated with it.
id required | string ID of the policy |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
]
}
The endpoint will return policy rules stored within the IGA store, based on a set of query parameters.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
]
The end point will allow for creation of a new policy rule object within IGA.
_action required | string Enum: "create" "duplicate" Action to be performed for requests endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The contents of the new policy rule
name required | string The name of the policy rule |
description | string A description of the policy rule |
documentationUrl | string A URL pointing towards any supporting documentation on the policy rule |
required | object The policy rule owner object |
required | object The violation owner object |
active required | boolean Whether the policy rule is currently enabled. |
required | object Lists the types of scan for which this policy rule is eligible to be included in |
maxExceptionDuration required | integer Maximum duration in days that exceptions are allowed on violations |
required | object Decisions that are available for the remediation actors to take |
required | object The defined remediation options for this policy rule |
required | object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
required | Array of objects (TargetFilterNode) An array of conditions that define the policy rule's targeted combination of access |
required | object Drives the lifecycle of the violations that are created. |
violationOwnerType required | string Enum: "user" "role" Violation owner type |
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user"
}
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
Query the policy rule objects using a targeted search filter
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
[- {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
]
The endpoint will return the policy rule with the provided ID.
id required | string ID of the policy rule |
resolveSchemas | string When 'true', enrich the remediation.schemas property with the full schema objects rather than just the IDs |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
Creates a duplicate of the selected policy rule.
id required | string ID of the policy rule |
_action required | string Enum: "create" "duplicate" Action to be performed for requests endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The contents of the duplicate request (empty body)
{ }
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user"
}
The end point will allow for updating an existing policy rule object within IGA.
id required | string ID of the policy rule to update |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
The contents of the updated policy rule
name required | string The name of the policy rule |
description | string A description of the policy rule |
documentationUrl | string A URL pointing towards any supporting documentation on the policy rule |
required | object The policy rule owner object |
required | object The violation owner object |
active required | boolean Whether the policy rule is currently enabled. |
required | object Lists the types of scan for which this policy rule is eligible to be included in |
maxExceptionDuration required | integer Maximum duration in days that exceptions are allowed on violations |
required | object Decisions that are available for the remediation actors to take |
required | object The defined remediation options for this policy rule |
required | object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
required | Array of objects (TargetFilterNode) An array of conditions that define the policy rule's targeted combination of access |
required | object Drives the lifecycle of the violations that are created. |
violationOwnerType required | string Enum: "user" "role" Violation owner type |
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user"
}
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
The end point will allow for deleting an existing policy rule object within IDM.
id required | string ID of the policy rule to delete |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}
The end point will run a scan on the given policy rule, and create violations if desired.
id required | string ID of the policy rule to scan |
simulate | string Whether or not this scan is a simulation, true means no violation tasks will be created, false or not present will create violations. |
waitForCompletion | string Whether or not to await the completion of the scan before returning, true will wait, false or not present will return after scan creation. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
The end point will run a scan on the given user rule, and return potential violations
id required | string ID of the user to scan |
simulate | string Whether or not this scan is a simulation, true means no violation tasks will be created, false or not present will create violations. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
If running a preventative scan, additional access may be provided to simulate access not yet granted to user
Array of objects Additional access to mock on user | |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "additionalAccess": [
- {
- "type": "string",
- "entitlementId": "string",
- "accountId": "string"
}
], - "policyRuleFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
{- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
The endpoint will return policy scans stored within the IGA store, based on a set of query parameters.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
]
Query the policy scan objects using a targeted search filter
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
[- {
- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
]
The endpoint will return the policy scan with the provided ID.
id required | string ID of the policy scan |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
The end point will allow for deleting an existing policy scan object within IGA.
id required | string ID of the policy scan to delete |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "policy": {
- "id": "string",
- "scheduleId": "policySchedule1a5cefd6a67f4303b16f1b5d5740cfd1",
- "name": "string",
- "description": "string",
- "policyOwner": {
- "id": "string"
}, - "policyRuleIds": [
- "string"
]
}, - "policyRule": {
- "name": "string",
- "description": "string",
- "documentationUrl": "string",
- "policyRuleOwner": {
- "id": "string"
}, - "violationOwner": {
- "id": "string"
}, - "active": true,
- "scanTypes": {
- "preventative": true,
- "detective": true
}, - "maxExceptionDuration": 0,
- "decisionOptions": {
- "allow": true,
- "exception": true,
- "remediate": true
}, - "remediation": {
- "type": "string",
- "id": "string",
- "schemas": [
- "string"
]
}, - "userFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}, - "ruleDefinition": [
- {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
], - "workflow": {
- "type": "bpmn",
- "id": "BasicViolationProcess"
}, - "violationOwnerType": "user",
- "id": "string",
- "ruleDefinitionTags": [
- "targetName=entitlement.displayName&targetValue=IT%20Admin",
- "targetValue=IT%20Admin&targetName=entitlement.displayName"
]
}, - "isSimulation": true,
- "status": "string",
- "startDate": "string",
- "completionDate": "string",
- "scanTarget": "string",
- "results": [
- { }
]
}
Query the logged in user's violation objects.
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
]
Query the violation objects
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
[- {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
]
creates a violation with the given body
_action required | string Enum: "create" "duplicate" Action to be performed for requests endpoint. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (Violation) A violation is a single object representing a segregation of duty violation between a single policy rule and a single violating entity (user). |
{- "targetFilter": {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
}
[- {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
]
Once a phase (or phases) have chosen to allow, this endpoint can be used to close and complete the violations with an outcome of allow
waitForCompletion | string Whether or not to await the completion of violations before returning, true will wait, false or not present will return after phase completion. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Array of violations to act on and additional properties for the action.
ids required | Array of strings An array of all violation ids to act on. |
comment | string Comment or justification for this action. |
{- "ids": [
- "e9e4d260-1b55-4331-8468-5824344b8bc3",
- "01d8ccf0-e132-49f1-9c82-c52a6fea0154"
], - "comment": "Justification for this action."
}
{- "message": "Action 'allow' complete.",
- "idsNotActedOn": [
- {
- "id": "09e01632-b22f-407b-bacb-aa1e2cac8214",
- "errorMessage": "This violation is not eligible to be allowed.",
- "errorCode": 400
}
]
}
As an actor on violations, cancel existing exceptions, reverting the violations back to in-progress.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Array of violations to act on and additional properties for the action.
ids required | Array of strings An array of all violation ids to act on. |
comment | string Comment or justification for this action. |
{- "ids": [
- "e9e4d260-1b55-4331-8468-5824344b8bc3",
- "01d8ccf0-e132-49f1-9c82-c52a6fea0154"
], - "comment": "Justification for this action."
}
{- "message": "Action 'allow' complete.",
- "idsNotActedOn": [
- {
- "id": "09e01632-b22f-407b-bacb-aa1e2cac8214",
- "errorMessage": "This violation is not eligible to be allowed.",
- "errorCode": 400
}
]
}
As an actor on violations, add a comment to the violation objects.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Array of violations to act on and additional properties for the action.
ids required | Array of strings An array of all violation ids to act on. |
comment required | string Comment or justification for this action. |
{- "ids": [
- "e9e4d260-1b55-4331-8468-5824344b8bc3",
- "01d8ccf0-e132-49f1-9c82-c52a6fea0154"
], - "comment": "Justification for this action."
}
{- "message": "Action 'allow' complete.",
- "idsNotActedOn": [
- {
- "id": "09e01632-b22f-407b-bacb-aa1e2cac8214",
- "errorMessage": "This violation is not eligible to be allowed.",
- "errorCode": 400
}
]
}
As an actor on violations, grant an exception to the violating access.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Array of violations to act on and additional properties for the action.
exceptionExpirationDate required | string Date that exception will expire |
ids required | Array of strings An array of all violation ids to act on. |
comment | string Comment or justification for this action. |
{- "exceptionExpirationDate": "2024-04-24T20:36:14+00:00",
- "ids": [
- "e9e4d260-1b55-4331-8468-5824344b8bc3",
- "01d8ccf0-e132-49f1-9c82-c52a6fea0154"
], - "comment": "Justification for this action."
}
{- "message": "Action 'allow' complete.",
- "idsNotActedOn": [
- {
- "id": "09e01632-b22f-407b-bacb-aa1e2cac8214",
- "errorMessage": "This violation is not eligible to be allowed.",
- "errorCode": 400
}
]
}
As a violation actor, edit the list of active actors on the violation tasks.
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Array of violations to act on and additional properties for the action.
required | Array of objects (ViolationActor) |
ids required | Array of strings An array of all violation ids to act on. |
comment | string Comment or justification for this action. |
{- "updatedActors": [
- {
- "id": {
- "value": "string",
- "isExpression": true
}, - "permissions": {
- "approve": true,
- "reject": true,
- "reassign": true,
- "modify": true,
- "comment": true,
- "allow": true,
- "exception": true,
- "remediate": true
}
}
], - "ids": [
- "e9e4d260-1b55-4331-8468-5824344b8bc3",
- "01d8ccf0-e132-49f1-9c82-c52a6fea0154"
], - "comment": "Justification for this action."
}
{- "message": "Action 'allow' complete.",
- "idsNotActedOn": [
- {
- "id": "09e01632-b22f-407b-bacb-aa1e2cac8214",
- "errorMessage": "This violation is not eligible to be allowed.",
- "errorCode": 400
}
]
}
Query the violation objects using a targeted search filter
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
[- {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
]
Query the logged in user's violation objects using a targeted search filter
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
actorStatus | string Actor status to search, comma-separated for multiple, e.g. "active", "inactive", or "active,inactive" |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
[- {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
]
Query the contents of a single violation object
id required | string ID of the violation |
resolveSchemas | string When 'true', enrich the policyRule remediation schemas property with the full schema objects rather than just the IDs |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
Updates a given violation with the given body
id required | string ID of the violation |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (Violation) A violation is a single object representing a segregation of duty violation between a single policy rule and a single violating entity (user). |
{- "targetFilter": {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
}
[- {
- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
]
Deletes a violation from the given ID
id required | string ID of the violation |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
"string"
Once a phase (or phases) have chosen to allow, this endpoint can be used to close and complete the violation with an outcome of allow
id required | string ID of the violation |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
{ }
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a violation, add a comment to the violation object.
id required | string ID of the violation |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
comment required | string Comment to leave on violation |
{- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
Once a phase (or phases) have chosen to remediate the violation, this endpoint can be used to complete the violation with an outcome of remediate, and continue the workflow on to either the automated or manual process for fulfilling the remediation.
id required | string ID of the violation |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action. Properties will be determined by the requirements of the remediation schema chosen by the id provided in the body.
id | string ID of the remediation schema user has chosen |
{- "id": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
For violations that have been given an outcome of 'remediate', this endpoint will allow the remediationStatus key to be updated, e.g. from in-progress to complete, and will finalize the violation when appropriate.
id required | string ID of the violation |
status required | string Status to update remediationStatus to |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
{ }
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
Add phase to violation
violationId required | string |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TaskPhase) A "phase" is an approval task that exists on a request. It can be assigned to one or more users/roles and requires a single action of either approve or reject in order to be completed and move the request workflow flow forward. | |
Array of objects (ViolationActor) |
{- "phase": {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}
}
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- {
- "id": "875bbc8f-e868-451f-a690-453473205ca1"
}
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}, - "actors": [
- {
- "id": {
- "value": "string",
- "isExpression": true
}, - "permissions": {
- "approve": true,
- "reject": true,
- "reassign": true,
- "modify": true,
- "comment": true,
- "allow": true,
- "exception": true,
- "remediate": true
}
}
]
}
As an actor on a violation, allow the user to continue to violate the defined rule in perpetuity
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
comment | string Comment justifying allow |
{- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a violation, cancel an existing exception, reverting the violation back to in-progress.
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
comment | string Comment describing the reason for exception being canceled. |
{- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a violation, add a comment to the violation object.
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
comment required | string Comment to leave on violation |
{- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a violation, grant an exception to the violating access.
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
exceptionExpirationDate required | string Date that exception will expire |
comment | string Comment to leave on exception |
{- "exceptionExpirationDate": "string",
- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As a violation actor, edit the list of active actors on a violation task
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
required | Array of objects (ViolationActor) |
{- "updatedActors": [
- {
- "id": {
- "value": "string",
- "isExpression": true
}, - "permissions": {
- "approve": true,
- "reject": true,
- "reassign": true,
- "modify": true,
- "comment": true,
- "allow": true,
- "exception": true,
- "remediate": true
}
}
]
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a violation, choose to remediate the access, kicking off the remediation workflow assigned to the violation. Request body will depend on remediation schema chosen by user
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action. Properties will be determined by the requirements of the remediation schema chosen by the id provided in the body.
id | string ID of the remediation schema user has chosen |
{- "id": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a manual provisioning task to handle violation remediation, mark the action as completed
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
comment | string Comment for the complete action |
{- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
As an actor on a manual provisioning task to handle violation remediation, mark the action as canceled (not completed)
id required | string ID of the violation |
phaseName required | string Name of the phase |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
Contents of the action
comment | string Comment reason for cancel |
{- "comment": "string"
}
{- "id": "string",
- "user": { },
- "policyRule": { },
- "decision": {
- "status": "pending",
- "decision": "exception",
- "comments": [
- { }
], - "events": {
- "assignment": { },
- "expiration": { },
- "escalation": { },
- "reminder": { }
}, - "actors": {
- "active": [
- { }
], - "inactive": [
- { }
]
}, - "completionDate": "string",
- "completedBy": { }
}
}
Get the tasks for which the authenticated user has permissions to view.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
type | string Enum: "request" "violation" "fulfillment" The type of task to filter by |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- null
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- { }
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Get the tasks for which the authenticated user has permissions to view. The targetFilter property in the API payload can be used to filter the requests based on the desired criteria.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_action required | string Value: "search" Action to be performed on user tasks endpoint. |
type | string Enum: "request" "violation" "fulfillment" The type of task to filter by |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "result": [
- {
- "id": "string",
- "requester": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "requestType": "applicationGrant",
- "request": {
- "common": {
- "startDate": "2023-09-11T12:00:00+00:00",
- "endDate": "2023-12-11T12:00:00+00:00",
- "justification": "I need this access to start working on a new project.",
- "externalRequestId": "c926c10f-300a-4222-876f-348e0ca07d63",
- "isDraft": false,
- "requestIdPrefix": "REQ"
}
}, - "application": {
- "authoritative": false,
- "connectorId": "AzureAD",
- "description": "AzureAD application",
- "fr": {
- "realm": "alpha"
}, - "id": "a09030e6-f4d1-4442-9c7c-1a51ce4683c1",
- "mappingNames": [
- "systemAzureadUser_managedAlpha_user",
- "systemAzureadDirectoryrole_managedAlpha_assignment",
- "systemAzuread__group___managedAlpha_assignment",
- "managedAlpha_user_systemAzureadUser"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2023-08-31T21:23:35.809Z"
}, - "name": "AzureAD",
- "templateName": "azure.ad",
- "templateVersion": "2.0"
}, - "applicationOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "entitlementOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "roleOwner": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}
], - "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "decision": {
- "status": "in-progress",
- "decision": "approved",
- "outcome": "provisioned",
- "startDate": "2023-09-10T12:00:00+00:00",
- "completionDate": "2023-09-10T12:00:00+00:00",
- "comments": [
- {
- "user": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "comment": "I need to find out more information before approving. Will check back later.",
- "action": "comment",
- "timeStamp": "2023-09-11T12:00:00+00:00",
- "phase": "ManagerApproval"
}
], - "actors": {
- "active": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
], - "inactive": [
- {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith",
- "permissions": {
- "approve": true,
- "comment": true,
- "modify": true,
- "reassign": true,
- "reject": true
}, - "phase": "ManagerApproval"
}
]
}, - "phases": [
- {
- "phase": {
- "name": "ManagerApproval",
- "type": "request",
- "status": "in-progress",
- "decision": "approve",
- "startDate": "2023-09-10T12:00:00+00:00",
- "events": {
- "assignment": {
- "notification": "requestAssigned"
}, - "reassign": {
- "notification": "requestReassigned"
}, - "expiration": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestExpired",
- "action": "reassign",
- "actors": [
- null
]
}, - "escalation": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestEscalated",
- "actors": [
- { }
], - "frequency": 3
}, - "reminder": {
- "date": "2023-09-04T12:00:00+00:00",
- "notification": "requestReminder",
- "frequency": 3
}
}, - "justification": "string",
- "workflowTaskId": 1025,
- "completedBy": {
- "id": "a3ad098f-93b1-47dc-a31d-f37bbb4c15d1-160761",
- "userName": "asmith",
- "mail": "asmith01@forgerock.com",
- "givenName": "Aaron",
- "sn": "Smith"
}, - "completionDate": "2023-09-10T12:00:00+00:00"
}
}
]
}, - "metadata": {
- "createdDate": "2024-01-11T12:00:00+00:00",
- "modifiedDate": "2024-04-24T12:00:00+00:00"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Get the different grants for which the given user currently has, including roles, accounts or entitlements.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
queryString | string Search term, searches against display names of the grant being targeted. |
grantType | string Enum: "entitlement" "account" "role" Type of grant being searched for. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "role": {
- "_rev": "9b32dc1c-c0fe-4cf6-a24c-2b9374dd15ad-820870",
- "description": "Test",
- "fr": {
- "realm": "alpha"
}, - "id": "7136a3c4-0c12-488a-8cfd-2fd71a24e4bd",
- "metadata": {
- "entityType": "/openidm/managed/role",
- "created": "2024-09-09T15:28:28.887Z"
}, - "name": "Approver Role"
}, - "user": {
- "_rev": "9b32dc1c-c0fe-4cf6-a24c-2b9374dd15ad-1200974",
- "accountStatus": "active",
- "cn": "Ariela Stonuary",
- "custom_debugObj": {
- "task-started": "2024-09-04T21:08:01.019057006"
}, - "custom_debugObjTwo": {
- "task-completed": "2024-09-04T21:08:01.290865442"
}, - "description": "updateNow1",
- "fr": {
- "realm": "alpha"
}, - "givenName": "Ariela",
- "id": "e8224d8b-a5b6-4120-83d4-fd9b69844aca",
- "mail": "Ariela@IGATestQA.onmicrosoft.com",
- "metadata": {
- "created": "2024-09-06T15:31:18.399Z",
- "entityType": "/openidm/managed/user",
- "version": 7
}, - "preferences": {
- "marketing": false,
- "updates": false
}, - "sn": "Stonuary",
- "userId": "e8224d8b-a5b6-4120-83d4-fd9b69844aca",
- "userName": "Ariela@IGATestQA.onmicrosoft.com"
}, - "catalog": {
- "id": "87b51036e699e772f9e4f81617f5e3adb6c012974a594e6aa4bc50254419be7ccf7d26c85b42df8fa7147798a75966cad432528eef9e9f32f4f78c4a4607c4c"
}, - "compositeId": "e546e458a04626344e478139309b21f35fcba24e1f9429a19c769897d3928c66408cdd50f9e08170fb810751bd70ca929840c894e346d11126c57326e7d9a33d",
- "glossary": {
- "idx": {
- "/role": {
- "requestable": true,
- "roleOwner": "managed/user/153e48df-12fa-4499-9078-4bdf5c62c3ea"
}
}, - "types": [
- {
- "attrKey": "/role",
- "modified": "2024-09-12T12:51:42.108Z",
- "type": "entityType/id/realm"
}
]
}, - "item": {
- "type": "roleMembership"
}, - "keys": {
- "type": "roleMembership",
- "roleId": "7136a3c4-0c12-488a-8cfd-2fd71a24e4bd",
- "userId": "e8224d8b-a5b6-4120-83d4-fd9b69844aca"
}, - "relationship": {
- "id": "7065a955-275f-4e70-969b-4cf19c479af6-8621418",
- "conditional": false
}, - "metadata": {
- "modifiedDate": "2024-09-12T12:57:46.847Z",
- "createdDate": "2024-09-03T13:08:13.306772183Z"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Get the recommendations provided by Auto ID for the access that a user should have.
userId required | string Example: 3f9aeffb-dec7-484d-9031-a9e28646d284 Unique identifier of the user. |
_fields | string Example: _fields=user.userName,application.name,id The list of fields to return for each entry in the response result. Comma-separated for multiple values. |
_pageSize | integer Example: _pageSize=10 Number of response result objects to return. |
_pagedResultsOffset | integer Example: _pagedResultsOffset=10 Offset number of the record from which to start the paginated results. |
_sortKeys | string Example: _sortKeys=application.name The property on which to sort the results. |
_sortDir | string Enum: "asc" "desc" Example: _sortDir=asc The direction of sort, asc or desc. |
_sortType | string Enum: "date" "integer" Example: _sortType=date The type of sort value. Special types of fields need to use this parameter in order to be sorted properly. Currently the supported special types are 'date' and 'integer'. This can be omitted for other fields. |
_searchAfter | string Example: _searchAfter=a321329c-a7e6-47ad-8349-99b6e38f9a59 The sort property values of the last entry to continue searching from. Comma-separated for multiple values. |
_queryFilter | string The search query filter |
Accept-API-Version | string Example: resource=1.0 API version to use for the request. If no value is provided, latest version of API is used to process the request. |
{- "result": [
- {
- "prediction": {
- "usr_id": "44aac3af-23ae-47ad-a760-e5f4d94da54b",
- "ent_id": "system_Targettestigaautom1___GROUP___ac77bdcb-659f-4276-beb9-14604d62986e",
- "confidence": 0.75,
- "rule": [
- "12_CHIEF_YES_NO_Yes",
- "12_USR_EMP_TYPE_Employee",
- "14_USR_MANAGER_ID_benjamin.rosenfield",
- "19_USR_DEPARTMENT_NAME_Customer Operations South"
], - "freq": 5,
- "freqUnion": 4
}, - "glossary": {
- "idx": {
- "/application": {
- "requestable": true,
- "testInt": "0"
}
}, - "types": [
- {
- "attrKey": "/application",
- "modified": "2024-06-05T22:12:51.892Z",
- "type": "entityType/id/realm"
}
]
}, - "descriptor": {
- "idx": {
- "/entitlement": {
- "displayName": "Customer Support - QA"
}
}
}, - "entitlement": {
- "__NAME__": "Customer Support - QA",
- "_id": "ac77bdcb-659f-4276-beb9-14604d62986e",
- "displayName": "Customer Support - QA",
- "id": "ac77bdcb-659f-4276-beb9-14604d62986e",
- "mailEnabled": false,
- "securityEnabled": true
}, - "assignment": {
- "_rev": "c528ae0a-b382-424a-8af1-f08c11af5abc-21526",
- "attributes": [
- {
- "name": "memberOf",
- "value": [
- "ac77bdcb-659f-4276-beb9-14604d62986e"
]
}
], - "description": "ac77bdcb-659f-4276-beb9-14604d62986e",
- "fr": {
- "realm": "alpha"
}, - "id": "system_Targettestigaautom1___GROUP___ac77bdcb-659f-4276-beb9-14604d62986e",
- "mapping": "managedAlpha_user_systemTargettestigaautom1User",
- "metadata": {
- "entityType": "/openidm/managed/assignment",
- "created": "2024-04-17T00:50:43.452Z"
}, - "name": "Customer Support - QA",
- "type": "__ENTITLEMENT__"
}, - "application": {
- "_rev": "c528ae0a-b382-424a-8af1-f08c11af5abc-21516",
- "authoritative": false,
- "connectorId": "Targettestigaautom1",
- "description": "Target AD App",
- "fr": {
- "realm": "alpha"
}, - "icon": "",
- "id": "bb97f388-8c11-4314-9691-22a9f1a799df",
- "mappingNames": [
- "systemTargettestigaautom1User_managedAlpha_user",
- "systemTargettestigaautom1__group___managedAlpha_assignment",
- "managedAlpha_user_systemTargettestigaautom1User",
- "systemTargettestigaautom1Directoryrole_managedAlpha_assignment"
], - "metadata": {
- "entityType": "/openidm/managed/application",
- "created": "2024-06-05T22:12:40.911Z"
}, - "name": "Targettestigaautom1",
- "templateName": "azure.ad",
- "templateVersion": "2.2"
}, - "catalog": {
- "id": "81cbcb5edbb422f68b5407ccf0987714c6418051fffdb132649eafaa4b436d02f4402a9820d48af843230186cfb033ec4e21431778ef1796fef2ad47423957e0"
}, - "keys": {
- "usr_id": "44aac3af-23ae-47ad-a760-e5f4d94da54b",
- "ent_id": "system_Targettestigaautom1___GROUP___ac77bdcb-659f-4276-beb9-14604d62986e"
}, - "compositeId": "bae206ad1fa95d701344e2a7050cd2ee54e607d4fe1da2cdcd2b07b6522b5deafb1ab03326d95f18b6ca659fa0a84539ce3cb54a80ddbf6f7284e73e4caec274",
- "latestCreationTime": 1731096658.93
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Get a list of workflow definitions that are saved to the backend. Workflow definitions are either in status 'draft' of 'published'. Published workflow definitions are tied to a request type by id
and name
. Published workflow definitions are used by corresponding access request. Draft workflow definitions can be worked on by end user and publish to backend. The draft workflow id
and name
corresponds to the published workflow defintion id
and name
.
_searchAfter | string Elastic Search After key. Used for pageNumber/ |
_pagedResultsOffset | string Offset used to determine pageNumber returned. |
_pageSize | string Number of documents to return |
_queryString | string String to filter the workflows. Matches the workflow displayName, description, and name keys. |
Create or publish an an workflow definition (workflow). Can be create, publish, execute, validate. Only DB deployed IGA instances support the execute action.
_action required | string Enum: "create" "validate" "publish" "execute" Action to be performed for workflow endpoint. |
The data to pass into the workflow
id | string ID of the workflow definition. It must to be one of the 6 seeded definitions. |
name | string Name of the workflow definition. It must to be one of the 6 seeded definitions. |
displayName | string The name that displays for the workflow definition. |
description | string The description of the workflow definition. |
type | string Value: "provisioning" Provisioning is the only available type. |
Array of any The order of steps. The first element in the steps array is the first step of the workflow. |
{ }
Get workflow definition.
id required | string ID of the workflow |
status required | string id of the workflow |
{- "id": "string",
- "name": "string",
- "displayName": "string",
- "description": "string",
- "type": "provisioning",
- "steps": [
- {
- "name": "string",
- "displayName": "string",
- "type": "scriptTask",
- "scriptTask": {
- "language": "javascript",
- "gatewayType": "inclusive",
- "script": "logger.info(\"Auto-Deprovisioning\");\n\nvar content = execution.getVariables();\nvar requestId = content.get('id');\nvar failureReason = null;\n\ntry {\n var requestObj = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {});\n logger.info(\"requestObj: \" + requestObj);\n}\ncatch (e) {\n failureReason = \"Deprovisioning failed: Error reading request with id \" + requestId;\n}\n\nif(!failureReason) {\n try {\n var request = requestObj.request;\n var payload = {\n \"roleId\": request.common.roleId,\n \"startDate\": request.common.startDate,\n \"endDate\": request.common.endDate,\n \"auditContext\": {},\n \"grantType\": \"request\"\n };\n var queryParams = {\n \"_action\": \"remove\"\n }\n\n var result = openidm.action('iga/governance/user/' + request.common.userId + '/roles' , 'POST', payload,queryParams);\n }\n catch (e) {\n failureReason = \"Deprovisioning failed: Error deprovisioning role to user \" + request.common.userId + \" for role \" + request.common.roleId + \". Error message: \" + e.message;\n }\n \n var decision = {'status': 'complete'};\n if (failureReason) {\n decision.outcome = 'not provisioned';\n decision.comment = failureReason;\n decision.failure = true;\n }\n else {\n decision.outcome = 'provisioned';\n }\n\n var queryParams = { '_action': 'update'};\n openidm.action('iga/governance/requests/' + requestId, 'POST', decision, queryParams);\n logger.info(\"Request \" + requestId + \" completed.\");\n}",
- "nextStep": [
- {
- "condition": "string",
- "outcome": "string",
- "step": "string"
}
]
}
}
]
}
Delete workflow definition.
id required | string ID of the workflow |
status required | string ID of the workflow |
{- "result": [
- {
- "role": {
- "_rev": "9b32dc1c-c0fe-4cf6-a24c-2b9374dd15ad-820870",
- "description": "Test",
- "fr": {
- "realm": "alpha"
}, - "id": "7136a3c4-0c12-488a-8cfd-2fd71a24e4bd",
- "metadata": {
- "entityType": "/openidm/managed/role",
- "created": "2024-09-09T15:28:28.887Z"
}, - "name": "Approver Role"
}, - "user": {
- "_rev": "9b32dc1c-c0fe-4cf6-a24c-2b9374dd15ad-1200974",
- "accountStatus": "active",
- "cn": "Ariela Stonuary",
- "custom_debugObj": {
- "task-started": "2024-09-04T21:08:01.019057006"
}, - "custom_debugObjTwo": {
- "task-completed": "2024-09-04T21:08:01.290865442"
}, - "description": "updateNow1",
- "fr": {
- "realm": "alpha"
}, - "givenName": "Ariela",
- "id": "e8224d8b-a5b6-4120-83d4-fd9b69844aca",
- "mail": "Ariela@IGATestQA.onmicrosoft.com",
- "metadata": {
- "created": "2024-09-06T15:31:18.399Z",
- "entityType": "/openidm/managed/user",
- "version": 7
}, - "preferences": {
- "marketing": false,
- "updates": false
}, - "sn": "Stonuary",
- "userId": "e8224d8b-a5b6-4120-83d4-fd9b69844aca",
- "userName": "Ariela@IGATestQA.onmicrosoft.com"
}, - "catalog": {
- "id": "87b51036e699e772f9e4f81617f5e3adb6c012974a594e6aa4bc50254419be7ccf7d26c85b42df8fa7147798a75966cad432528eef9e9f32f4f78c4a4607c4c"
}, - "compositeId": "e546e458a04626344e478139309b21f35fcba24e1f9429a19c769897d3928c66408cdd50f9e08170fb810751bd70ca929840c894e346d11126c57326e7d9a33d",
- "glossary": {
- "idx": {
- "/role": {
- "requestable": true,
- "roleOwner": "managed/user/153e48df-12fa-4499-9078-4bdf5c62c3ea"
}
}, - "types": [
- {
- "attrKey": "/role",
- "modified": "2024-09-12T12:51:42.108Z",
- "type": "entityType/id/realm"
}
]
}, - "item": {
- "type": "roleMembership"
}, - "keys": {
- "type": "roleMembership",
- "roleId": "7136a3c4-0c12-488a-8cfd-2fd71a24e4bd",
- "userId": "e8224d8b-a5b6-4120-83d4-fd9b69844aca"
}, - "relationship": {
- "id": "7065a955-275f-4e70-969b-4cf19c479af6-8621418",
- "conditional": false
}, - "metadata": {
- "modifiedDate": "2024-09-12T12:57:46.847Z",
- "createdDate": "2024-09-03T13:08:13.306772183Z"
}
}
], - "searchAfterKey": [
- "a321329c-a7e6-47ad-8349-99b6e38f9a59"
], - "totalCount": 0,
- "resultCount": 0
}
Update or publish the worfklow definition.
id required | string ID of the workflow to update |
The updated data to save.
id | string ID of the workflow definition. It must to be one of the 6 seeded definitions. |
name | string Name of the workflow definition. It must to be one of the 6 seeded definitions. |
displayName | string The name that displays for the workflow definition. |
description | string The description of the workflow definition. |
type | string Value: "provisioning" Provisioning is the only available type. |
Array of any The order of steps. The first element in the steps array is the first step of the workflow. |
{- "id": "string",
- "name": "string",
- "displayName": "string",
- "description": "string",
- "type": "provisioning",
- "steps": [
- {
- "name": "string",
- "displayName": "string",
- "type": "scriptTask",
- "scriptTask": {
- "language": "javascript",
- "gatewayType": "inclusive",
- "script": "logger.info(\"Auto-Deprovisioning\");\n\nvar content = execution.getVariables();\nvar requestId = content.get('id');\nvar failureReason = null;\n\ntry {\n var requestObj = openidm.action('iga/governance/requests/' + requestId, 'GET', {}, {});\n logger.info(\"requestObj: \" + requestObj);\n}\ncatch (e) {\n failureReason = \"Deprovisioning failed: Error reading request with id \" + requestId;\n}\n\nif(!failureReason) {\n try {\n var request = requestObj.request;\n var payload = {\n \"roleId\": request.common.roleId,\n \"startDate\": request.common.startDate,\n \"endDate\": request.common.endDate,\n \"auditContext\": {},\n \"grantType\": \"request\"\n };\n var queryParams = {\n \"_action\": \"remove\"\n }\n\n var result = openidm.action('iga/governance/user/' + request.common.userId + '/roles' , 'POST', payload,queryParams);\n }\n catch (e) {\n failureReason = \"Deprovisioning failed: Error deprovisioning role to user \" + request.common.userId + \" for role \" + request.common.roleId + \". Error message: \" + e.message;\n }\n \n var decision = {'status': 'complete'};\n if (failureReason) {\n decision.outcome = 'not provisioned';\n decision.comment = failureReason;\n decision.failure = true;\n }\n else {\n decision.outcome = 'provisioned';\n }\n\n var queryParams = { '_action': 'update'};\n openidm.action('iga/governance/requests/' + requestId, 'POST', decision, queryParams);\n logger.info(\"Request \" + requestId + \" completed.\");\n}",
- "nextStep": [
- {
- "condition": "string",
- "outcome": "string",
- "step": "string"
}
]
}
}
]
}
The endpoint will return the entitlement with the provided ID.
id required | string ID of the entitlement |
{- "id": "system_TargetADApp___GROUP___8989f1f4-1518-49bf-8a45-7a84d3c6b17f",
- "descriptor": {
- "idx": {
- "/entitlement": {
- "displayName": "Zoran Entitlement Owner"
}
}
}, - "entitlement": {
- "__NAME__": "Zoran Entitlement Owner",
- "_id": "8989f1f4-1518-49bf-8a45-7a84d3c6b17f",
- "description": "Zoran Entitlement Owner",
- "displayName": "Zoran Entitlement Owner",
- "id": "8989f1f4-1518-49bf-8a45-7a84d3c6b17f",
- "mailEnabled": false,
- "proxyAddresses": [ ],
- "securityEnabled": true
}, - "application": {
- "id": "26523063-6d77-49b1-b0b6-e56db1ff59cf",
- "name": "TargetADApp",
- "description": "Test",
- "icon": "",
- "templateName": "azure.ad"
}, - "applicationOwner": [
- {
- "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d",
- "userName": "iga-admin",
- "givenName": "iga",
- "sn": "admin",
- "mail": "sandesh.more+sm-acc-api-1010@forgerock.com"
}
], - "entitlementOwner": [
- {
- "_rev": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357",
- "accountStatus": "active",
- "cn": "iga admin",
- "fr": {
- "realm": "alpha"
}, - "givenName": "iga",
- "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d",
- "mail": "sandesh.more+sm-acc-api-1010@forgerock.com",
- "metadata": {
- "entityType": "/openidm/managed/user",
- "created": "2023-10-11T14:07:19.02Z"
}, - "sn": "admin",
- "userName": "iga-admin"
}
], - "metadata": {
- "firstCreated": "2024-01-11T12:00:00+00:00",
- "created": "2024-04-24T12:00:00+00:00"
}
}
Searches for all entitlements that match the target filter.
pageSize | string Number of results per page |
pageNumber | string Page number of results to show |
fields | string Properties to be returned |
sortBy | string The property to be sorted by |
sortDir | string The direction of sort, asc or desc |
sortType | string The type of sort value, leave blank for normal sorting, or use 'date' or 'integer' for numeric |
searchAfter | string The sort property values of the last entry to continue searching from. Comma separated. |
object (TargetFilterNode) A targetFilter object, used to build a custom search filter to retrieve desired results. |
{- "targetFilter": {
- "operator": "AND",
- "operand": [
- {
- "operator": "EQUALS",
- "operand": {
- "targetName": "user.userName",
- "targetValue": "ljones"
}
}, - {
- "operator": "CONTAINS",
- "operand": {
- "targetName": "application.name",
- "targetValue": "Active Directory"
}
}
]
}
}
{- "result": [
- {
- "id": "system_TargetADApp___GROUP___8989f1f4-1518-49bf-8a45-7a84d3c6b17f",
- "descriptor": {
- "idx": {
- "/entitlement": {
- "displayName": "Zoran Entitlement Owner"
}
}
}, - "entitlement": {
- "__NAME__": "Zoran Entitlement Owner",
- "_id": "8989f1f4-1518-49bf-8a45-7a84d3c6b17f",
- "description": "Zoran Entitlement Owner",
- "displayName": "Zoran Entitlement Owner",
- "id": "8989f1f4-1518-49bf-8a45-7a84d3c6b17f",
- "mailEnabled": false,
- "proxyAddresses": [ ],
- "securityEnabled": true
}, - "application": {
- "id": "26523063-6d77-49b1-b0b6-e56db1ff59cf",
- "name": "TargetADApp",
- "description": "Test",
- "icon": "",
- "templateName": "azure.ad"
}, - "applicationOwner": [
- {
- "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d",
- "userName": "iga-admin",
- "givenName": "iga",
- "sn": "admin",
- "mail": "sandesh.more+sm-acc-api-1010@forgerock.com"
}
], - "entitlementOwner": [
- {
- "_rev": "8baa49a4-2c22-40e1-a2b9-5cbe4930f8da-46357",
- "accountStatus": "active",
- "cn": "iga admin",
- "fr": {
- "realm": "alpha"
}, - "givenName": "iga",
- "id": "100a7fba-fd8b-47ca-bc6e-16fbec3a578d",
- "mail": "sandesh.more+sm-acc-api-1010@forgerock.com",
- "metadata": {
- "entityType": "/openidm/managed/user",
- "created": "2023-10-11T14:07:19.02Z"
}, - "sn": "admin",
- "userName": "iga-admin"
}
], - "metadata": {
- "firstCreated": "2024-01-11T12:00:00+00:00",
- "created": "2024-04-24T12:00:00+00:00"
}
}
], - "resultCount": 0,
- "totalCount": 0,
- "searchAfterKey": [
- "string"
]
}
This end point returns users assigned the given entitlement
id required | string The ID of the application |
pageSize | string Number of results per page |
pageNumber | string Page number of results to show |
sortBy | string Field to sort by |
sortDesc | string Sort order asc/desc |
queryString | string Search term, searches against userName, givenName, sn |
{- "result": [
- {
- "user": {
- "id": "string",
- "userName": "string",
- "givenName": "string",
- "sn": "string",
- "mail": "string"
}, - "account": { },
- "item": { },
- "relationship": { }
}
], - "resultCount": 0,
- "totalCount": 0,
- "searchAfterKey": [
- "string"
]
}