# List scopes `GET /api/api-keys/scopes` (operationId: `apiKeyScopes`, group: API keys) The scopes a key can be limited to, grouped, with a description of each and the :read variant where one exists. The panel renders from this, so a new scope needs no client change. Part of the full API, which is included in the Scale plan. Any one of these scopes is enough: `settings`, `settings:read`. **Response 200**: OK (schema `ScopeCatalog`) | Field | Type | Description | | --- | --- | --- | | `groups` | object | Group key to display name. | | `scopes` | array of object | | | `scopes[][].key` | string | | | `scopes[][].group` | string | | | `scopes[][].label` | string | | | `scopes[][].description` | string | | | `scopes[][].viewOnly` | boolean | Only ever grants viewing. | | `scopes[][].readScope` | string, nullable | The :read variant of this scope, when there is one. | | `readScopes` | array of string | | Example: ```json { "groups": { "workspace": "Workspace", "ai": "AI agent", "admin": "Admin and billing", "channel": "Channel" }, "scopes": [ { "key": "inbox", "group": "workspace", "label": "Inbox", "description": "Read chats and messages; claim, release, transfer, snooze, label and note conversations.", "readScope": "inbox:read" } ], "readScopes": [ "inbox:read", "contacts:read" ] } ``` Part of the InboxWA API reference: https://inboxwa.online/docs/api . Full reference as one document: https://inboxwa.online/docs/api.md . OpenAPI: https://inboxwa.online/openapi.json