Hi Experts,
We need to disable 1k+ accounts on a source (with 5k+ accounts), please kick start me with some ideas, thanks in advance.
Hi Experts,
We need to disable 1k+ accounts on a source (with 5k+ accounts), please kick start me with some ideas, thanks in advance.
Have you considered running a script to call Account Update API?
PATCH     ..../beta/accounts/:accountId
body
[
    { 
        "op": "replace", 
        "path": "/disabled", 
        "value": true
    }
]
You could use a workflow to do it if you can craft a search query that can get all of the accounts in question. We have a workflow that enables accounts that were returned in a search so that is something similar.

Our workflow triggers off aggregation, waits a bit for post aggregation processing to complete and then runs a search query on accounts we want to enable. The list of accounts is then looped through an enabled one at a time.
Might not be what you are looking for all of these, but if you have to do a handful here or there ongoing, it might be useful.
Thanks for your help ben, but our environment doesn’t have the workflows enabled.
Ok, yeah then I probably would script it like mentioned previously. You could use a PowerShell script like this to do it. Please note that I have not ran in this code in a long time so use at your risk.
# Specify the path to the file containing account information
$accountsFilePath = "C:\Path\To\Your\Accounts\File.txt"
# Read the accounts from the file
$accounts = Get-Content -Path $accountsFilePath
# Define headers
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", "application/json")
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer <TOKEN>")
# Loop through each account in the file
foreach ($account in $accounts) {
    # Create the JSON body for the API call
    $body = @"
    {
      "externalVerificationId": "$account",
      "forceProvisioning": false
    }
"@
    # Construct the API endpoint with the account ID
    $apiEndpoint = "https://sailpoint.api.identitynow.com/beta/accounts/$account/disable"
    # Invoke the REST method for each account
    $response = Invoke-RestMethod -Uri $apiEndpoint -Method 'POST' -Headers $headers -Body $body
    # Display the response (you can customize this part based on your needs)
    $response | ConvertTo-Json
}
Good luck
Thanks @BenNelson, it worked
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.