---
title: "Get an Outcome Receipt"
method: GET
path: "/api/v1/receipts/{receipt_id}"
---

# Get an Outcome Receipt

`GET /api/v1/receipts/{receipt_id}`

## Request

- Base URL: `https://spoolis.com`
- URL: `https://spoolis.com/api/v1/receipts/{receipt_id}`
- Auth: none required

Returns an enabled production Outcome Receipt or an unexpired demo receipt. No account or API key is required.

## Path parameters

- `receipt_id` string, required

## Response `200`

Outcome Receipt

- OutcomeReceipt: Signed spoolis/outcome-receipt@1 artifact.
  - `recipe` object
    - `slug` string, required
    - `hash` string, required
    - `conditions` object[], required
  - `agreement` object
    - `acceptance` object
      - `mode` 'unilateral', required
      - `provider_accepted_in_spoolis` unknown, required
      - `accepted_by` 'initiator', required
  - `amounts` object
    - `earned` string, required
    - `committed` string: Omitted when verification ran without max_amount_cents.
    - `asset` string, required
    - `decimals` integer, required
  - `condition_results` object[]
    - `required_evidence` object[]
      - `requirement_id` string, required
      - `state` 'present' | 'missing' | 'stale' | 'unavailable' | 'provenance_unsatisfied', required
      - `satisfied` boolean, required
      - `evidence_ref` string
      - `reason` string
  - `evidence_completeness` object
    - `required` integer, required
    - `satisfied` integer, required
    - `missing` integer, required
    - `stale` integer, required
    - `unavailable` integer, required
    - `unsatisfied_provenance` integer, required
  - `units` object
    - `unit_results` object[]
      - `identity` object
        - `id` string, required: SHA-256 over the private per-Spool salt and unit identity value.
        - `label` string
  - `supersedes` object
    - `receipt_id` string, required
    - `reason` 'verification_defect' | 'appeal_reversal' | 'dispute_resolution' | 'review_decision', required: Backward link to the receipt replaced by a correction, dispute resolution, or human review decision.
  - `review` object
    - `window_seconds` integer, required
    - `window_ends_at` string, date-time, required
    - `who_may_dispute` string[], required
    - `scope` 'outcome' | 'units', required
    - `on_dispute` 'freeze_all' | 'freeze_disputed_value', required

## Other responses

- `400`: Machine-readable API error
- `404`: Machine-readable API error

---

[API](https://skmtc.dev/spoolis/apis/spoolis-public-api.md) · [All operations](https://skmtc.dev/spoolis/apis/spoolis-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spoolis/apis/spoolis-public-api/revisions/e438bfc05c01?raw)
