List the organizations an end-user connection is bound to
/portal/v1/accounts/{accountSlug}/sso/connections/{id}/organizationsLists one page of the organizations this end_user connection is bound to across the Account's Environments, oldest binding first unless sorted (sort_by organization or created), each with the organization's Environment and the membership role a just-in-time login receives. Searches organization names and slugs with q; verified_domain=false narrows to the bindings whose organization has no verified domain yet (they route no sign-in and block activation). Returns 404 when the connection is not found or is not end_user-scope.
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
accountSlugstring Required The Account's slug. An unknown one answers 404.
idstring Required Query Parameters
pagenumber Optional Page number (1-based)
takenumber Optional Items per page (1-100, default 20)
qstring Optional Search organization names and slugs
sort_byenum Optional Sort column. Defaults to `created`, oldest binding first.
orderenum Optional Sort direction
verified_domainboolean Optional When false, only bindings whose organization has no verified domain: the ones that route no sign-in and block activating the connection. When true, only those with one. Omit to list all.
Responses
application/json
items *SsoConnectionOrganizationResponseDto[]pagination *PageMetaDto
application/json
error *ApiErrorBodyDto
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, and a correlation_id (also sent as the X-Correlation-Id header). Quote the correlation id when you contact support: it identifies the exact request in Canopy's logs.
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.
Pagination
This endpoint returns a paginated collection. Use the query parameters below to page through results.
pagenumberPage number (1-indexed). Defaults to 1.
takenumberItems per page (1 to 100). Defaults to 20.
Each response includes an items array alongside a pagination object with item_count, page_count, has_previous_page, and has_next_page fields.
Returned object
curl -X GET "https://auth.canopy-io.com/portal/v1/accounts/value/sso/connections/value/organizations?page=0&take=0&q=value&sort_by=organization&order=asc&verified_domain=false" \ -H "Authorization: Bearer $CANOPY_TOKEN"
{ "items": [ { "organization_node_id": "string", "organization_node": { "id": "string", "name": "string", "slug": "string", "environment_id": "string" }, "verified_domains": [ "string" ], "sso_connection_id": "string", "default_role_id": "string", "default_role": { "id": "string", "name": "string" }, "created_at": "2026-04-20T12:00:00.000Z" } ], "pagination": { "page": 0, "take": 0, "item_count": 0, "page_count": 0, "has_previous_page": false, "has_next_page": false } }
Tell us how we can improve this guide.