List setup status for every Environment in the Account
/portal/v1/accounts/{accountSlug}/setup-summariesReturns one setup-status row per (Application × Environment) across the active Account as an { items } collection, in a single query to avoid N+1 fetching on the Applications page. Each row reports has_permissions, has_roles, has_role_permissions, a combined is_complete flag (all three true), identities_count — the distinct identities holding at least one assignment on a node in that Environment — and members_count, the distinct identities with an active membership in it, assigned or not. Read-only and scoped to the Account resolved from the path and guard chain.
Authentication
AuthorizationJWT access token. Never send alongside X-API-Key: a request carrying both is refused.
applications.viewDeveloper ConsoleView the Account's Applications and Environments. 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.
Responses
application/json
items *SetupSummaryItemDto[]
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.
Returned object
curl -X GET "https://auth.canopy-io.com/portal/v1/accounts/value/setup-summaries" \ -H "Authorization: Bearer $CANOPY_TOKEN"
{ "items": [ { "application_id": "string", "application_slug": "string", "environment_id": "string", "environment_slug": "string", "has_permissions": false, "has_roles": false, "has_role_permissions": false, "is_complete": false, "nodes_count": 0, "roles_count": 0, "permissions_count": 0, "identities_count": 0, "members_count": 0 } ] }
Tell us how we can improve this guide.