Discover capabilities available to this installation
const url = 'https://example.com/v1/capabilities';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/v1/capabilities \ --header 'Authorization: Bearer <token>'Returns only models, runtimes, environments and repository operations the current organization and installation may use. Provider credentials, pool members, image references and runner addresses are never returned.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Actor-filtered capabilities
object
What this exact organization and installation may actually use right now. Read it before choosing anything and never hardcode model, runtime or environment ids — provider credentials, pool membership and runner topology are deliberately absent.
object
Constant document marker, so a stored capability snapshot can be recognized out of context
Capability document version; a new integer would accompany a breaking reshape of this document, while new fields and enum values are additive within it
Organization these capabilities were resolved for — the same organization that will own any Session created with this credential
items are the WAMP catalog models this organization may select, each with tier, context window and per-1K pricing; defaults.slots names the model to use per purpose (a null slot inherits from chat) and defaults.enabled is the curated shortlist to show a human
object
Selectable agent runtimes with the fidelity each can continue at, modelSource: 'catalog' when you must pass a WAMP model id and 'runtime' when you should omit model, plus an availability block that may report temporarily_unavailable with a retryAt
object
Execution environments described as capabilities, not as addressable hosts; V1 promotes exactly one, and its workspace block states whether a portable-tree checkpoint is retained and how large it may be
object
Which repository sources may back a Session, and whether publishing and merging are available with which strategies and modes; github_repository_grant.available is false until an administrator has granted at least one repository
object
Artifact paging and checkpoint size ceilings in bytes; content larger than a ceiling is bounded or omitted rather than silently truncated without notice
object
Hard organization limits — concurrent unarchived Sessions, characters per message, and the maximum page size any list endpoint will honour
object
Example
{ "capabilities": { "schema": "wamp.cloud-capabilities", "version": 1, "organizationId": "0b9a6f3e-5c21-4d78-9e64-8f1a2b7c3d05", "models": { "items": [ { "id": "claude-opus-5", "label": "Claude Opus 5", "provider": "anthropic", "description": "Claude flagship. Step-change over Opus 4.8 on deep reasoning and long-horizon agentic work at the same price. 1M context.", "tier": "powerful", "version": "GA", "showInUI": true, "contextWindow": 1000000, "maxOutput": 128000, "costPer1kInput": 0.005, "costPer1kOutput": 0.025 }, { "id": "gemini-3.6-flash", "label": "Gemini 3.6 Flash", "provider": "gemini", "description": "Google's default workhorse (Jul 2026). Strong coding and agentic work, cheaper output than 3.5 Flash. 1M context.", "tier": "balanced", "version": "GA", "showInUI": true, "contextWindow": 1048576, "maxOutput": 65536, "costPer1kInput": 0.0015, "costPer1kOutput": 0.0075 } ], "defaults": { "slots": { "chat": "qwen3.8-max", "agent": null, "agent-fast": "qwen3.6-flash", "agent-powerful": "qwen3.8-max", "background": "qwen3.6-flash", "reasoning": "qwen3.7-plus", "generation": "qwen3.7-plus" }, "enabled": [ "qwen3.8-max", "gemini-3.6-flash", "claude-sonnet-5", "claude-opus-5" ] } }, "runtimes": [ { "id": "wamp", "label": "WAMP", "modelSource": "catalog", "continuation": { "live": "exact", "checkpoint": "exact" }, "availability": { "state": "available" } }, { "id": "claude-code", "label": "Claude Code", "modelSource": "runtime", "continuation": { "live": "exact", "checkpoint": "result_only" }, "availability": { "state": "temporarily_unavailable", "retryAt": "2026-08-12T09:22:30Z" } } ], "environments": [ { "id": "managed", "label": "WAMP managed sandbox", "default": true, "runtimes": [ "wamp", "claude-code" ], "workspace": { "checkpoint": "portable_tree", "maxCheckpointBytes": 268435456 } } ], "repositories": { "sources": [ { "kind": "public_https", "available": true }, { "kind": "github_repository_grant", "available": true, "discovery": "/v1/repository-grants" } ], "publications": [ { "kind": "github_draft_pull_request", "available": true } ], "merges": [ { "kind": "github_pull_request_merge", "available": true, "strategies": [ "merge", "squash", "rebase" ], "modes": [ "now", "when_ready" ] } ] }, "artifacts": { "maxPageSize": 100, "conversationCheckpointMaxBytes": 16777216, "workspaceCheckpointMaxBytes": 268435456 }, "limits": { "maxActiveSessions": 100, "maxMessageCharacters": 100000, "maxPageSize": 100 } }}Missing, expired or wrong-audience bearer
Failure body returned with every non-2xx JSON response; branch on the machine code, never on prose or on the HTTP status alone.
object
Stable machine code
The installation capability the presented credential lacks, returned with insufficient_scope so an integrator knows exactly which capability to request
Advisory seconds to wait before retrying; returned on rate-limit denials, where the Retry-After header carries the same value
Example
{ "error": "unauthorized"}Live installation, scope or organization policy denies the operation
Failure body returned with every non-2xx JSON response; branch on the machine code, never on prose or on the HTTP status alone.
object
Stable machine code
The installation capability the presented credential lacks, returned with insufficient_scope so an integrator knows exactly which capability to request
Advisory seconds to wait before retrying; returned on rate-limit denials, where the Retry-After header carries the same value
Example
{ "error": "insufficient_scope", "requiredScope": "wamp.cloud.sessions:create"}