Mint a SCIM bearer token for the Environment
/portal/v1/accounts/{accountSlug}/applications/{appSlug}/environments/{envSlug}/scim-tokensMints a new SCIM bearer token for the current Environment, returning the raw token exactly once alongside its id, token_preview, and the SCIM base_url the IdP admin pastes into Okta/Entra. The raw value is bcrypt-hashed for storage (with a SHA-256 lookup hash) and is never recoverable afterwards. Accepts an optional human name label and returns 201.
Authentication
AuthorizationJWT access token. Never send alongside X-API-Key: a request carrying both is refused.
sso.manageSecurityManage SSO connections, domains, and directory sync. Granted through an administrator role in the Admin Workspace; a valid token without it is refused with 403.
Request body
application/json
namestring Optional Human label for the token, shown in the portal token list (e.g. the IdP it's pasted into). Optional.
Responses
application/json
data *ScimTokenCreatedResponseDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
Errors
When the request can't be completed, the response body includes a stable error code you can branch on.
account.capability_requiredForbiddenThe signed-in user's administrator roles do not grant the capability this endpoint requires.
Ask an account administrator to grant a role carrying the capability named in the Authentication section, then retry.
Returned object
curl -X POST "https://auth.canopy-io.com/portal/v1/accounts/{accountSlug}/applications/{appSlug}/environments/{envSlug}/scim-tokens" \ -H "Authorization: Bearer $CANOPY_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'
{ "data": { "id": "string", "name": "string", "token": "string", "token_preview": "string", "base_url": "string" } }
Tell us how we can improve this guide.