Agent launches and managed agent hosting

Status: both switches default all (platform settings agents.launch and agents.managedHosting, per org: all, off, or a comma-separated list of org ids; hosting also needs launch). No spend is possible by default: agents.managedHosting.provider ships none, so provisioning answers 501 agent_hosting_not_configured. Turning a provider on (digitalocean plus GOODQA_HOSTING_DO_TOKEN) is a spend decision for the GoodQA operator. Metering only, no charging. An operator who sets either switch off for an org makes its routes the router's own 404 and drops its tag from the served OpenAPI document.

Agent launches (Plan S3: run a harness on your own server)

An org registers goodqa-daemon on a server it owns (a person makes a one-time gqc_ registration code: POST /v1/orgs/{orgId}/agent-daemons/registration-codes; the daemon redeems it at POST /v1/agent-daemon/register and gets its gqd_ credential once). A PERSON launches a run (POST /v1/projects/{projectId}/agent-launches, harness by NAME, with a prompt). The daemon claims it (GET /v1/agent-daemon/launches/next), and the run reports through /v1/agent-runs/{id}/start|heartbeat|events|complete with a single-run gqr_ token.

An agent with a key naming the explicit-only agent_launch family may read and cancel, never launch: GET /v1/orgs/{orgId}/agent-daemons, GET /v1/projects/{projectId}/agent-launches, GET /v1/agent-launches/{id}, POST /v1/agent-launches/{id}/cancel, POST /v1/orgs/{orgId}/agent-daemons/{id}/revoke.

Managed hosts (GoodQA provisions the server)

CallWho
GET /v1/orgs/{orgId}/agent-hosting (limits, usage in started host-hours per UTC month, hosts)a person or an agent_launch key
PUT /v1/orgs/{orgId}/agent-hosting/limitslower: a person or a key; raise: org OWNER in a recent session (a key gets 403)
POST /v1/orgs/{orgId}/agent-hosts (provision one small host)org OWNER, recent session, never a key; 429 hosting_host_limit / hosting_hours_cap; 501 while no provider
POST /v1/orgs/{orgId}/agent-hosts/{hostId}/destroya person or a key; the daemon is revoked first
POST /v1/orgs/{orgId}/agent-hosting/killa person or a key: destroys every live host and sets maxHosts to 0
POST /v1/agent-hosts/enrolthe host itself, no bearer; succeeds once, provider-verified

Platform ceiling: 3 hosts and 2232 host-hours a month per org (422 past it). The host's user-data holds no credential.

Reference

  • API reference: tags agent-launch and agent-hosting in /v1/openapi.json.
  • MCP tools: list_agent_daemons, list_agent_launches, get_agent_launch, cancel_agent_launch (no hosting tools), see the MCP tool reference.
  • Agent skill: agent launch skill.
  • Runbook: agent daemon guide, managed hosting design and operator guide, switch rows in feature switches.

We use essential cookies to keep you signed in. See our Privacy Policy for details.