List Environment bindings for an end-user connection
/portal/v1/accounts/{accountSlug}/sso/connections/{id}/environmentsLists the Environment bindings for an end_user SSO connection — the publishable-key / Direct-API analogue of OAuth-client links — ordered oldest-first, each carrying per-Environment placement config. Returns 404 when the connection is not found or is not end_user-scope. The response is an unpaginated { items } array.
Authentication
AuthorizationJWT access token. Never send alongside X-API-Key: a request carrying both is refused.
sso.viewSecurityView SSO connections, domains, and directory sync. Granted through an administrator role in the Admin Workspace; a valid token without it is refused with 403.
Path Parameters
idstring Required Responses
application/json
items *EnvironmentSsoLinkResponseDto[]
application/json
error *ApiErrorBodyDto
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 GET "https://auth.canopy-io.com/portal/v1/accounts/{accountSlug}/sso/connections/value/environments" \ -H "Authorization: Bearer $CANOPY_TOKEN"
{ "items": [ { "environment_id": "string", "sso_connection_id": "string", "is_default": false, "default_hierarchy_node_id": "string", "claim_node_mapping": [ { "claim": "string", "value": "string", "node_id": "string", "is_array_match": false } ], "default_role_id": "string", "created_at": "2026-04-20T12:00:00.000Z" } ] }
Tell us how we can improve this guide.