/api/v1/mystery/redemption/:purchase_id packs:readReturns ALL redemptions for a purchase (newest first; 404 when none), never cached. Lifecycle: AWAITING_KYC → PREPARED → BURN_SUBMITTED → IN_FULFILLMENT → COMPLETED, or FAILED / CANCELLED / EXPIRED. Add ?verify=true to force an on-chain getItemBurnType read.
GET /api/v1/mystery/redemption/0 These inputs are shared across all docs pages — an id entered here carries over.
Not run yet — press Run to make a live call against https://staging-service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).
curl -X GET 'https://staging-service.rip.fun/api/v1/mystery/redemption/0' \ -H 'X-API-Key: rip_v1_…'
| Field | Type | Required | Description |
|---|---|---|---|
verify | query bool | — | true → live on-chain burn-type read instead of DB state |
data)| Field | Description |
|---|---|
redemptions[].status | Lifecycle status (see overview); failure_reason set when FAILED |
redemptions[].kyc.status | NOT_REQUIRED | PENDING | APPROVED | DECLINED |
redemptions[].burn | db_status, is_burned (flips at physical dispatch — "burn on dispatch"), burn_type + label (REDEEM_CARD…) |
redemptions[].queue / order | Redeem-queue + fulfillment order status (tracking_number once shipped) |
redemptions[].burn_tx_hash / shipping_quote / expires_at | Recorded burn tx, snapshotted rate, calldata expiry |
| Status | Code | When |
|---|---|---|
| 404 | not_found | no redemptions exist for the purchase |
See Errors for the response envelope and the full code list.