a2adocsMenu
quickstart
a2a docsreferencecontrol plane api

Control-plane API

The control plane powers the dashboard, CLI, agent lifecycle, billing, governance, workspaces, and orchestration. This inventory is generated directly from the FastAPI route declarations in the matching monorepo revision; it is not a separately maintained endpoint list.

Canonical schema and clients

  • Base URL: https://api.a2acloud.io
  • OpenAPI 3 schema
  • Swagger UI
  • ReDoc
  • Python automation should normally use the a2a CLI or a2a_pack.cli.api_client.ControlPlaneClient.

The OpenAPI document is canonical for request and response schemas. This page is the reviewable route map and names the monorepo file each route is declared in. The monorepo is not public, so those paths are identifiers, not links.

Authentication and safety

Send Authorization: Bearer <token> for authenticated API calls. The CLI obtains and refreshes this token through a2a login. Browser-session mutations also enforce CSRF protection. /v1/public/* is intentionally public; account, authenticated, SCIM, platform, and operator routes require the corresponding identity or service authority.

Do not call Platform or Operator routes from ordinary integrations. They are listed so the platform contract is complete, not because they are public extension points.

Route inventory

  • 317 route declarations across 50 API groups
  • 317 included in OpenAPI; 0 hidden/internal
  • Route-contract fingerprint: 62d169439341c49cebe22143d71449759544b7ae282daddcb27211a4e38f8e10

admin

Method Path Scope Purpose Source
POST /v1/admin/auth/keycloak Operator Authenticate keycloak admin control-plane/control_plane/routes/admin.py
GET /v1/admin/billing/metrics Operator Billing metrics control-plane/control_plane/routes/billing.py
GET /v1/admin/feature-flags Operator List feature flags control-plane/control_plane/routes/feature_flags.py
POST /v1/admin/feature-flags Operator Upsert feature flag control-plane/control_plane/routes/feature_flags.py
DELETE /v1/admin/feature-flags/{flag_key} Operator Delete feature flag control-plane/control_plane/routes/feature_flags.py
GET /v1/admin/settings Operator List every known setting, falling back to the platform default when no control-plane/control_plane/routes/admin.py
GET /v1/admin/settings/{key} Operator Read setting control-plane/control_plane/routes/admin.py
PUT /v1/admin/settings/{key} Operator Write setting control-plane/control_plane/routes/admin.py
DELETE /v1/admin/users Operator Purge users and agents control-plane/control_plane/routes/admin.py
GET /v1/admin/users Operator List users control-plane/control_plane/routes/admin.py
GET /v1/admin/users/{user_id}/billing-override Operator Read user billing override control-plane/control_plane/routes/admin.py
PUT /v1/admin/users/{user_id}/billing-override Operator Write user billing override control-plane/control_plane/routes/admin.py
GET /v1/admin/users/{user_id}/control-policy Operator Read user control policy control-plane/control_plane/routes/admin.py
PUT /v1/admin/users/{user_id}/control-policy Operator Write user control policy control-plane/control_plane/routes/admin.py
GET /v1/admin/users/{user_id}/feature-flags Operator Read user feature flags control-plane/control_plane/routes/feature_flags.py
PUT /v1/admin/users/{user_id}/feature-flags Operator Write user feature flags control-plane/control_plane/routes/feature_flags.py
POST /v1/admin/users/{user_id}/platform-token Operator Create user platform token control-plane/control_plane/routes/admin.py

adversarial-review-loops

Method Path Scope Purpose Source
GET /v1/agents/{name}/review-loops Authenticated List review loops control-plane/control_plane/routes/adversarial_review_loops.py
POST /v1/agents/{name}/review-loops Authenticated Create review loop control-plane/control_plane/routes/adversarial_review_loops.py
GET /v1/agents/{name}/review-loops/{job_id} Authenticated Get review loop control-plane/control_plane/routes/adversarial_review_loops.py
POST /v1/agents/{name}/review-loops/{job_id}/events Authenticated Record review loop event control-plane/control_plane/routes/adversarial_review_loops.py
POST /v1/agents/{name}/review-loops/{job_id}/stop Authenticated Stop review loop control-plane/control_plane/routes/adversarial_review_loops.py

agent-auth

Method Path Scope Purpose Source
GET /v1/agents/{name}/auth Authenticated Get agent auth status control-plane/control_plane/routes/agent_auth.py
POST /v1/agents/{name}/auth Authenticated Connect agent auth control-plane/control_plane/routes/agent_auth.py
DELETE /v1/agents/{name}/auth/{connection_id} Authenticated Delete agent auth connection control-plane/control_plane/routes/agent_auth.py

agent-evidence

Method Path Scope Purpose Source
GET /v1/agents/{name}/dossier Authenticated Get agent dossier control-plane/control_plane/routes/agent_evidence.py
GET /v1/agents/{name}/evidence-dag Authenticated Get agent evidence dag control-plane/control_plane/routes/agent_evidence.py
GET /v1/agents/{name}/evidence-timeline Authenticated Get agent evidence timeline control-plane/control_plane/routes/agent_evidence.py

agent-insights

Method Path Scope Purpose Source
GET /v1/agents/{name}/insights/calls Authenticated List agent call logs control-plane/control_plane/routes/agent_insights.py
GET /v1/agents/{name}/insights/payouts Authenticated Creator earnings for an owned agent, derived from signed receipts. control-plane/control_plane/routes/agent_insights.py

agent-mailboxes

Method Path Scope Purpose Source
DELETE /v1/agents/{name}/mailbox Authenticated Delete mailbox control-plane/control_plane/routes/mailboxes.py
GET /v1/agents/{name}/mailbox Authenticated Get mailbox control-plane/control_plane/routes/mailboxes.py
PATCH /v1/agents/{name}/mailbox Authenticated Update mailbox control-plane/control_plane/routes/mailboxes.py
POST /v1/agents/{name}/mailbox Authenticated Request a mailbox without redeploying (equivalent to declaring control-plane/control_plane/routes/mailboxes.py
GET /v1/agents/{name}/mailbox/events Authenticated List mailbox events control-plane/control_plane/routes/mailboxes.py
GET /v1/platform/mailboxes/health Platform Mailbox health control-plane/control_plane/routes/mailboxes.py

agent-memory

Method Path Scope Purpose Source
GET /v1/agents/{name}/memory Authenticated List agent memory control-plane/control_plane/routes/memory.py
POST /v1/agents/{name}/memory Authenticated Upsert agent memory control-plane/control_plane/routes/memory.py
PUT /v1/agents/{name}/memory Authenticated Upsert agent memory control-plane/control_plane/routes/memory.py
GET /v1/agents/{name}/memory/search Authenticated Search agent memory control-plane/control_plane/routes/memory.py
DELETE /v1/agents/{name}/memory/{namespace}/{key:path} Authenticated Delete agent memory control-plane/control_plane/routes/memory.py
GET /v1/agents/{name}/memory/{namespace}/{key:path} Authenticated Get agent memory control-plane/control_plane/routes/memory.py

agent-proofs

Method Path Scope Purpose Source
GET /v1/me/agent-proofs Account List my agent proofs control-plane/control_plane/routes/agent_proofs.py
POST /v1/me/agent-proofs/{name}/run Account Run agent proof control-plane/control_plane/routes/agent_proofs.py

agent-receipts

Method Path Scope Purpose Source
GET /v1/agents/{name}/receipts Authenticated List agent receipts control-plane/control_plane/routes/agent_receipts.py
POST /v1/agents/{name}/receipts Authenticated Post agent receipt control-plane/control_plane/routes/agent_receipts.py
GET /v1/agents/{name}/receipts/{receipt_id} Authenticated Get agent receipt control-plane/control_plane/routes/agent_receipts.py

agent-secrets

Method Path Scope Purpose Source
GET /v1/agents/{name}/secrets Authenticated List agent secrets control-plane/control_plane/routes/agent_secrets.py
POST /v1/agents/{name}/secrets Authenticated Upsert agent secret control-plane/control_plane/routes/agent_secrets.py
DELETE /v1/agents/{name}/secrets/{key} Authenticated Delete agent secret control-plane/control_plane/routes/agent_secrets.py

agent-sessions

Method Path Scope Purpose Source
GET /v1/agents/{name}/sessions Authenticated List agent sessions control-plane/control_plane/routes/agent_sessions.py
POST /v1/agents/{name}/sessions Authenticated Post agent session control-plane/control_plane/routes/agent_sessions.py
GET /v1/sessions/{session_id} Authenticated Stream session header + events as application/x-ndjson. control-plane/control_plane/routes/agent_sessions.py

agent-studio

Method Path Scope Purpose Source
GET /v1/agents/studio/autopilot Authenticated Get studio autopilot control-plane/control_plane/routes/agent_studio.py
PUT /v1/agents/studio/autopilot Authenticated Update studio autopilot control-plane/control_plane/routes/agent_studio.py
GET /v1/agents/studio/autopilot/proposals Authenticated List studio upgrade proposals control-plane/control_plane/routes/agent_studio.py
GET /v1/agents/studio/autopilot/proposals/{proposal_id} Authenticated Get studio upgrade proposal control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/autopilot/proposals/{proposal_id}/decision Authenticated Decide studio upgrade proposal control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/autopilot/run Authenticated Run studio autopilot now control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/guest-runs Authenticated Start guest studio run control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/guest-runs/claim Authenticated Claim guest studio run control-plane/control_plane/routes/agent_studio.py
GET /v1/agents/studio/guest-runs/{token} Authenticated Get guest studio run control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/idea-factory Authenticated Score 100 mini-startups and optionally queue the best three builds. control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/resolve Authenticated Resolve reusable agents before any source or deployment is mutated. control-plane/control_plane/routes/agent_studio.py
POST /v1/agents/studio/runs Authenticated Start studio run control-plane/control_plane/routes/agent_studio.py
GET /v1/agents/studio/runs/{run_id} Authenticated Get studio run control-plane/control_plane/routes/agent_studio.py
GET /v1/agents/studio/runs/{run_id}/stream Authenticated Stream studio run control-plane/control_plane/routes/agent_studio.py

agents

Method Path Scope Purpose Source
GET /v1/agents Authenticated List agents control-plane/control_plane/routes/agents.py
POST /v1/agents Authenticated Register control-plane/control_plane/routes/agents.py
POST /v1/agents/compose Authenticated Generate editable A2APack source from a composition manifest and deploy it. control-plane/control_plane/routes/agents.py
POST /v1/agents/from-openapi Authenticated Generate editable A2APack source from OpenAPI and deploy it. control-plane/control_plane/routes/agents.py
POST /v1/agents/from-source Authenticated Provision an editable source repo for body.name. control-plane/control_plane/routes/agents.py
POST /v1/agents/from-tarball Authenticated Receive user source, then wire a hidden runtime repo for build/deploy. control-plane/control_plane/routes/agents.py
POST /v1/agents/import Authenticated Import external agent control-plane/control_plane/routes/agents.py
GET /v1/agents/mine Authenticated Agents owned by the caller (built by them or deployed via CLI). control-plane/control_plane/routes/agents.py
GET /v1/agents/mine/summary Authenticated List my agent summaries control-plane/control_plane/routes/agents.py
GET /v1/agents/mine/{name} Authenticated Get my agent control-plane/control_plane/routes/agents.py
PATCH /v1/agents/mine/{name}/reuse-policy Authenticated Set source-fork permission independently from public visibility. control-plane/control_plane/routes/agents.py
PATCH /v1/agents/mine/{name}/visibility Authenticated Publish or unlist an owned agent without rebuilding its runtime. control-plane/control_plane/routes/agents.py
POST /v1/agents/openapi/preview Authenticated Preview openapi agent control-plane/control_plane/routes/agents.py
GET /v1/agents/search Authenticated Search agents control-plane/control_plane/routes/agents.py
DELETE /v1/agents/{name} Authenticated Delete AGENT. control-plane/control_plane/routes/agents.py
GET /v1/agents/{name} Authenticated Get agent control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/account-access Authenticated Get agent account access control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/api-tokens Authenticated List agent api tokens control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/api-tokens Authenticated Create agent api token control-plane/control_plane/routes/agents.py
DELETE /v1/agents/{name}/api-tokens/{token_id} Authenticated Revoke agent api token control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/api/files/{path:path} Authenticated Download agent api file control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/api/invoke/{skill_name} Authenticated Invoke agent api control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/api/openapi.json Authenticated Agent api openapi alias control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/api/runs/{run_id} Authenticated Get agent api run control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/api/runs/{skill_name}/start Authenticated Start agent api run control-plane/control_plane/routes/agents.py
DELETE /v1/agents/{name}/code-editor Authenticated Disable agent code editor control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/code-editor Authenticated Get agent code editor control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/code-editor Authenticated Enable agent code editor control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/deployments Authenticated List agent deployments control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/deployments/{deploy_id} Authenticated Get agent deployment control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/deployments/{deploy_id}/logs Authenticated Get agent deployment logs control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/deployments/{deploy_id}/stream Authenticated Stream agent deployment control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/domains Authenticated List agent custom domains control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/domains Authenticated Add agent custom domain control-plane/control_plane/routes/agents.py
DELETE /v1/agents/{name}/domains/{hostname} Authenticated Delete agent custom domain control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/domains/{hostname}/verify Authenticated Verify agent custom domain control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/integration-links Authenticated List agent integration links control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/integration-links Authenticated Create agent integration link control-plane/control_plane/routes/agents.py
DELETE /v1/agents/{name}/integration-links/{link_id} Authenticated Revoke agent integration link control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/mcp Authenticated External agent mcp control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/openapi.json Authenticated Agent api openapi control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/review-runs Authenticated List review runs control-plane/control_plane/routes/agent_reviews.py
GET /v1/agents/{name}/review-runs/latest Authenticated Latest review run control-plane/control_plane/routes/agent_reviews.py
GET /v1/agents/{name}/review-runs/{review_id} Authenticated Get review run control-plane/control_plane/routes/agent_reviews.py
POST /v1/agents/{name}/runtime-upgrade Authenticated Upgrade agent runtime control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/self-healing Authenticated Owner-visible, sanitized repair history for a manifest-opted-in agent. control-plane/control_plane/routes/agents.py
GET /v1/agents/{name}/source Authenticated Export agent source control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/source/deploy Authenticated Deploy agent source control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/ssh Authenticated Provision (or wake) the agent's throwaway dev box and return the WSS control-plane/control_plane/routes/agents.py
POST /v1/agents/{name}/template-update Authenticated Request agent template update control-plane/control_plane/routes/agents.py

auth

Method Path Scope Purpose Source
GET /v1/auth/agent-session/authorize Authenticated Hand a signed-in dashboard visitor off to an agent's own origin. control-plane/control_plane/routes/auth.py
POST /v1/auth/agent-session/exchange Authenticated Redeem a hand-off code for a token scoped to the calling agent. control-plane/control_plane/routes/auth.py
POST /v1/auth/cli-session Authenticated Mint a short-lived browser exchange code from a bearer credential. control-plane/control_plane/routes/auth.py
POST /v1/auth/cli-session/confirm Authenticated Confirm cli session control-plane/control_plane/routes/auth.py
GET /v1/auth/cli-session/redeem Authenticated Consume a one-time code and establish the browser session cookie. control-plane/control_plane/routes/auth.py
POST /v1/auth/logout Authenticated Logout control-plane/control_plane/routes/auth.py
GET /v1/auth/oidc/callback Authenticated Oidc callback control-plane/control_plane/routes/auth.py
GET /v1/auth/oidc/start Authenticated Oidc start control-plane/control_plane/routes/auth.py
GET /v1/auth/session Authenticated Auth session control-plane/control_plane/routes/auth.py
GET /v1/me Account Me control-plane/control_plane/routes/auth.py

billing

Method Path Scope Purpose Source
POST /v1/billing/stripe/webhook Platform Stripe webhook control-plane/control_plane/routes/billing.py
GET /v1/me/billing Account Get billing summary control-plane/control_plane/routes/billing.py
POST /v1/me/billing/cancel Account Cancel billing plan control-plane/control_plane/routes/billing.py
POST /v1/me/billing/checkout Account Create checkout session control-plane/control_plane/routes/billing.py
GET /v1/me/billing/invoices Account List billing invoices control-plane/control_plane/routes/billing.py
POST /v1/me/billing/portal Account Create portal session control-plane/control_plane/routes/billing.py

bounties

Method Path Scope Purpose Source
GET /v1/bounties Authenticated List bounties the current user can see (all open, plus their own). control-plane/control_plane/routes/bounties.py
POST /v1/bounties Authenticated Post a new bounty. Slug is generated from the title. control-plane/control_plane/routes/bounties.py
DELETE /v1/bounties/{slug} Authenticated Poster cancels the bounty. Terminal. control-plane/control_plane/routes/bounties.py
GET /v1/bounties/{slug} Authenticated Public-readable bounty detail (no auth required for v1). control-plane/control_plane/routes/bounties.py
POST /v1/bounties/{slug}/claim Authenticated Link a user-owned, deployed, public agent to an open bounty. control-plane/control_plane/routes/bounties.py
POST /v1/bounties/{slug}/fulfill Authenticated Poster marks the bounty as fulfilled. Settlement happens out of band. control-plane/control_plane/routes/bounties.py

chat

Method Path Scope Purpose Source
POST /v1/me/chat Account Chat control-plane/control_plane/routes/chat.py
POST /v1/me/chat/approvals/{approval_id} Account User decision on a pending cross-agent handoff. control-plane/control_plane/routes/chat.py
POST /v1/me/chat/input-requests/{request_id} Account User response to a callee's ctx.collect() form request. control-plane/control_plane/routes/chat.py
POST /v1/me/chat/questions/{question_id} Account User reply to a callee's ctx.ask() prompt. control-plane/control_plane/routes/chat.py
POST /v1/me/chat/scope-approvals/{approval_id} Account User decision on a pending mid-skill scope-expansion request. control-plane/control_plane/routes/chat.py

chat-threads

Method Path Scope Purpose Source
GET /v1/me/threads Account List threads control-plane/control_plane/routes/threads.py
POST /v1/me/threads Account Create thread control-plane/control_plane/routes/threads.py
DELETE /v1/me/threads/{thread_id} Account Delete thread control-plane/control_plane/routes/threads.py
PATCH /v1/me/threads/{thread_id} Account Rename thread control-plane/control_plane/routes/threads.py
GET /v1/me/threads/{thread_id}/activity Account Get thread activity control-plane/control_plane/routes/threads.py
GET /v1/me/threads/{thread_id}/messages Account Get thread messages control-plane/control_plane/routes/threads.py

collective-runtime

Method Path Scope Purpose Source
GET /v1/me/collective-runtime Account Collective runtime overview control-plane/control_plane/routes/collective_runtime.py
GET /v1/me/collective-runtime/memories Account List collective runtime memories control-plane/control_plane/routes/collective_runtime.py
POST /v1/me/collective-runtime/memories/extract Account Extract collective runtime memories control-plane/control_plane/routes/collective_runtime.py
POST /v1/me/collective-runtime/plan Account Plan collective runtime topology control-plane/control_plane/routes/collective_runtime.py
GET /v1/me/collective-runtime/protocols Account List collective runtime protocols control-plane/control_plane/routes/collective_runtime.py
GET /v1/me/collective-runtime/registry Account Collective runtime registry control-plane/control_plane/routes/collective_runtime.py
GET /v1/me/collective-runtime/runs Account List collective runtime runs control-plane/control_plane/routes/collective_runtime.py
POST /v1/me/collective-runtime/runs Account Create collective runtime run control-plane/control_plane/routes/collective_runtime.py
GET /v1/me/collective-runtime/runs/{dag_run_id} Account Get collective runtime run control-plane/control_plane/routes/collective_runtime.py
POST /v1/me/collective-runtime/runs/{dag_run_id}/advance Account Advance collective runtime run control-plane/control_plane/routes/collective_runtime.py
POST /v1/me/collective-runtime/runs/{dag_run_id}/approve Account Approve collective runtime run control-plane/control_plane/routes/collective_runtime.py
GET /v1/me/collective-runtime/scorecards Account Collective runtime scorecards control-plane/control_plane/routes/collective_runtime.py

company-brain

Method Path Scope Purpose Source
GET /v1/me/company-brain Account Company brain status control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/aging Account Run company brain aging control-plane/control_plane/routes/company_brain.py
GET /v1/me/company-brain/artifacts/{kind} Account List company brain artifacts control-plane/control_plane/routes/company_brain.py
GET /v1/me/company-brain/dispatches Account List company brain dispatches control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/dispatches Account Dispatch company brain selection control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/dispatches/run-once Account Run company brain dispatch worker once control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/dream-loop/run-once Account Run company brain dream loop once control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/feedback Account Run company brain feedback control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/population Account Run company brain population control-plane/control_plane/routes/company_brain.py
PATCH /v1/me/company-brain/runtime Account Update collective runtime control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/selection Account Run company brain selection control-plane/control_plane/routes/company_brain.py
POST /v1/me/company-brain/townhall Account Run company brain townhall control-plane/control_plane/routes/company_brain.py

compliance

Method Path Scope Purpose Source
GET /v1/me/organizations/{slug}/compliance/agents Account List agent profiles control-plane/control_plane/routes/compliance.py
PUT /v1/me/organizations/{slug}/compliance/agents/{agent_name} Account Put agent profile control-plane/control_plane/routes/compliance.py
GET /v1/me/organizations/{slug}/compliance/decision-records Account List decision records control-plane/control_plane/routes/compliance.py
GET /v1/me/organizations/{slug}/compliance/decision-records/{kind}/{record_id} Account Get decision record control-plane/control_plane/routes/compliance.py
POST /v1/me/organizations/{slug}/compliance/export Account Export evidence pack control-plane/control_plane/routes/compliance.py
GET /v1/me/organizations/{slug}/compliance/policy Account Get policy control-plane/control_plane/routes/compliance.py
PUT /v1/me/organizations/{slug}/compliance/policy Account Put policy control-plane/control_plane/routes/compliance.py
POST /v1/me/organizations/{slug}/compliance/retention/enforce Account Enforce retention control-plane/control_plane/routes/compliance.py
GET /v1/me/organizations/{slug}/compliance/status Account Get status control-plane/control_plane/routes/compliance.py

consumer-setup

Method Path Scope Purpose Source
GET /v1/agents/{name}/consumer-setup Authenticated Get consumer setup control-plane/control_plane/routes/consumer_setup.py
PUT /v1/agents/{name}/consumer-setup Authenticated Upsert user consumer setup control-plane/control_plane/routes/consumer_setup.py
POST /v1/agents/{name}/consumer-setup/invocation Authenticated Get consumer setup invocation control-plane/control_plane/routes/consumer_setup.py
PUT /v1/agents/{name}/consumer-setup/org Authenticated Upsert org consumer setup control-plane/control_plane/routes/consumer_setup.py
DELETE /v1/agents/{name}/consumer-setup/{field_name} Authenticated Delete consumer setup control-plane/control_plane/routes/consumer_setup.py

control-room

Method Path Scope Purpose Source
GET /v1/me/control-room Account Get control room control-plane/control_plane/routes/control_room.py
PATCH /v1/me/control-room/policy Account Update control policy control-plane/control_plane/routes/control_room.py
GET /v1/me/control-room/receipts/{source}/{item_id} Account Get receipt control-plane/control_plane/routes/control_room.py

credits

Method Path Scope Purpose Source
GET /v1/credits Authenticated Get wallet control-plane/control_plane/routes/credits.py
POST /v1/credits/checkout Authenticated Create topup control-plane/control_plane/routes/credits.py

dag-runs

Method Path Scope Purpose Source
GET /v1/me/dag-runs Account List dag runs control-plane/control_plane/routes/dag_runs.py
GET /v1/me/dag-runs/{dag_run_id} Account Get dag run control-plane/control_plane/routes/dag_runs.py

databases

Method Path Scope Purpose Source
GET /v1/me/databases Account List database projects control-plane/control_plane/routes/databases.py
POST /v1/me/databases Account Create database project control-plane/control_plane/routes/databases.py
GET /v1/me/databases/provisioner-status Account Get database provisioner status control-plane/control_plane/routes/databases.py
GET /v1/me/databases/{project_id} Account Get database project control-plane/control_plane/routes/databases.py

feature-flags

Method Path Scope Purpose Source
GET /v1/me/feature-flags Account Current feature flags control-plane/control_plane/routes/feature_flags.py

files

Method Path Scope Purpose Source
GET /v1/me/files Account List my files control-plane/control_plane/routes/files.py
POST /v1/me/files Account Upload control-plane/control_plane/routes/files.py
POST /v1/me/files/move Account Move (rename) a single object inside the user's bucket. control-plane/control_plane/routes/files.py
DELETE /v1/me/files/{path:path} Account Remove control-plane/control_plane/routes/files.py
GET /v1/me/files/{path:path} Account Download control-plane/control_plane/routes/files.py

gitea-webhooks

Method Path Scope Purpose Source
POST /v1/platform/gitea/webhooks/runtime-push Platform Runtime push webhook control-plane/control_plane/routes/gitea_webhooks.py
POST /v1/platform/gitea/webhooks/source-push Platform Source push webhook control-plane/control_plane/routes/gitea_webhooks.py

grants

Method Path Scope Purpose Source
GET /v1/me/grants Account Return the most recent limit grant rows for the current user. control-plane/control_plane/routes/grants.py
GET /v1/me/grants/{grant_id} Account Return the audit chain for a given grant: the row itself plus every control-plane/control_plane/routes/grants.py

installed-agents

Method Path Scope Purpose Source
GET /v1/installed-agents Authenticated List installed agents control-plane/control_plane/routes/consumer_setup.py
POST /v1/installed-agents/{name} Authenticated Install marketplace agent control-plane/control_plane/routes/consumer_setup.py

kernel-evolution

Method Path Scope Purpose Source
GET /v1/me/kernel-evolution/runs Account List user kernel evolution runs control-plane/control_plane/routes/user_kernel_evolution.py
POST /v1/me/kernel-evolution/runs Account Run user kernel evolution control-plane/control_plane/routes/user_kernel_evolution.py
GET /v1/me/kernel-evolution/runs/{job_id} Account Get user kernel evolution run control-plane/control_plane/routes/user_kernel_evolution.py
POST /v1/me/kernel-evolution/runs/{job_id}/replay Account Replay user kernel evolution run control-plane/control_plane/routes/user_kernel_evolution.py

kernel-simulations

Method Path Scope Purpose Source
GET /v1/me/kernel-simulations/runs Account List user kernel simulation runs control-plane/control_plane/routes/user_kernel_simulations.py
POST /v1/me/kernel-simulations/runs Account Run user kernel simulation control-plane/control_plane/routes/user_kernel_simulations.py
GET /v1/me/kernel-simulations/runs/{job_id} Account Get user kernel simulation run control-plane/control_plane/routes/user_kernel_simulations.py
POST /v1/me/kernel-simulations/runs/{job_id}/replay Account Replay user kernel simulation run control-plane/control_plane/routes/user_kernel_simulations.py
GET /v1/me/kernel-simulations/templates Account List user kernel simulation templates control-plane/control_plane/routes/user_kernel_simulations.py

llm-creds

Method Path Scope Purpose Source
GET /v1/me/llm-creds Account List creds control-plane/control_plane/routes/llm_creds.py
POST /v1/me/llm-creds Account Create OR replace by name. Most users only have one entry control-plane/control_plane/routes/llm_creds.py
GET /v1/me/llm-creds/catalog Account Llm model catalog control-plane/control_plane/routes/llm_creds.py
DELETE /v1/me/llm-creds/{name} Account Delete creds control-plane/control_plane/routes/llm_creds.py

llm-usage

Method Path Scope Purpose Source
GET /v1/me/llm-usage Account List llm usage control-plane/control_plane/routes/llm_usage.py

meta-agent-runs

Method Path Scope Purpose Source
GET /v1/agents/{name}/meta-runs Authenticated List meta runs control-plane/control_plane/routes/meta_runs.py
POST /v1/agents/{name}/meta-runs Authenticated Create meta run control-plane/control_plane/routes/meta_runs.py
GET /v1/agents/{name}/meta-runs/{run_id} Authenticated Get meta run control-plane/control_plane/routes/meta_runs.py
PATCH /v1/agents/{name}/meta-runs/{run_id} Authenticated Patch meta run control-plane/control_plane/routes/meta_runs.py

onboarding

Method Path Scope Purpose Source
GET /v1/me/onboarding Account Get onboarding state control-plane/control_plane/routes/onboarding.py
PATCH /v1/me/onboarding Account Update onboarding state control-plane/control_plane/routes/onboarding.py

organizations

Method Path Scope Purpose Source
GET /v1/me/organizations Account List organizations control-plane/control_plane/routes/organizations.py
POST /v1/me/organizations Account Create organization control-plane/control_plane/routes/organizations.py
GET /v1/me/organizations/{slug}/audit-log Account List organization audit log control-plane/control_plane/routes/organizations.py
GET /v1/me/organizations/{slug}/domains Account List organization domains control-plane/control_plane/routes/organizations.py
POST /v1/me/organizations/{slug}/domains Account Add organization domain control-plane/control_plane/routes/organizations.py
DELETE /v1/me/organizations/{slug}/domains/{domain} Account Delete organization domain control-plane/control_plane/routes/organizations.py
POST /v1/me/organizations/{slug}/domains/{domain}/verify Account Verify organization domain control-plane/control_plane/routes/organizations.py
GET /v1/me/organizations/{slug}/members Account List organization members control-plane/control_plane/routes/organizations.py
POST /v1/me/organizations/{slug}/members Account Add organization member control-plane/control_plane/routes/organizations.py
DELETE /v1/me/organizations/{slug}/members/{member_id} Account Delete organization member control-plane/control_plane/routes/organizations.py
PATCH /v1/me/organizations/{slug}/members/{member_id} Account Update organization member control-plane/control_plane/routes/organizations.py
GET /v1/me/organizations/{slug}/scim Account Get scim config control-plane/control_plane/routes/organizations.py
GET /v1/me/organizations/{slug}/scim/tokens Account List scim tokens control-plane/control_plane/routes/organizations.py
POST /v1/me/organizations/{slug}/scim/tokens Account Create scim token control-plane/control_plane/routes/organizations.py
DELETE /v1/me/organizations/{slug}/scim/tokens/{token_id} Account Revoke scim token control-plane/control_plane/routes/organizations.py

payouts

Method Path Scope Purpose Source
GET /v1/payouts/account Authenticated Get payout account control-plane/control_plane/routes/payouts.py
POST /v1/payouts/account Authenticated Create payout account control-plane/control_plane/routes/payouts.py
GET /v1/payouts/earnings Authenticated Portfolio rollup across all the caller's agents — total made, paid, owed. control-plane/control_plane/routes/payouts.py
GET /v1/payouts/metrics Authenticated Platform-wide payout rollup: total owed vs total sent. control-plane/control_plane/routes/payouts.py
GET /v1/payouts/runs Authenticated List payout runs control-plane/control_plane/routes/payouts.py
POST /v1/payouts/settle Authenticated Operator action: pay out a creator's owed balance. Behind the admin control-plane/control_plane/routes/payouts.py

payouts-admin

Method Path Scope Purpose Source
GET /v1/admin/payouts/metrics Operator Console metrics control-plane/control_plane/routes/payouts.py
GET /v1/admin/payouts/owed Operator Console owed control-plane/control_plane/routes/payouts.py
POST /v1/admin/payouts/settle Operator Console settle control-plane/control_plane/routes/payouts.py

platform

Method Path Scope Purpose Source
POST /v1/platform/agent-session/verify Platform Resolve the caller behind an agent-origin session cookie. control-plane/control_plane/routes/platform.py
POST /v1/platform/gitea-token Platform Mint a short-lived Gitea token scoped to a single (owner, repo). control-plane/control_plane/routes/platform.py
DELETE /v1/platform/gitea-token/{token_name} Platform Revoke a previously minted Gitea token. Idempotent. control-plane/control_plane/routes/platform.py
POST /v1/platform/llm-grant Platform Return caller-funded LLM credentials for platform-declared agents. control-plane/control_plane/routes/platform.py

protocol-simulations

Method Path Scope Purpose Source
GET /v1/agents/{name}/protocol-simulations Authenticated List protocol simulations control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations Authenticated Create protocol simulation control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations/custom-runs Authenticated Run custom protocol simulation control-plane/control_plane/routes/protocol_simulations.py
GET /v1/agents/{name}/protocol-simulations/custom-suite-templates Authenticated List custom protocol simulation suite templates control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations/custom-suites Authenticated Run custom protocol simulation suite control-plane/control_plane/routes/protocol_simulations.py
GET /v1/agents/{name}/protocol-simulations/custom-templates Authenticated List custom protocol simulation templates control-plane/control_plane/routes/protocol_simulations.py
GET /v1/agents/{name}/protocol-simulations/protocol-registry Authenticated List protocol pack registry control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations/runtime-readiness Authenticated Check protocol runtime readiness control-plane/control_plane/routes/protocol_simulations.py
GET /v1/agents/{name}/protocol-simulations/scenarios Authenticated List protocol simulation scenarios control-plane/control_plane/routes/protocol_simulations.py
GET /v1/agents/{name}/protocol-simulations/{job_id} Authenticated Get protocol simulation control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations/{job_id}/events Authenticated Record protocol simulation event control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations/{job_id}/scenario-runs Authenticated Record protocol simulation scenario run control-plane/control_plane/routes/protocol_simulations.py
POST /v1/agents/{name}/protocol-simulations/{job_id}/stop Authenticated Stop protocol simulation control-plane/control_plane/routes/protocol_simulations.py

public

Method Path Scope Purpose Source
GET /v1/public/agent-proofs Public List public agent proofs control-plane/control_plane/routes/agent_proofs.py
GET /v1/public/agents Public Public registry feed, best listings first. control-plane/control_plane/routes/public.py
GET /v1/public/agents/{name} Public Get public agent control-plane/control_plane/routes/public.py
GET /v1/public/agents/{name}/proof/latest Public Get public agent proof control-plane/control_plane/routes/agent_proofs.py
GET /v1/public/agents/{name}/proofs/{proof_id} Public Get public agent proof run control-plane/control_plane/routes/agent_proofs.py
GET /v1/public/bounties Public Open + claimed bounties anyone can see (fulfilled/cancelled hidden). control-plane/control_plane/routes/public.py
GET /v1/public/bounties/{slug} Public Get public bounty control-plane/control_plane/routes/public.py
GET /v1/public/receipt-keys Public Publish the receipt verifying key so third parties can check receipts. control-plane/control_plane/routes/public.py

schedules

Method Path Scope Purpose Source
GET /v1/me/schedules Account List schedules control-plane/control_plane/routes/schedules.py
POST /v1/me/schedules Account Create schedule control-plane/control_plane/routes/schedules.py
DELETE /v1/me/schedules/{schedule_id} Account Delete schedule control-plane/control_plane/routes/schedules.py
PATCH /v1/me/schedules/{schedule_id} Account Update schedule control-plane/control_plane/routes/schedules.py
POST /v1/me/schedules/{schedule_id}/run Account Run schedule now control-plane/control_plane/routes/schedules.py

scim

Method Path Scope Purpose Source
GET /v1/scim/{slug}/v2/Groups SCIM Scim groups control-plane/control_plane/routes/organizations.py
GET /v1/scim/{slug}/v2/ResourceTypes SCIM Scim resource types control-plane/control_plane/routes/organizations.py
GET /v1/scim/{slug}/v2/Schemas SCIM Scim schemas control-plane/control_plane/routes/organizations.py
GET /v1/scim/{slug}/v2/ServiceProviderConfig SCIM Scim service provider config control-plane/control_plane/routes/organizations.py
GET /v1/scim/{slug}/v2/Users SCIM List scim users control-plane/control_plane/routes/organizations.py
POST /v1/scim/{slug}/v2/Users SCIM Create scim user control-plane/control_plane/routes/organizations.py
DELETE /v1/scim/{slug}/v2/Users/{user_id} SCIM Delete scim user control-plane/control_plane/routes/organizations.py
GET /v1/scim/{slug}/v2/Users/{user_id} SCIM Get scim user control-plane/control_plane/routes/organizations.py
PATCH /v1/scim/{slug}/v2/Users/{user_id} SCIM Patch scim user control-plane/control_plane/routes/organizations.py
PUT /v1/scim/{slug}/v2/Users/{user_id} SCIM Replace scim user control-plane/control_plane/routes/organizations.py

service-access

Method Path Scope Purpose Source
GET /v1/me/service-access Account List service access control-plane/control_plane/routes/service_access.py

subagent-runs

Method Path Scope Purpose Source
GET /v1/me/subagent-runs Account List subagent runs control-plane/control_plane/routes/subagent_runs.py
POST /v1/me/subagent-runs/track Account Track subagent event route control-plane/control_plane/routes/subagent_runs.py
GET /v1/me/subagent-runs/{grant_id} Account Get subagent run control-plane/control_plane/routes/subagent_runs.py
POST /v1/me/subagent-runs/{grant_id}/rerun Account Rerun subagent run control-plane/control_plane/routes/subagent_runs.py

trial-rooms

Method Path Scope Purpose Source
GET /v1/me/trial-rooms Account List trial rooms control-plane/control_plane/routes/trial_rooms.py
POST /v1/me/trial-rooms Account Create trial room control-plane/control_plane/routes/trial_rooms.py
GET /v1/me/trial-rooms/{slug} Account Get trial room control-plane/control_plane/routes/trial_rooms.py
POST /v1/me/trial-rooms/{slug}/runs Account Run trial agent control-plane/control_plane/routes/trial_rooms.py
POST /v1/me/trial-rooms/{slug}/runs/{run_id}/rate Account Rate trial run control-plane/control_plane/routes/trial_rooms.py
POST /v1/me/trial-rooms/{slug}/runs/{run_id}/select Account Select trial winner control-plane/control_plane/routes/trial_rooms.py

work-ledger

Method Path Scope Purpose Source
GET /v1/me/activity Account List my activity control-plane/control_plane/routes/work_ledger.py
GET /v1/me/jobs/{job_id} Account Get my job control-plane/control_plane/routes/work_ledger.py
POST /v1/me/jobs/{job_id}/cancel Account Cancel my job control-plane/control_plane/routes/work_ledger.py
GET /v1/me/jobs/{job_id}/events Account List my job events control-plane/control_plane/routes/work_ledger.py
GET /v1/me/jobs/{job_id}/events/stream Account Stream my job events control-plane/control_plane/routes/work_ledger.py

workspace-grants

Method Path Scope Purpose Source
POST /v1/workspace-grants/delegate Authenticated Mint a mechanically bounded child without exposing the platform key. control-plane/control_plane/routes/workspace_grants.py
GET /v1/workspace-grants/files Authenticated List grant files control-plane/control_plane/routes/workspace_grants.py
DELETE /v1/workspace-grants/files/{path:path} Authenticated Delete grant file control-plane/control_plane/routes/workspace_grants.py
GET /v1/workspace-grants/files/{path:path} Authenticated Read grant file control-plane/control_plane/routes/workspace_grants.py
HEAD /v1/workspace-grants/files/{path:path} Authenticated Stat grant file control-plane/control_plane/routes/workspace_grants.py
PUT /v1/workspace-grants/files/{path:path} Authenticated Write grant file control-plane/control_plane/routes/workspace_grants.py

Error shape

Validation and HTTP failures use an HTTP status plus a JSON detail field. Platform middleware also emits a structured error object when available. Treat status codes as the stable branch condition and render the server message for operators rather than parsing human text.