gift:read, gift:purchase, or gift:*.
Catalog availability is controlled per tenant. Disabled catalog → empty offers / 503 / catalog_disabled. An emergency kill-switch may return 503 / gift_disabled.
This GET is live availability and the live USDT quote (price_usdt). There is no POST /quote and no separate availability API. Cache briefly; respect catalog rate limits.
List offers
brand, country, limit (max 50), cursor.
Offers may be FIXED (no value on purchase) or RANGE (min_value / max_value / value_currency — you must pass value on purchase).
Purchase
Response 202
gift_purchase.status_changed — without code/epin.Fetch the receipt via GET. Errors:
catalog_disabled, unknown_offer / offer_unavailable, missing_required_field, invalid_value, catalog_stale, insufficient_balance, gift_disabled, ext_id_conflict.
Get purchase / receipt
completed:
epin (not a generic code). Do not log plaintext receipts.
IMBA does not send the code to your end user. After completed, pull this GET and deliver in your UI (no white-label fulfillment by IMBA). Typical time to completed is seconds to a few minutes — not a hard SLA.
Refunds: none for a working / unused voucher. Provider failure before delivery returns the reserve. There is no cancel-purchase endpoint.