API, TypeScript, and CLI

Get with Receipt

Software asks for an outcome. Receipt handles provider discovery, a signed quote, policy and approval, payment, execution, validation where configured, settlement, and proof.

HTTP API

maxSpend is decimal USD. Response money fields contain a decimal string, ISO currency, and integer minor-unit amount. The response also returns status, result, seller, provider, assurance, validation, transaction ID, and all three Receipt links.

POST /v1/get
Authorization: Bearer <Receipt developer token>
Content-Type: application/json

{
  "task": "Receipt runtime capabilities",
  "input": { "query": "Receipt runtime capabilities" },
  "maxSpend": 0.10,
  "deadline": "2026-07-20T18:00:00.000Z",
  "validateAs": "delivered",
  "dataPolicy": { "dataResidency": "US" },
  "projectId": "accelerator-demo",
  "clientId": "my-agent",
  "workflowRunId": "research-42",
  "externalReference": "lead-7",
  "idempotencyKey": "research-42-search-1"
}

Domain statuses are completed, requires_approval, no_eligible_provider, deadline_unreachable, policy_blocked, provider_failed, and validation_failed. Use dryRun: true for a free quote-only response with no provider request, hold, settlement, or charge.

TypeScript SDK

Use POST /v1/get, the TypeScript client’s receipt.get(...), or receipt get. All three compose the existing Receipt commerce engine.

const outcome = await receipt.get({
  task: "Receipt runtime capabilities",
  input: { query: "Receipt runtime capabilities" },
  maxSpend: 0.10,
  validateAs: "delivered",
  projectId: "accelerator-demo",
  workflowRunId: "research-42",
  idempotencyKey: "research-42-search-1"
});

Install @receiptprotocol/sdk and create a client with one Receipt developer access token. HTTP and authentication failures throw a typed ReceiptError; business outcomes remain in the response’s status union.

Safe replay

Every request carries one idempotency key. Exact replay returns the original transaction without another provider request, hold, validation, settlement, or charge.

Honest assurance

Get reports Delivered unless a bound validator actually ran and passed. A provider response alone is never described as Validated.

CLI

receipt get "Receipt runtime capabilities" \
  --input-json '{"query":"Receipt runtime capabilities"}' \
  --max-usd 0.10 \
  --idempotency-key research-42-search-1 \
  --json

Add --dry-run to stop after the free signed quote. No provider is contacted and no funds are reserved.

Current boundaries

The first demonstrable path uses existing low-cost web-search inventory. This release does not claim multi-provider equivalence, automatic fallback, or validated web search unless those conditions are present in the returned transaction evidence.