Browse documentation
Quickstart
Implement the smallest complete AQP exchange.
1. Choose a binding
Use the HTTP binding for ordinary APIs and web responses, the MCP binding for tool servers, or the A2A binding for agent peers. Each binding carries the same canonical query, response, and receipt objects.
2. Create a query
Give the query a stable subject, typed prompt, response contract, timing, consent mode, authorized delivery destination, and short expiry.
{
"protocolVersion": "2026-07-30",
"queryId": "0198c7cb-1af1-7e79-bd7f-02f8a89b8857",
"type": "clarification",
"subject": {
"kind": "tool_call",
"id": "call_01JQ8QY3EJX9",
"protocol": "mcp"
},
"prompt": "Did this tool result fully answer the user's request?",
"timing": "after_outcome_known",
"consentMode": "not_required",
"response": {
"format": "choice",
"choices": ["yes", "partly", "no"]
},
"delivery": {
"binding": "https",
"endpoint": "https://queries.example/responses",
"authorization": "Bearer <scoped-capability>"
},
"expiresAt": "2026-07-30T19:00:00Z"
}3. Submit a response
The respondent waits for the requested timing condition, applies local policy, and returns an answer matching the declared format.
{
"protocolVersion": "2026-07-30",
"responseId": "0198c7d0-2180-7729-b005-d33c99fc7452",
"queryId": "0198c7cb-1af1-7e79-bd7f-02f8a89b8857",
"subject": {
"kind": "tool_call",
"id": "call_01JQ8QY3EJX9",
"protocol": "mcp"
},
"respondent": { "kind": "agent" },
"answer": "partly",
"explanation": "The result answered the question after one retry.",
"confidence": 0.92,
"createdAt": "2026-07-30T17:05:12Z"
}4. Return a receipt
The collector returns a machine-readable terminal status. Submitting the same response identifier again must return an equivalent receipt.
{
"protocolVersion": "2026-07-30",
"responseId": "0198c7d0-2180-7729-b005-d33c99fc7452",
"status": "accepted",
"retryable": false,
"receivedAt": "2026-07-30T17:05:13Z"
}5. Validate
Validate all three objects against the dated JSON Schemas and run the conformance vectors. Unknown fields are rejected in the initial specification so incompatible assumptions surface early.