---
title: "Export one integrity-linked public action receipt"
method: GET
path: "/v1/action-receipts/{id}"
tags: ["Receipts"]
---

# Export one integrity-linked public action receipt

`GET /v1/action-receipts/{id}`

## Request

- Base URL: `https://api.thrd.email`
- URL: `https://api.thrd.email/v1/action-receipts/{id}`
- Auth: HTTP bearer

Requires bearer scope actions:authorize. Returns only the tenant-agent public projection and integrity hashes; exact action values and evidence remain in the encrypted replay snapshot.

## Path parameters

- `id` string, uuid, required

## Response `200`

Strict redacted JSON receipt export

- object
  - `sequence` string, required
  - `previous_hash` string, required
  - `receipt_hash` string, required
  - `snapshot_hash` string, required
  - `supersedes_receipt_id` string, uuid, nullable, required
  - `created_at` string, date-time, required
  - `receipt` object, required
    - `schema_version` '1.0', required
    - `receipt_id` string, uuid, required
    - `event_type` 'chain.checkpoint.v1' | 'action.proposed.v1' | 'decision.issued.v1' | 'approval.requested.v1' | 'approval.completed.v1' | 'capability.issued.v1' | 'capability.redeemed.v1' | 'action.executed.v1' | 'action.failed.v1' | 'action.execution_failed.v1', required
    - `trace_id` string, uuid, required
    - `revision` integer, required
    - `action` object
      - `proposal_id` string, uuid, required
      - `type` string, required
      - `hash` string, required
      - `argument_names` string[]: Allowlisted argument field names only. Values remain exclusively in the encrypted replay snapshot.
    - `evidence` object
      - `envelope_id` string, uuid, required
      - `canonical_hash` string, required
      - `signal_codes` string[], required
    - `decision` object
      - `decision_id` string, uuid
      - `outcome` 'allow' | 'review' | 'deny', required
      - `would_outcome` 'allow' | 'review' | 'deny'
      - `mode` 'shadow' | 'enforce', required
      - `enforcement_applied` boolean, required
      - `reason_codes` string[], required
      - `matched_rule_ids` string[], required
      - `policy_hash` string, required
      - `context_hash` string, required
    - `approval` object
      - `approval_id` string, uuid, required
      - `status` 'pending' | 'approved' | 'denied' | 'modified' | 'expired' | 'canceled' | 'capability_issued' | 'executed' | 'execution_failed', required
    - `capability` object
      - `capability_id` string, uuid, required
      - `status` 'issued' | 'redeemed' | 'expired' | 'revoked', required
    - `redemption` object
      - `redemption_id` string, uuid, required
      - `status` 'redeemed', required
      - `execution_status` 'succeeded' | 'failed'
    - `execution` object
      - `status` 'succeeded' | 'failed', required
      - `result_hash` string, required
      - `error_code` string

## Other responses

- `400`: Invalid receipt ID
- `401`: Missing or invalid API key
- `403`: Missing actions:authorize scope
- `404`: Receipt not found for this tenant and agent
- `503`: Receipt integrity or storage authority unavailable

---

[API](https://skmtc.dev/thrd/apis/thrd-agent-email-api.md) · [All operations](https://skmtc.dev/thrd/apis/thrd-agent-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrd/apis/thrd-agent-email-api/revisions/d8a88129cd34?raw)
