Starship Rewards API

Orders Overview

Create, track, and manage digital product orders with real-time status and voucher delivery

Orders Overview

The Orders API enables complete order lifecycle management for digital products, from creation through fulfillment with secure voucher delivery.

Order Ecosystem

Order Creation Initiate purchases for gift cards, mobile top-ups, and digital services with multi-currency support and real-time inventory validation.

Order Tracking Monitor order status from placement through delivery with detailed transaction history and status updates.

Voucher Delivery Secure delivery of digital vouchers with encrypted codes, PINs, and redemption instructions upon successful order completion.

API Documentation

Create Order API

Submit new orders for digital products with customer information and payment processing.

Key Operations:

  • Submit order with product selection
  • Provide customer information
  • Specify payment method
  • Receive order confirmation

→ Create Order API Documentation

List Orders API

Search and filter order history with comprehensive pagination and filtering options.

Key Operations:

  • View order history with pagination
  • Filter by status, product, or date
  • Access order summaries
  • Monitor order pipeline

→ List Orders API Documentation

Get Order Details API

Retrieve complete order information including decrypted voucher codes for delivered orders.

Key Operations:

  • Get detailed order information
  • Access decrypted voucher codes
  • View delivery status
  • Track fulfillment progress

→ Get Order Details API Documentation

Quick Start

  1. Authenticate - Get your access token via the Authentication API
  2. Browse Products - Use the Products API to find products
  3. Calculate Pricing - Use the Charges API to get pricing
  4. Create Order - Submit order using the Create Order API
  5. Track Status - Monitor orders with List Orders API
  6. Deliver Vouchers - Retrieve codes via Get Order Details API

Order Status Flow

PLACED

Order has been accepted by the API and recorded. No fulfillment has started yet.

PENDING

Order is queued for fulfillment. Inventory lookup is in progress or the order is awaiting admin action (for multi-vendor or out-of-stock cases). No vouchers yet.

DELIVERED

Order has been fulfilled. Voucher codes, PINs, and redemption URLs are available via Get Order Details.

PARTIALLY_DELIVERED

Some order items are delivered; others are still pending or failed. Retrieve the per-item status from Get Order Details.

CANCELLED / FAILED

Order could not be fulfilled — cancellation, vendor failure, or validation failure. No vouchers were generated.

Enum Conventions

Case handling. All enum values in this reference are the canonical UPPERCASE form returned by the API. The API accepts input values in any case (instant, Instant, INSTANT all parse the same), and always responds with the canonical UPPERCASE form. Write integrations against UPPERCASE and you will be forward-compatible.

