Redemption status

GET /api/v1/mystery/redemption/:purchase_id packs:read

Returns 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.

Try it GET /api/v1/mystery/redemption/0

These inputs are shared across all docs pages — an id entered here carries over.

response

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 (tracks the inputs above)
curl -X GET 'https://staging-service.rip.fun/api/v1/mystery/redemption/0' \
  -H 'X-API-Key: rip_v1_…'

Request fields

FieldTypeRequiredDescription
verifyquery booltrue → live on-chain burn-type read instead of DB state

Response fields (data)

FieldDescription
redemptions[].statusLifecycle status (see overview); failure_reason set when FAILED
redemptions[].kyc.statusNOT_REQUIRED | PENDING | APPROVED | DECLINED
redemptions[].burndb_status, is_burned (flips at physical dispatch — "burn on dispatch"), burn_type + label (REDEEM_CARD…)
redemptions[].queue / orderRedeem-queue + fulfillment order status (tracking_number once shipped)
redemptions[].burn_tx_hash / shipping_quote / expires_atRecorded burn tx, snapshotted rate, calldata expiry

Errors

StatusCodeWhen
404not_foundno redemptions exist for the purchase

See Errors for the response envelope and the full code list.