Web Services Pagination for both parent & child operations

Hi Everyone,

Usecase :
This is a REST API based application and we’ve leveraged Web Services connector for integrating with SailPoint. The /users endpoint and /entitlements endpoint are both different. I am using parent child configuration for account aggregation to pull user details and then using the response, I am getting entitlements of the user and populating them onto a custom account attribute. Since the /users endpoint supports only 50 records per page, pagination is required and is configured already on the parent HTTP operation.

Problem :
The users would be having more than 100-150 entitlements on this application. Each page on the /entitlements related API call supports only 50 entries per page. Thus there is a need for pagination on the child API call as well. As per official web services documentation, “paging is supported only for the first operation instance of Account or Entitlement Aggregation.

I do understand WSBO/WSAO rules might be one option but that is a very lengthy customization that client is not willing to maintain going forward. Also, it is not possible to handle rate limiting in the rules as we cannot use sleep statements. Hence, is there an efficient or better way of handling API calls where both parent and child operations need to have pagination configured?

Additional Note :
We also have below API rate limiting in place by the vendor on /entitlements related API call which is immutable:

  • 50 API calls per minute allowed
  • 3000 API calls per hour allowed
  • 72000 API calls per day allowed

If anybody has faced a similar situation before where they’ve handled multiple pagination configurations in parent-child setup and also handled API throttling/rate limiting using Web Services connector, please guide us on how or put down your thoughts here.

Thanks,
Arshad.

1 Like

Hi @Arshad,

When I needed pagination and rate limiting along with complex account attribute mapping I build custom SaaS connector. You can see a bunch of examples published here: sailpoint-oss repositories. This approach provides the most flexibility but your client might not like this approach :wink:

Were you able to find a solution here? I have nearly the same exact issue and am at a bit of a loss of what to do aside from writing up a whole rule to handle pagination. Not allowing pagination on child endpoints is… certainly a choice. Your use case here seems like it would not be uncommon