Operator

Receipts

GET /api/receipts — the merchant's commerce ledger. Requires the admin token.

GET/api/receiptsBearer adminToken

The merchant's commerce ledger, most recent first. Requires server.adminToken: 404 if none is configured, 401 for a missing or wrong token.

Query

limitintegerdefault: 50
Values above 500 are capped at 500; zero or less returns 400 INPUT_INVALID.
undeliveredbooleandefault: false
true lists only receipts whose backendStatus is outside 2xx, including settled payments whose backend calls failed. Values other than true or false return 400 INPUT_INVALID.
curl -s "http://localhost:8080/api/receipts?limit=20" \
  -H "Authorization: Bearer $ADMIN_TOKEN"

Receipt

id / requestId / resourceIdstringrequired
transactionIdstring
Links the receipt to its journal entry. Absent on receipts written before 2.5.0.
deliveredAtISO 8601required
backendStatusnumberrequired
protocol / durationMs
paymentPaymentResult
Status, provider, amount, currency, network, asset, payer, payee, the settlement reference (the transaction hash, or the signature on Solana) and the replay key. An x402 payment in the network's USDC records currency: "USDC" whatever the resource's label; a USD price is kept as metadata.quote.
authorizationobject
For AP2-gated resources: method, a sha256: digest reference, and the issuers and checkout id. The mandate itself is never stored.
metadataobject
After payment settles but the backend fails: { delivered: false, backendErrorCode }. Find these paid but undelivered requests with ?undelivered=true.
An uncertain settlement leaves no receipt, so ?undelivered=true cannot find it. List unresolved purchases at /api/transactions?unresolved=true or uncertain attempts at /api/payment-attempts?uncertain=true.
Secrets and raw payment proofs are not stored. Buyers receive delivery summaries and receipt IDs through MCP/A2A, or settlement details through HTTP PAYMENT-RESPONSE (plus MPP's Payment-Receipt), rather than using this operator route.