---
title: "Fetch a trust receipt"
method: GET
path: "/v1/receipts/{receipt_id}"
tags: ["Receipts"]
---

# Fetch a trust receipt

`GET /v1/receipts/{receipt_id}`

## Request

- Base URL: `https://api.farofinance.app`
- URL: `https://api.farofinance.app/v1/receipts/{receipt_id}`
- Auth: none declared

The signed receipt issued for a verify response (see the `X-Faro-Receipt-Id` response header), with its transparency-log position and — once the day's root is published — a Merkle inclusion proof. The payload carries hashes only, never artifact contents. Verify offline with `scripts/verify_receipt.py`.

## Path parameters

- `receipt_id` string, required

## Response `200`

Successful Response

- ReceiptOut
  - `receipt_id` string, required
  - `request_id` string, required
  - `payload` object, required: The frozen receipt contract: verdict, confidence, reason_hash, request_id, artifact_hash, timestamp. Hashes only — no PII.
  - `jws` string, required: Detached Ed25519 JWS over the canonical payload bytes.
  - `kid` string, required: JWKS key id that signed this receipt.
  - `algorithm` string
  - `log_index` integer, required: This receipt's sequence number in the transparency log.
  - `prev_hash` string, required: entry_hash of the previous log entry (hex).
  - `entry_hash` string, required: sha256(prev_hash + '\n' + payload_hash + '\n' + jws) — the chain link (hex).
  - `day` string, required
  - `inclusion_proof` InclusionProofOut
    - `leaf` string, required: The receipt's entry_hash — the Merkle leaf (hex).
    - `index` integer, required: Zero-based position of the leaf in the day's tree.
    - `tree_size` integer, required
    - `path` string[], required: Sibling hashes from leaf to root (hex).
    - `root` LogRootOut, required
      - `day` string, required: UTC day this root covers, YYYY-MM-DD.
      - `tree_size` integer, required: Number of receipt entries under this root.
      - `root_hash` string, required: RFC 6962 Merkle root over the day's entry hashes (hex).
      - `chain_head` string, required: entry_hash of the day's last log entry (hex).
      - `generated_at` string, date-time, required
      - `jws` string, required: Detached Ed25519 JWS over the canonical root payload.
      - `kid` string, required: JWKS key id that signed this root.
      - `base_tx_hash` string, nullable: Base transaction carrying this root as calldata (null until anchored).
      - `anchored_at` string, date-time, nullable
  - `verify` string

## Other responses

- `404`: No such receipt.
- `422`: Validation Error
- `503`: Receipts are not enabled.

---

[API](https://skmtc.dev/farofinance/apis/faro.md) · [All operations](https://skmtc.dev/farofinance/apis/faro/llms.txt) · [OpenAPI document](https://skmtc.dev/farofinance/apis/faro/revisions/205cdf54420b?raw)
