API Deprecation Office Hours

Our bi-weekly API Deprecation Office Hours are a great place to get help from the SailPoint Developer Relations team with migrating from CC, V1, or V2 APIs to our V3 APIs equivalents. If you have any questions about these APIs (e.g. object mappings, data types), how to change your API calls our for our SDKs, or anything else related to our API deprecations then this is the place for you to join and ask!

Office Hours Recording

Office Hours Notes

Specific API requests made on the call today

Feature gaps mentioned on the call today

  • When creating a source in V3, there is a hidden name that can’t be changed. It’s the same name as the source with “[Source]” in brackets.
  • POST /api/source/reset doesn’t have adequate replacement. You can’t reset just accounts or just entitlements using the new method.
  • A transform created in /cc and you try to update with /v3, it won’t work.

Hi Jordan,
Will these be recorded and shared? or can we send in questions beforehand?

The teams call is 1am to 3am local time, so not ideal for me :slight_smile:

Thanks

1 Like

Hey Jason,

Great question. Yes they will be! What time zone are you in?

Hi Jordan,

I am in GMT +11 (Sydney).

My main concern is that some endpoints do not have a /beta or /v3 equivalent yet.

Example:

  • Creating campaign filters: /cc/api/campaignFilter/create
  • Downloading/exporting campaign reports as CSV files: /cc/api/report/get/<report_id>?format=csv

Thanks

Hi @jordan_violet ,

Thanks for arranging these sessions. Can you confirm if the timing of the meeting 3PM to 5 PM on 7th November is CET or any other timezone?

We use /cc/api/source/loadAccounts/ API to aggregate the accounts, I wanted to discuss and understand the alternatives for this API.

Thanks in Advance.

1 Like

@jrossicare We are hosting a later office hour session on this day that may work better for you. Can you attend this one? API Deprecation Office Hours

Thanks @colin_mckibben , I have added that one to my calendar :slight_smile:

1 Like

Hi, I was told by Sailpoint previously that all of the deprecated API’s will be given V3 or Beta equivalents before deprecation. Is this still true as cannot see a specific API to change Identity Status as per V2. There are also a few cc API’s not covered in V3 or Beta.

1 Like

Hey John,

Great questions, and welcome to the developer community!

You are mostly correct in that all CC, V1, and V2 endpoints should receive a replacement before the APIs shut off on March 31st, 2024.

Those replacement APIs will come up in real-time as our engineering teams build the replacement endpoints. If you want to stay up-to-date in real-time on when those endpoints become available, subscribe to the Non-Public API Deprecations category by going there, clicking the little bell in the top-right corner, and change your notification level to “Watching First Post”. This will allow you to get notified every time a new replacement endpoint becomes available.

We will also be holding these office hours four times a month for you to come and ask questions as well, so don’t hesitate to show up and let us know what endpoints you’re working with. We’re keeping a list of endpoints being discussed, and we’ll take that back to engineering to let them know what our community is doing.

Let me know if you have any follow-up questions—we’re here to help!

Today’s sessions has ended with no more questions or attendees on the call. Thank you all so much for coming today!

We’ll post the recording and a summary of today’s on the original post at the top shortly.

Hi Team,

Do you guys happen to know if there will be a replacement for the following APIs:

Source resets. Here are the API calls for reference:
{{api-url}}/cc/api/source/reset/:cloudExternalId?skip=accounts
{{api-url}}/cc/api/source/reset/:cloudExternalId?skip=entitlements

refreshidentities and their arguments?
{{api-url}}/cc/api/system/refreshIdentities with the following payload:

{
   "filter" : "name == \"xxxxxxx\"",
   "refreshArgs" : {
     "correlateEntitlements" : "true",
     "promoteAttributes" : "true",
     "refreshManagerStatus" : "false",
     "synchronizeAttributes" : "true",
     "pruneIdentities" : "false",
     "provision" : "true"
   }
}

Getting queue status {{api-url}}/cc/api/message/getQueueStatus

Bulk hiding applications within the UI? {{api-url}}/v2/apps/bulk-update?all=true

Exporting Reports, {{api-url}}/v2/search/identities/runExport?query=*&fields=firstname,lastname,access.spread

Thanks agains

Sincerely,
Tom Bui

1 Like

It seems we are being pushed towards CLI, but it’s still using CC endpoints as well. Some of these endpoints are on my list of concerned methods that haven’t been ported over. I gotta assume CC will remain until methods CLI relies on are available, right?

Hi Jason - regarding the “/cc/api/report/get/<report_id>?format=csv”:

Were you able to determine a V3 equivalent? Any info/solution that you’ve been able to determine is very much appreciated!

Thank you,
Mike Thornhill

Hi Mike

There is no v3 or beta equivalent that I am aware of. I am trying to keep a close eye on this, as we rely on it quite a lot.

Thanks Jason. I got to review the session where you discussed your usecase and the crux of it is similar to ours: downloading even ~30 campaign reports is an hours-long task, whereas a script that pulls them with that API call takes tens of seconds. This is essential for an automated email script that runs weekly when we run large quarterly campaigns, as well as to quickly provide bulk data to auditors.

Hi Mike,

I have an update from @colin_mckibben with a /v3 endpoint.

  1. List campaigns, and get your Campaign ID

GET /v3/campaigns?detail=FULL

Let’s say Campaign ID we want is 107e309a372943849a91a49acbfd432b

  1. Generate latest reports for this campaign

POST beta/campaigns/107e309a372943849a91a49acbfd432b/run-report/CAMPAIGN_REMEDIATION_STATUS_REPORT
POST beta/campaigns/107e309a372943849a91a49acbfd432b/run-report/CAMPAIGN_STATUS_REPORT

  1. Get Report IDs

GET /v3/campaigns/107e309a372943849a91a49acbfd432b/reports

Response will contain

    {
        "lastRunAt": "2024-01-18T04:53:43.959Z",
        "reportType": "CAMPAIGN_REMEDIATION_STATUS_REPORT",
        "status": "SUCCESS",
        "type": "REPORT_RESULT",
        "id": "c8705aa62c4d490f8c475756ff0f5bdf",
        "name": "Campaign Remediation Status Report"
    },
  1. Use that ID to download report

GET /v3/reports/c8705aa62c4d490f8c475756ff0f5bdf?fileFormat=csv

Response should be the CSV file

NOTE: The documentation page says to include header Accept:application/octet-stream - but I got error with this, so my headers are:
Authorization: Bearer …
Accept-Encoding: gzip, deflate, br

That’s it.

2 Likes

Jason - this is fantastic. I look forward to making these changes and testing it out. Thank you for letting me know!

Regards.
Mike Thornhill

1 Like