POST /api/source/loadEntitlements

A public, beta replacement is now available. Please use the following endpoint.

SailPoint will be allocating additional resources to extend support for POST /api/source/loadEntitlements until June 14, 2024 to give people time to move to the public replacement mentioned above.

Updates to the File Upload Utility are expected the week of March 18, 2024. Stay tuned for updates that will be posted in this topic as they come available.

If you are looking for more information on when and how the File Upload Utility will be updated to support the new endpoints, please read this post.

3 Likes

What is the API replacement for this API? We are using this one and you have only shared a general API documentation link

Also note that we use '/cc/api/event/list' to track the status of the entitlement aggregation. Either this API needs to be able to also track the status when we load the entitlements through the replacement API (once it exists), or we would need to have a replacement API for the event list API as well that is able to give that status (/beta/task-status is not working right now for entitlement aggregations).

1 Like

Support just advised us to run unoptimized entitlement aggregation. So as with /loadAccounts we will need to run this with optimization disabled as well

1 Like

We use this to load entitlements for a CSV source via API. As far as I know there is no other way. Please advise.

Can we please get an update on this?

1 Like

Is there an update on this ticket?

After gathering feedback and evaluating options, SailPoint will be allocating additional resources to extend support for POST /api/source/loadEntitlements until June 14, 2024. A public replacement endpoint is in progress and expected to be available in mid-March (IDNDENALI-8507 and IDNARC-687). Closely following the availability of the public replacement, updates to the File Upload Utility are expected the week of March 18, 2024. Stay tuned for updates that will be posted in this topic as they come available.

3 Likes

The replacement is now available as a beta API. Please migrate to the following endpoint.

Hello Colin,

It seems to me that the proposed alternative doesn’t cover all the needs initially converted by the /cc api.

The documentation for the new API does specify “delimited file source” (and use csv has body requierement), but what alternative is proposed for triggering entitlement aggregations on “Direct Connection” sources such as an Active Directory?

Thanks in advance for your help,
Thomas

4 Likes

Thanks for reporting Thomas. We’re looking into it.

1 Like

Same here,

Invoke-RestMethod "$IDNurl/cc/api/source/loadEntitlements/$($CCSource.id)" -Method "POST" -Headers $headers

Aggregate from Active Directory.

The replacement endpoint (import-entitlements | SailPoint Developer Community) has just been updated to allow entitlement aggregations for direct connection sources. To trigger an aggregation for a direct connector, like AD, Workday, Web Services, etc., just provide the sourceId in the URL and leave the request body empty. If you want to aggregate a flat file, you will provide the CSV file in the request body.

Hello Colin,

Good new, thank you ! :sunglasses:

The right link to this api replacement (renamed) : import-entitlements | SailPoint Developer Community.

2 things :

  1. The documentation still specifies that CSV is required (don’t know how can you explicite this dual use csv/direct connection more than the description)
  2. The Content-Type header in the exemple “multipart/form-data” : to be used only if CSV (otherwise error 500.0 Internal fault)

Have a good day,
Thomas

Hi @colin_mckibben
The page import-entitlement-csv | SailPoint Developer Community shows a 404 error

Just updated the links. Thanks for pointing that out.

Thanks for the feedback Thomas. I’m working on updating the description to better describe how to use this endpoint for both scenarios. Technically, the body isn’t required. If it was, you would see a REQUIRED flag next to it. Only the csvFile is required. The way I interpret it is that the body is optional, but if you do supply a body you must provide the csvFile. But the description will make that more clear. The description will also call out what to do with the Content-Type header in both scenarios.

I have the need to INCLUDE commas within the data that I am delimiting. On the CC API I was able to wrap this data in double quotes. The new API does not seem to support this functionality. Initially if I have the initial columns wrapped in quotes, I get a 400 error as seen below. If I remove the quotes from the column names, and leave the data wrapped in double quotes I get a 500. Is there a way to use a different delimiter? Is there a way to include comma’s in my data?

{
    "messages": [
        {
            "localeOrigin": "DEFAULT",
            "text": "Column: \"[\"id\", \"name\", \"displayName\", \"created\", \"description\", \"modified\", \"entitlements\", \"groups\", \"permissions\"]\" is unknown and/or column: \"[id, name, displayName, created, description, modified, entitlements, groups, permissions]\" is missing",
            "locale": "en-US"
        },
        {
            "localeOrigin": "REQUEST",
            "text": "Column: \"[\"id\", \"name\", \"displayName\", \"created\", \"description\", \"modified\", \"entitlements\", \"groups\", \"permissions\"]\" is unknown and/or column: \"[id, name, displayName, created, description, modified, entitlements, groups, permissions]\" is missing",
            "locale": "en-US"
        }
    ],
    "detailCode": "400.1.3 Illegal value",
    "trackingId": "trackingidhere"
}

Looking for details/follow-up here, as this is required in our environment.

Hi William,

I have forwarded this to the engineering team. They will look into it next week.

Hi guys,

What was the logic of making the URLs for Accounts and Entitlements so different?

Ents:  https://sailpoint.api.identitynow.com/beta/entitlements/aggregate/sources/:id
Accts: https://sailpoint.api.identitynow.com/beta/sources/:id/load-accounts

Since they’re still in Beta, can we regularize the endpoint URLs?

1 Like