Exposure column. Each enum table below shows whether the value appears in client-facing /api/v1/* responses or is internal only (used by admin/vendor backchannels). Do not write client logic that depends on enum values marked Internal — they may change without notice.

Order Status Values

Primary Status

StatusDescriptionVouchers AvailableExposure
PLACEDOrder accepted, not yet processedNoPublic
PENDINGQueued, awaiting inventory or admin actionNoPublic
DELIVEREDOrder completed successfullyYesPublic
PARTIALLY_DELIVEREDSome items delivered, others pending/failedPartialPublic
CANCELLEDOrder was cancelledNoPublic
FAILEDOrder processing failedNoPublic

Sub Status

Orders carry a detailed sub-status for granular lifecycle tracking. New sub-status values may be added over time — treat unknown values as informational, not fatal.

Sub StatusDescription
INITIALInitial state after order creation
PROCESSINGOrder is being processed
PARTIALPartial completion of order items
COMPLETEDOrder fully completed
VENDOR_ORDER_PENDINGWaiting for vendor order creation
VENDOR_ORDER_CREATEDVendor order has been created
VENDOR_ORDER_FAILEDVendor rejected or failed the order
VENDOR_VOUCHER_FETCHEDVouchers fetched from vendor
INVENTORY_FULFILLEDOrder fulfilled from inventory cache (no vendor call)
PENDING_REPROCESSOrder queued for retry after a transient failure
REPROCESS_EXPIREDRetry window expired without success
GV_LINK_PENDINGGift voucher link creation pending
GV_LINK_CLAIMEDGift voucher link has been claimed
GV_LINK_UNCLAIMEDGift voucher link not yet claimed
BULK_LIMIT_EXCEEDEDBulk order limit exceeded
REFUNDEDOrder has been refunded
NOT_REFUNDEDFailed order not yet refunded
RECONCILEDOrder reconciled with vendor

Product Attribute Enums

These enums describe products, not orders — you will encounter them in Products API responses and order line items.

Delivery Timing — delivery_time

Indicates how quickly a voucher is expected to be available after the order is placed. This is the field you should use to decide whether to poll for voucher codes or wait on a webhook. It is computed live at response time based on current inventory availability, so a product's delivery_time can change between requests.

ValueDescriptionIntegration hintExposure
INSTANTInventory is ready; order is expected to fulfill synchronouslyExpect DELIVERED status on first GET /orders/:id, or immediately on the webhookPublic
DELAYEDNo inventory ready; order will go through vendor processingSubscribe to the order.delivered webhook, or poll every 30–60 sPublic

Legacy note. Older documentation referred to these values as REALTIME / DELAYED. The canonical values are now INSTANT / DELAYED. The API accepts both on input; responses use the canonical form. Historic pre-normalization responses may have emitted lowercase instant / delayed — treat enum comparisons case-insensitively in your client.

Delivery Format — delivery_type

The format in which a voucher is delivered. Reflects the product's underlying medium and is carried on product responses for display/routing logic.

ValueDescriptionExposure
CODE_WITH_PINVoucher consists of a card number plus a PINPublic
URLVoucher is a redemption URL (typically a gift-card microsite)Public

Heads up. The field is historically named delivery_type even though it describes the delivery format (the delivery timing lives in delivery_time). This naming is preserved for backwards compatibility.

Classification

Indicates where a voucher can be redeemed. Used in product search and catalog UIs, but not returned on every product response — check the specific endpoint's response schema.

ValueDescriptionExposure
OPEN_LOOPCan be used at multiple merchants (e.g., Visa gift card)Internal
CLOSED_LOOPCan only be used at a specific merchantInternal
SEMI_OPENRestricted to a merchant group or categoryInternal
SEMI_CLOSERestricted but broader than closed loopInternal

For products that deliver vouchers via a URL, indicates the access-control model of that URL.

ValueDescriptionExposure
PUBLICUnauthenticated URL — anyone with the link can redeemInternal
PROTECTEDURL requires a password or additional authentication to redeemInternal

Fulfillment & Inventory Enums

Inventory Status

The state of a single voucher unit in Starship's inventory cache.

StatusDescriptionExposure
AVAILABLEIn the pool, eligible for allocationInternal
ALLOCATEDReserved against an order, not yet deliveredInternal
DELIVEREDReleased to the ordering clientInternal
COMPLETEDLifecycle closed (delivered + reconciled)Internal
BLOCKEDTemporarily ineligible (e.g., expired, flagged)Internal
REVOKEDPermanently invalid (e.g., vendor recall)Internal

Recharge Status

For mobile-topup and utility-recharge products, the fulfillment status of the recharge itself (separate from order status).

StatusDescriptionExposure
PENDINGRecharge request queuedPublic
DELIVEREDRecharge submitted to operatorPublic
RECHARGEDOperator confirmed the balance was creditedPublic
FAILEDRecharge was rejected by the operatorPublic
CANCELLEDRecharge cancelled before submissionPublic

Security Features

Encryption

All sensitive voucher data is encrypted at rest using AES-256 encryption:

  • Card/voucher numbers
  • PIN codes
  • Reference numbers
  • Redemption URLs

Access Control

  • JWT authentication required for all endpoints
  • Client-specific order visibility
  • Audit logging for all order operations

Data Protection

  • Vouchers only decrypted when order is delivered
  • Secure transmission over HTTPS
  • PCI compliance for payment card data

Common Integration Patterns

Validate Product Availability

Before creating an order, verify the product is available for the desired denomination and quantity using the Product Availability API. This prevents order failures due to availability issues.

Calculate Total Cost

Use the Charges API to calculate the exact cost including discounts, fees, and taxes. Display this transparent pricing to customers before order creation.

Create Order

Submit the order with customer details and payment information. The order will be validated and processed asynchronously. Store the returned order ID for tracking.

Poll for Completion

Check the order status periodically using the Get Order Details endpoint. When status changes to "delivered", voucher codes become available.

Retrieve Vouchers

Once delivered, fetch the complete order details to access decrypted voucher codes, PINs, and redemption instructions. Deliver these securely to your customer.

Best Practices

  1. Idempotency - Include unique reference codes to prevent duplicate orders
  2. Error Handling - Implement robust retry logic for transient failures
  3. Status Monitoring - Poll order status at reasonable intervals (e.g., every 30 seconds)
  4. Secure Storage - Never log or store decrypted voucher codes
  5. Customer Communication - Send status updates via email/SMS during processing

Next Steps