Run Report
POST/reports/run
Use this API to run a report according to report input details. If non-concurrent task is already running then it returns, otherwise new task creates and returns.
Request
- application/json
Body
required
- ACCOUNTS
- IDENTITIES_DETAILS
- IDENTITIES
- IDENTITY_PROFILE_IDENTITY_ERROR
- ORPHAN_IDENTITIES
- SEARCH_EXPORT
- UNCORRELATED_ACCOUNTS
Possible values: [ACCOUNTS
, IDENTITIES_DETAILS
, IDENTITIES
, IDENTITY_PROFILE_IDENTITY_ERROR
, ORPHAN_IDENTITIES
, SEARCH_EXPORT
, UNCORRELATED_ACCOUNTS
]
Use this property to define what report should be processed in the RDE service.
arguments
object
The string-object map(dictionary) with the arguments needed for report processing.
oneOf
Arguments for Account Export report (ACCOUNTS)
Source ID.
Source name.
Arguments for Identities Details report (IDENTITIES_DETAILS)
Flag to specify if only correlated identities are included in report.
Arguments for Identities report (IDENTITIES)
Flag to specify if only correlated identities are included in report.
Arguments for Identity Profile Identity Error report (IDENTITY_PROFILE_IDENTITY_ERROR)
Source ID.
Arguments for Orphan Identities report (ORPHAN_IDENTITIES)
Possible values: [CSV
, PDF
]
Output report file formats. These are formats for calling GET endpoint as query parameter 'fileFormat'. In case report won't have this argument there will be ['CSV', 'PDF'] as default.
Arguments for Search Export report (SEARCH_EXPORT)
The report file generated will be a zip file containing csv files of the search results.
Possible values: [accessprofiles
, accountactivities
, entitlements
, events
, identities
, roles
, *
]
The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.
The query using the Elasticsearch Query String Query syntax from the Query DSL extended by SailPoint to support Nested queries.
Comma separated string consisting of technical attribute names of fields to include in report.
Use access.spread
, apps.spread
, accounts.spread
to include respective identity access details.
Use accessProfiles.spread
to unclude access profile details.
Use entitlements.spread
to include entitlement details.
The fields to be used to sort the search results. Use + or - to specify the sort direction.
Arguments for Uncorrelated Accounts report (UNCORRELATED_ACCOUNTS)
Possible values: [CSV
, PDF
]
Output report file formats. These are formats for calling GET endpoint as query parameter 'fileFormat'. In case report won't have this argument there will be ['CSV', 'PDF'] as default.
Responses
- 200
- 400
- 401
- 403
- 429
- 500
Details about running report task.
- application/json
- Schema
- Example (from schema)
- identityDetailsReport
- searchExportReport
Schema
Array [
]
Array [
]
Possible values: [QUARTZ
, QPOC
, MENTOS
, QUEUED_TASK
]
Type of the job or task underlying in the report processing. It could be a quartz task, QPOC or MENTOS jobs or a refresh/sync task.
Unique task definition identifier.
Possible values: [ACCOUNTS
, IDENTITIES_DETAILS
, IDENTITIES
, IDENTITY_PROFILE_IDENTITY_ERROR
, ORPHAN_IDENTITIES
, SEARCH_EXPORT
, UNCORRELATED_ACCOUNTS
]
Use this property to define what report should be processed in the RDE service.
Description of the report purpose and/or contents.
Name of the parent task/report if exists.
Name of the report processing initiator.
Report creation date
Report start date
Report completion date
Possible values: [SUCCESS
, WARNING
, ERROR
, TERMINATED
, TEMP_ERROR
]
Report completion status.
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.
returns
object[]
Task definition results, if necessary.
Attribute description.
System or database attribute name.
attributes
object
Extra attributes map(dictionary) needed for the report.
Current report state.
{
"type": "MENTOS",
"id": "a248c16fe22222b2bd49615481311111",
"reportType": "IDENTITIES_DETAILS",
"description": "A detailed view of the identities in the system.",
"parentName": "Audit Report",
"launcher": "cloudadmin",
"created": "2020-09-07T42:14:00.364Z",
"launched": "2020-09-07T42:14:00.521Z",
"completed": "2020-09-07T42:14:01.137Z",
"completionStatus": "Success",
"messages": [],
"returns": [],
"attributes": {
"org": "an-org"
},
"progress": "Initializing..."
}
Identities Details Report task result.
{
"reportType": "IDENTITIES_DETAILS",
"taskDefName": "Identities Details Report",
"type": "QUARTZ",
"id": "a248c16fe22222b2bd49615481311111",
"created": "2023-09-07T42:14:00.364Z",
"description": "A detailed view of the identities in the system.",
"parentName": "Audit Report",
"launcher": "9832285",
"launched": "2023-09-07T42:14:00.521Z",
"completed": "2023-09-07T42:14:01.137Z",
"messages": [],
"returns": [],
"attributes": {
"org": "an-org"
},
"progress": "Initializing..."
}
Identities Details Report task result.
{
"reportType": "SEARCH_EXPORT",
"taskDefName": "Search Export",
"type": "QUARTZ",
"id": "a248c16fe22222b2bd49615481311111",
"created": "2023-09-07T42:14:11.137Z",
"description": "Extract query data from ElasticSearch to CSV",
"parentName": null,
"launcher": "T05293",
"launched": "2020-09-07T42:14:11.137Z",
"completed": "2020-09-07T42:14:13.451Z",
"messages": [],
"returns": [],
"attributes": {
"queryHash": "5e12cf79c67d92e23d4d8cb3e974f87d164e86d4a48d32ecf89645cacfd3f2",
"org": "an-org",
"queryParams": {
"columns": "displayName,firstName,lastName,email,created,attributes.cloudLifecycleState,tags,access.spread,apps.pread,accounts.spread",
"indices": "identities",
"ownerId": "95ecba5c5444439c999aec638ce2a777",
"query": 700007,
"sort": "displayName"
}
},
"progress": "Initializing..."
}
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."
}
]
}