---
title: "Read a checkout receipt"
method: GET
path: "/billing/receipt"
---

# Read a checkout receipt

`GET /billing/receipt`

## Request

- Base URL: `https://superskill.sh/api`
- URL: `https://superskill.sh/api/billing/receipt`
- Auth: HTTP bearer

Auth required. Returns the caller's own purchase receipt by provider_ref without mutating payment or entitlement state.

## Query parameters

- `provider_ref` string, required

## Response `200`

Purchase receipt

- PurchaseReceipt
  - `receipt_id` string, required
  - `purchase_id` string, required
  - `provider` 'manual' | 'x402', required
  - `provider_ref` string, required
  - `status` 'pending' | 'paid' | 'reserved' | 'captured' | 'refunded' | 'failed', required
  - `owner` string, required
  - `repo` string, required
  - `version` string, required
  - `pricing_model` 'free' | 'one_time' | 'subscription' | 'per_call' | 'gate_escrow'
  - `amount_usd` number, required
  - `currency` string, required
  - `subject` object, required
    - `type` 'user' | 'wallet' | 'org', required
    - `id` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `entitlement` object, required
    - `granted` boolean, required
    - `kind` 'one_time' | 'subscription' | 'escrow_reserved'
    - `expires_at` string, date-time, nullable
  - `escrow` object
    - `expires_at` string, date-time, nullable
    - `receipt_hash` string, nullable
    - `captured_at` string, date-time, nullable
    - `refunded_at` string, date-time, nullable

## Other responses

- `400`: Bad request
- `401`: Authorization required
- `404`: Resource not found

---

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