Skip to main content
Scopes: 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

Common query filters: 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

Webhook 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

After completed:
The redemption secret field is 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.