Add an entitlement to an access profile
An access profile is a named bundle of requestable entitlements — in the API, this is a request catalog. To add an entitlement to one, you need the catalog’s ID first.1
Find the catalog ID for the access profile
List or search request catalogs to find the
catalog_id matching the access profile’s display name.curl
2
Add the entitlement to that catalog
curl
createRequests to true if you want C1 to automatically create access requests for the entitlement on behalf of everyone already enrolled in the access profile.Check how many users have completed provisioning for an access profile
There’s no single “provisioning status” endpoint. Instead, find the entitlement(s) backing the access profile, then count tasks against them.1
Find the entitlement(s) backing the access profile
curl
2
Search grant tasks for those entitlements
curl
taskStates: OPEN (still provisioning) against taskStates: CLOSED (done) counts to get an “x of y” figure. Request a small pageSize (10 or fewer) — each task record is large.Set an entitlement’s risk level
1
Create the risk level value, if it doesn't already exist
Risk levels are a shared, tenant-wide list of values — check whether the one you want already exists before creating a duplicate.The response includes the new value’s
curl
id — save it for the next step.2
Apply the risk level to the entitlement
Extend or remove a grant’s expiration date
You need the specific grant (the binding between a user and an entitlement) before you can change its expiration — you can’t do it by user or entitlement ID alone.1
Find the grant
Search grants for the entititlement to find the specific user’s binding.
curl
2
Update or remove the expiration
To set a new expiration:To remove the expiration entirely (make the grant permanent), use the equivalent
curl
remove-grant-duration endpoint on the same binding instead.Trigger a workflow automation via the API and confirm it ran
Executing an automation and checking its result are two separate calls — the execute call only returns an execution ID, not a result.1
Execute the automation
curl
executionId.2
Check the execution's status
curl
state field on the returned execution object.