/api/v1/mystery/purchase/:purchase_id packs:readPoll this after a purchase to follow fulfillment: RESERVED → SUBMITTED → FULFILLED (or REFUNDED / FAILED). Once FULFILLED it includes the revealed items, hydrated from the canonical card tables so name / image_url / value_usd are always populated.
GET /api/v1/mystery/purchase/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/purchase/0' \ -H 'X-API-Key: rip_v1_…'
data)| Field | Description |
|---|---|
status | RESERVED → SUBMITTED → FULFILLED, or REFUNDED / FAILED |
onchain_request_id / transaction_hash | VRF request + purchase tx, once on-chain |
items[].token_id / item_type | Revealed NFT — feed token_id into price / buyback / redemption |
items[].name / image_url / value_usd / rarity | Hydrated card metadata |
memo | "{partner-slug}-{purchase_id}" per-key attribution tag |
| Status | Code | When |
|---|---|---|
| 404 | not_found | purchase_id does not belong to this partner |
See Errors for the response envelope and the full code list.