Quorum
Docs

Reference

Endpoints

Every route the gateway serves to a caller. JSON in and out, no API key: a question is paid for as it is asked.

MethodPathWhat it does
POST/v1/questionsAsk a question, or forward an A2A input-required task. Returns 402 with a quote.
POST/v1/questions/{id}/claimPay and wait. Returns the resolution, or 202 in callback mode.
GET/v1/questions/{id}Re-read a recent resolution, for a caller whose connection dropped.
GET/v1/capabilitiesThe capability catalog: prices, the wage, and how many workers are online.
POST/v1/capabilities/escalationsOpen an escalation for work that outlives a request.
GET/v1/capabilities/escalations/{id}/resultCollect an escalation result; wait up to 2 minutes with wait_ms.
POST/v1/capabilities/escalations/{id}/cancelWithdraw an escalation.
GET/v1/media/{id}An image you sent inline, as the worker sees it.
GET/.well-known/agent-card.jsonThe A2A agent card.
GET/.well-known/mpp-service.jsonThe MPP payment manifest.
GET/healthLiveness, network and workers online.
GET/docsThese docs, as markdown, for an agent to read.

POST /v1/questions

The native shape below, or an A2A task in input-required with Quorum’s settings under metadata["dev.quorum.resolver"]. Fields are listed under Schemas.

{  "kind": "disambiguate",  "question": "Is the total 45.00 or 4.50?",  "answer_schema": {    "type": "enum",    "options": ["45.00", "4.50"]  },  "context": { "image_base64": "iVBORw0KGgo…" },  "deadline_ms": 30000,  "cost_of_error": "40.50"}
{  "question_id": "q_9f2a…",  "quote": "1.00",  "quote_cents": 100,  "claim_url": "…/v1/questions/q_9f2a…/claim",  "expires_in_ms": 60000,  "workers_online": 4,  "payment": "{ … }"}

POST /v1/questions/{id}/claim

Send the payment credential in Authorization: Payment …. The connection is held until the question settles or deadline_ms passes, then returns the response. In callback mode it returns 202 at once and the answer is posted to your callback_url.

curl -X POST $QUORUM_URL/v1/questions/q_9f2a…/claim \  -H "Authorization: Payment <credential>"

MCP

The same question as a tool call: ask_human takes the fields of POST /v1/questions and returns the answer as text an agent can act on. For longer work there are discover_capabilities, create_human_escalation, get_escalation_status, get_escalation_result and cancel_escalation.

The gateway serves this reference as markdown at /docs, so an agent can read it for itself.