IDCS API for Troubleshooting

In this article, I will provide some sample APIs and use cases for the purpose of issue diagnosis.


Search User with POST - we can use this API to get user details including id based on userName. With the user id returned in the response payload, we can use the same for other calls to retrieve user specific data.

The following is the example to retrieve all users with userName containing 'adam@abccompany.com'.

API: {{HOST}}/admin/v1/Users/.search

Operation: POST

Payload:

{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:SearchRequest"],
"filter":
"userName co \"adam@abccompany.com\"",
"startIndex": 1,
"count": 10
}


Get User Data from passwordState - we can use this API to get data such as lastSuccessfulSetDate. This will help us to find out the date and time when the current password was set.

API: {{HOST}}/admin/v1/Users/<id>?attributes=urn:ietf:params:scim:schemas:oracle:idcs:extension:passwordState:User:lastSuccessfulSetDate,urn:ietf:params:scim:schemas:oracle:idcs:extension:passwordState:User:expired,urn:ietf:params:scim:schemas:oracle:idcs:extension:passwordState:User:lastSuccessfulValidationDate,urn:ietf:params:scim:schemas:oracle:idcs:extension:passwordState:User:lastFailedValidationDate,urn:ietf:params:scim:schemas:oracle:idcs:extension:passwordState:User:applicablePasswordPolicy,idcsCreatedBy,idcsLastModifiedBy

Operation: GET



Search Audit Events for User - we can use this API to get the audit events logged for the specified user, then use the same to review the actions taken by or for the user.

The following is the example to retrieve all audit events for actorName containing 'adam@abccompany.com' between January 1, 2024 and December 31, 2024.

API: {{HOST}}/admin/v1/AuditEvents?filter=(actorName co "adam@abccompany.com" and timestamp ge "2024-01-01T00:00:00.000Z" and timestamp le "2024-12-31T23:59:59.000Z"))&sortBy=timestamp&sortOrder=ascending&count=200&attributes=actorName,eventId,timestamp,ecId,notificationDeliveryEmailSubject,serviceName,samlPartnerName

Operation: GET



Special Note

Schema is an import entity - I will list out a few APIs to get scheme information

Search Schema with POST - we can use this API to retrieve all schemas. For each returned schema, we can see id in the response payload and we can use the same for the next API.

API: {{HOST}}/admin/v1/Schemas/.search

Operation: POST

Payload:

{
"sortOrder": "ASCENDING",
"count": 500,
"startIndex": 1,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:SearchRequest"
]
}


Get a Schema with id - we can use this API to retrieve a specified schema with ID. 

The following is the example to get the details for schema 'urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User'.

API: {{HOST}}/admin/v1/Schemas/urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User

Operation: GET


Till next time,

Adam


Comments

Popular posts from this blog