Websrevice connector aggregation calling multiple end points

Hello everyone,

We have a requirement in webservice connector.

Api 1: /users-> this gives list of all users but not groups assigned to users
Api 2: /users/:userid?withgroupnames = true → I need to call this api for EACH USER from api by sending userid in the url. This gives group names assigned users.

I have written webservice after operation rule. I am iterating over all users retrieved from api and calling the api2 for each user to get the groupnames and updating the response object. This is working fine but the concern is with the performance.

There are 2500 users in prod and for each aggregation we will be calling the api 2500 times. The aggregation will take more than 60 mins in prod approximately.

Can anyone suggest if there is some alternate solution or is this a common scenario where sailpoint aggregation can handle more than 2500 calls?

Thank you and appreciate your help.

Regards,
Ajith

Hi Ajith,
I believe it’s quite standard approach - as I did it already few times already. What I can add to this is that you can actually do that OoTB without any after operation rule.

You can just define second operation for Accounts Aggregation which will utilise ID from the response of the previous step. Important is to set parent endpoint


for the “details aggregation” - this will actually execute this operation for every single object retrieved by the parent.
If you are interested in some more details here you can find detailed documentation how to use it: Multiple Independent Endpoints

To improve performance of the aggregation you can do few things.

  1. Implement partitioning - this will allow you to execute multiple calls in paralell
    Partitioning

  2. Implement delta aggregation - this will allow you to only aggregate changed objects instead of full 2.5k list.
    Account Delta Aggregation

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.