> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redpill.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Receipt

> The signed receipt for a response, with the full transparency event log.

Returns the signed receipt for a response: a transparency event log that binds the request and
response hashes to the attested gateway, signed by a key from the attested
[keyset](/api-reference/attestation). This is the canonical per-response proof. Look up a receipt by
the `x-receipt-id` header on the inference response, or by the response `id`. For how to read the
event log, see [Receipts](/confidential-ai/receipts).

```http theme={null}
GET /v1/aci/receipts/{id}
```

## Request

<ParamField path="id" type="string" required>
  A receipt id (`rcpt-…`) or the response `id` (chat id). The receipt id is returned in the
  `x-receipt-id` response header on `/v1/chat/completions`.
</ParamField>

## Response

`200 OK`, `application/json`. The bare canonical receipt:

| Field                    | Type   | Description                                                  |
| ------------------------ | ------ | ------------------------------------------------------------ |
| `api_version`            | string | ACI version token, for example `aci/1`.                      |
| `receipt_id`             | string | The receipt id (`rcpt-…`).                                   |
| `chat_id`                | string | The response/chat id.                                        |
| `workload_id`            | string | Must match the attestation report.                           |
| `workload_keyset_digest` | string | Must match the attestation report.                           |
| `endpoint`               | string | The route served, for example `/v1/chat/completions`.        |
| `method`                 | string | HTTP method.                                                 |
| `served_at`              | number | Unix seconds.                                                |
| `event_log`              | array  | Ordered transparency events (below).                         |
| `signature`              | string | Signature over the receipt, by a key in the attested keyset. |

### `event_log` entries

| `type`                           | Key fields                                                                                                                             |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `request.received`               | `body_hash`                                                                                                                            |
| `middleware.forwarded`           | `body_hash`                                                                                                                            |
| `route.selected`                 | `target_route_id`                                                                                                                      |
| `request.forwarded`              | `body_hash`                                                                                                                            |
| `transparency.request_modified`  | (present when forwarded body differs)                                                                                                  |
| `upstream.verified`              | `provider`, `upstream_name`, `model_id`, `url_origin`, `verifier_id`, `result`, `required`, `session_id`, `channel_bindings`, `claims` |
| `response.received`              | `cleartext_hash`                                                                                                                       |
| `transparency.response_modified` | (present when returned response differs)                                                                                               |
| `response.returned`              | `cleartext_hash`, `wire_hash`                                                                                                          |

### Example (truncated)

```json theme={null}
{
  "api_version": "aci/1",
  "receipt_id": "rcpt-e0eefe63b3673e2a5984951f",
  "chat_id": "d3ad808b20a444c29e798db35f112033",
  "workload_id": "sha256:3def476b…",
  "workload_keyset_digest": "sha256:3eff0836…",
  "endpoint": "/v1/chat/completions",
  "method": "POST",
  "served_at": 1781588857,
  "event_log": [
    { "seq": 0, "type": "request.received", "body_hash": "sha256:111d08a5…" },
    { "seq": 2, "type": "route.selected", "target_route_id": "near-ai:qwen/qwen3-30b-a3b-instruct-2507" },
    { "seq": 5, "type": "upstream.verified", "provider": "near-ai", "model_id": "Qwen/Qwen3.6-35B-A3B-FP8",
      "url_origin": "https://cloud-api.near.ai", "verifier_id": "private-ai-verifier/near-ai-gateway/v1",
      "result": "verified", "required": true, "session_id": "as_3681736b…" },
    { "seq": 7, "type": "response.returned", "cleartext_hash": "sha256:07703fb4…", "wire_hash": "sha256:07703fb4…" }
  ],
  "signature": "…"
}
```

## Verifying the receipt

1. Confirm `workload_id` and `workload_keyset_digest` match a verified
   [attestation report](/api-reference/attestation).
2. Verify `signature` under a `receipt_signing_keys` entry from the attested keyset.
3. Confirm `request.received.body_hash` matches the request you sent and `response.returned.wire_hash`
   matches the response you received.
4. Read `upstream.verified`: `result = verified` and `required = true` indicate a confidential model
   served from a verified, channel-bound upstream. Follow `session_id` to the
   [attested session](/api-reference/sessions).

See [Verify a response](/guides/verify-a-response) for the full walkthrough.

## Legacy alias

`GET /v1/signature/{id}` is a legacy compatibility alias that wraps this same receipt in a
legacy envelope, documented under [Signature](/api-reference/signature).

## Related

<CardGroup cols={2}>
  <Card title="Get attestation report" icon="microchip" href="/api-reference/attestation" />

  <Card title="Get session" icon="link" href="/api-reference/sessions" />
</CardGroup>
