GET /agent/checkout/{id}
Poll the full checkout session state — used to follow a held session to its resolution, or to re-read a terminal result.
Returns the full CheckoutSession view. Use it to follow a held session to its
resolution, or to re-read a terminal result.
Response — 200
{
"id": "…",
"merchantId": "acme",
"agentId": "11111111-1111-1111-1111-111111111111",
"state": "accepted",
"lines": [{ "sku": "widget", "name": "Blue Widget", "qty": 2, "unitPrice": "12.50", "lineTotal": "25.00" }],
"total": { "currency": "USD", "subtotal": "25.00", "tax": "0.00", "total": "25.00" },
"railName": "x402",
"verdict": { "decision": "accept", "tier": "premium", "reasonCodes": ["OK"], "signals": [] },
"receipt": "<compact JWS>",
"orderId": "…",
"createdAt": 1750000000,
"expiresAt": 1750000900
}Session states
created · awaiting_payment · settling · accepted · rejected · held · expired.
| Status | Meaning |
|---|---|
200 | The session view. |
404 | Unknown session (SESSION_NOT_FOUND). |
POST /agent/checkout/{id}/settle
Submit payment and run the acceptance gate. Returns one of accepted (200), hold (202), payment_invalid (402), or rejected (403) — and replays terminal results verbatim for idempotent retries.
Hosted REST API
The Veto merchant control plane — the hosted REST API behind merchants.veto-ai.com. Provision merchants, manage catalog, policy, and receiving, serve discovery manifests, ingest gate outcomes, and read reputation.