Account Aggregation
POST/sources/:id/load-accounts
This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true
to use this endpoint.
Starts an account aggregation on the specified source.
If the target source is a delimited file source, then the CSV file needs to be included in the request body.
You will also need to set the Content-Type header to multipart/form-data
.
Request
Path Parameters
Source Id
Header Parameters
Default value: true
Use this header to enable this experimental API.
- multipart/form-data
Body
The CSV file containing the source accounts to aggregate.
Use this flag to reprocess every account whether or not the data has changed.
Responses
- 202
- 400
- 401
- 403
- 429
- 500
Aggregate Accounts Task
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Default value: true
The status of the result
task
object
System-generated unique ID of the task this taskStatus represents
Type of task this task represents
The name of the aggregation process
The description of the task
The user who initiated the task
The Task creation date
The task start date
The task completion date
Possible values: [SUCCESS
, WARNING
, ERROR
, TERMINATED
, TEMP_ERROR
]
Task completion status.
Name of the parent task if exists.
messages
object[]
List of the messages dedicated to the report. From task definition perspective here usually should be warnings or errors.
Possible values: [INFO
, WARN
, ERROR
]
Type of the message.
Flag whether message is an error.
Flag whether message is a warning.
Message string identifier.
Message context with the locale based language.
Current task state.
attributes
object
Extra attributes map(dictionary) for the task.
The id of the source
The indicator if the aggregation process was enabled/disabled for the aggregation job
returns
object[]
Return values from the task
The display label of the return value
The attribute name of the return value
{
"success": "true",
"task": {
"id": "ef38f94347e94562b5bb8424a56397d8",
"type": "QUARTZ",
"name": "Cloud Account Aggregation",
"description": "Aggregate from the specified application",
"launcher": "John Doe",
"created": "2020-09-07T42:14:00.364Z",
"launched": "2020-09-07T42:14:00.521Z",
"completed": "2020-09-07T42:14:01.137Z",
"completionStatus": "Success",
"parentName": "Audit Report",
"messages": [],
"progress": "Initializing...",
"attributes": {
"appId": "c31386cb18bb403cbb6df4c86294ff82",
"optimizedAggregation": "enabled"
},
"returns": [
[
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_APPLICATIONS",
"attributeName": "applications"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_TOTAL",
"attributeName": "total"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_OPTIMIZED",
"attributeName": "optimizedAggregation"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_IGNORED",
"attributeName": "ignored"
},
{
"displayLabel": "TASK_OUT_UNCHANGED_ACCOUNTS",
"attributeName": "optimized"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_CREATED",
"attributeName": "created"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_UPDATED",
"attributeName": "updated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_DELETED",
"attributeName": "deleted"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_MANAGER_CHANGES",
"attributeName": "managerChanges"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_BUSINESS_ROLE_CHANGES",
"attributeName": "detectedRoleChanges"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_EXCEPTION_CHANGES",
"attributeName": "exceptionChanges"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_POLICIES",
"attributeName": "policies"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_POLICY_VIOLATIONS",
"attributeName": "policyViolations"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_POLICY_NOTIFICATIONS",
"attributeName": "policyNotifications"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_SCORES_CHANGED",
"attributeName": "scoresChanged"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_SNAPSHOTS_CREATED",
"attributeName": "snapshotsCreated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_SCOPES_CREATED",
"attributeName": "scopesCreated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_SCOPES_CORRELATED",
"attributeName": "scopesCorrelated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_SCOPES_SELECTED",
"attributeName": "scopesSelected"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_SCOPES_DORMANT",
"attributeName": "scopesDormant"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_UNSCOPED_IDENTITIES",
"attributeName": "unscopedIdentities"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_CERTIFICATIONS_CREATED",
"attributeName": "certificationsCreated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_CERTIFICATIONS_DELETED",
"attributeName": "certificationsDeleted"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_APPLICATIONS_GENERATED",
"attributeName": "applicationsGenerated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_MANAGED_ATTRIBUTES_PROMOTED",
"attributeName": "managedAttributesCreated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_MANAGED_ATTRIBUTES_PROMOTED_BY_APP",
"attributeName": "managedAttributesCreatedByApplication"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_IDENTITYENTITLEMENTS_CREATED",
"attributeName": "identityEntitlementsCreated"
},
{
"displayLabel": "TASK_OUT_ACCOUNT_AGGREGATION_GROUPS_CREATED",
"attributeName": "groupsCreated"
}
]
]
}
}
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (from schema)
Schema
A message describing the error
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (from schema)
- 403
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
- application/json
- Schema
- Example (from schema)
Schema
A message describing the error
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (from schema)
- 500
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}