Place gift card orders, retrieve order history, cancel scheduled orders, and resend to recipients.
/api/v1/orders
Returns a paginated list of orders for your organization. Supports filtering by type, status, card type, and date range.
orders.read
pagepageSizeorderTypeONE_TIME | SMART | LINK | CAMPAIGN | REWARDcardTypeBRANDED_CARD | CHOICE_CARDstatusPENDING | IN_PROGRESS | COMPLETE | CANCELEDstartDate2024-01-01endDate2024-12-31searchKeywordPOST /api/v1/orders/reward-links
appear here with orderType: "LINK" and an orderId starting with
"LO" (the value returned by the reward link API).
Use that same ID for
GET /api/v1/orders/{orderId}
to retrieve per-link redemption URLs once the order reaches status: "COMPLETE".
Filter with orderType=LINK to list only reward link orders.
/api/v1/orders/{orderId}
Retrieves the full details of a single order by its ID.
orders.read
orderId
Each entry in recipients represents a single gift card issuance. Most fields are
self-describing; two are order-type dependent:
recipients[].emailLINKorderType: "LINK") have no recipient email — the link itself is the access credential, so this field is null.recipients[].rewardLinkstatus: "COMPLETE"null while
PENDING / IN_PROGRESS / CANCELED.
This safety gate prevents the URL from leaking before a scheduled send time, and also
ensures LINK orders don't surface partially-generated links before background
processing finishes.
/api/v1/orders/branded-cards
Places a branded gift card order. Each recipient can receive a different amount in the product's local currency. Supports immediate and scheduled delivery.
orders.write
{
"idempotencyKey": "order-unique-key-001",
"productId": "10042",
"sendTiming": {
"type": "SCHEDULED",
"scheduledAt": "2024-03-01T09:00:00",
"timezone": "America/New_York"
},
"emailSetting": {
"senderName": "Giftronaut",
"subject": "A gift for you!",
"message": "Thank you for your hard work.",
"templateId": "12"
},
"recipients": [
{ "email": "alice@giftronaut.com", "firstName": "Alice", "lastName": "Smith", "company": "Giftronaut", "department": "Engineering", "amount": 50.00 },
{ "email": "bob@giftronaut.com", "firstName": "Bob", "lastName": "Jones", "amount": 50.00 }
],
"refundOption": false
}
idempotencyKeyproductIdsendTimingsendTiming.typeIMMEDIATE | SCHEDULEDsendTiming.scheduledAt2024-03-01T09:00:00sendTiming.timezoneAmerica/New_YorkemailSettingemailSetting.senderNameemailSetting.subjectemailSetting.messageemailSetting.templateIdrecipientsrecipients[].emailrecipients[].amountrecipients[].firstNamerecipients[].lastNamerecipients[].companyrecipients[].departmentrefundOptionfalse (default) = 180-day expiry; true = 30-day expirySCHEDULED, both scheduledAt and timezone are required. For IMMEDIATE, neither may be provided.amount must match a valid price point for the selected product.If the refundOption value is set to true, the following expiration and refund policies apply.
/api/v1/orders/choice-cards
Places a choice card order where each recipient selects their own gift from a curated collection. Each recipient can receive a different balance amount.
orders.write
{
"idempotencyKey": "order-choice-unique-001",
"productId": "55",
"sendTiming": {
"type": "IMMEDIATE"
},
"emailSetting": {
"senderName": "Giftronaut",
"subject": "Choose your gift!",
"message": "We appreciate everything you do.",
"templateId": "12"
},
"recipients": [
{ "email": "alice@giftronaut.com", "firstName": "Alice", "lastName": "Smith", "amount": 100.00 },
{ "email": "bob@giftronaut.com", "firstName": "Bob", "lastName": "Jones", "amount": 50.00, "company": "Giftronaut", "department": "Sales" }
],
"refundOption": false
}
idempotencyKeyproductIdsendTimingsendTiming.typeIMMEDIATE | SCHEDULEDsendTiming.scheduledAtsendTiming.timezoneemailSettingemailSetting.senderNameemailSetting.subjectemailSetting.messageemailSetting.templateIdrecipientsrecipients[].emailrecipients[].amountrecipients[].firstNamerecipients[].lastNamerecipients[].companyrecipients[].departmentrefundOptionfalse (default) = 180-day expiry; true = 30-day expiryamount.If the refundOption value is set to true, the following expiration and refund policies apply.
/api/v1/orders/reward-links
Creates a batch of redeemable gift card links — no recipient emails required. You specify how many links to generate and the amount per link; each link becomes a unique URL that your end users can redeem to claim the gift card. This is useful for marketing campaigns, quick-win incentives, in-app rewards, and anywhere email-based delivery does not fit.
status: "PENDING". A background job then generates the
individual redemption URLs. Poll GET /api/v1/orders/{orderId} —
once the order status becomes COMPLETE, each
recipients[].rewardLink contains its redemption URL. Until then, rewardLink
is null.
refundOption: true = 30 days) for public distribution to limit unclaimed-link exposure.
orders.write
{
"idempotencyKey": "reward-link-unique-001",
"cardType": "BRANDED_CARD",
"productId": "101",
"quantity": 50,
"amountPerLink": 25.00,
"refundOption": false
}
idempotencyKeyorderId.cardTypeBRANDED_CARD | CHOICE_CARDproductIdquantityamountPerLinkrefundOptionfalse (default) = 180-day expiry; true = 30-day expiry with 70% refund of unredeemed amount.
On success returns HTTP 201 with the newly created order summary. The orderId returned here is
the one used for polling via Get order. totalCost is always in USD and
equals amountPerLink × quantity converted at the product's current exchange rate (for branded
cards) or 1:1 (for choice cards).
totalCost in USD at request time — the full amount is deducted immediately.amountPerLink must match an allowed price step of the product.amountPerLink must be within the organization's configured min / max range.quantity is capped at 500 per request. For larger batches, submit multiple requests with distinct idempotency keys.recipients[].rewardLink field of Get order only after the order reaches status: "COMPLETE".If the refundOption value is set to true, the following expiration and refund policies apply.
/api/v1/orders/{orderId}/cancel
Cancels a scheduled order. The request must be made at least 1 hour before the scheduled send time. Immediate orders cannot be canceled once placed.
orders.cancel
ORDER_NOT_CANCELABLE — order is not scheduled, already dispatched, or the 1-hour window has passed./api/v1/orders/{orderId}/resend
Resends gift cards to specific recipients. Optionally update a recipient's email address before resending.
orders.write
recipientsrecipients[].emailrecipients[].updatedEmail{
"recipients": [
{
"email": "jane.doe@giftronaut.com",
"updatedEmail": "newemail@giftronaut.com"
}
]
}
orderIdrequeuedStart typing to search...
Select the APIs you want to integrate. A ready-to-use Markdown file with full API specs and a project context template will be generated and downloaded. Paste it into your AI assistant to get started instantly.