Orders

Create reward orders, choose a delivery method, and track fulfillment from submission through completion.

 

An order is the core object used to send rewards through the API. Orders can include one or more line items and support digital delivery, claim links, or physical shipment depending on product eligibility.

Create an order

Use the Orders endpoint to create a reward order.

POST /v1/Orders
cURL
curl -X POST "BASE_URL/v1/Orders" \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "Type": "DigitalDelivery",
    "LineItems": [{
      "ProductId": "PRODUCTA",
      "Value": 25,
      "Quantity": 1,
      "DigitalDeliveryAddress": {
        "Email": "recipient@example.com"
      },
      "Personalization": {
        "To": "Gift Recipient",
        "FromName": "GiftCard Partners",
        "Message": "Enjoy your reward!"
      }
    }],
    "PONumber": "PO-12345"
  }'

Required order elements

  • Type - delivery type for the order
  • LineItems - one or more reward line items
  • ProductId - selected product
  • Value - denomination or amount
  • PONumber - your unique order identifier

Order status

Orders may complete immediately or return a pending status first, especially for larger requests.

GET /v1/Orders/{id}
cURL
curl "BASE_URL/v1/Orders/ORDER-ID" \
  -H "Authorization: Bearer TOKEN"

Retries and duplicates

If an order request times out or the connection is interrupted, retry using the same PONumber.

Warning: Reusing the same PONumber is the safe way to retry. If the original request succeeded, the API may return a conflict response pointing back to the original order.

Common order responses

  • 201 - order created
  • 409 - duplicate PO number
  • 422 - insufficient funds
  • 504 - timeout

What’s next