POST /v3/orders call creates an order that Snappy fulfills and ships to the recipient — no two-step gift/claim flow required.
Prerequisites
- API key with
orders:createscope - A configured billing method under the ordering account
accountId,billingMethodId, andvariantIdready
Pre-flight: validate the address
Before placing an order, run the recipient’s address through Snappy’s validation endpoint. This catches undeliverable addresses before the order is created.JavaScript
GET /v3/orders/addresses/autocomplete?filter[address]=...&filter[country]=US.
Place the order
JavaScript
Python
Idempotency
TheidempotencyKey (top-level field, 1–120 chars) makes retries safe. Sending the same key twice returns the original order — no duplicate, no double charge.
Derive from stable identifiers:
JavaScript
Cancel an order
status on the order before attempting cancellation.
Bulk placement
For placing multiple orders (e.g., a batch send), use bounded concurrency to stay within rate limits:JavaScript
Swag orders
Swag orders use the samePOST /v3/orders endpoint but require:
Snappy-Account-Idheader (same as standard orders)- A
variantIdfrom a swag product (fetched withfilter[catalog]=swag)
Failure table
Related
- Real-Time Catalog Access — fetching the variant ID before placing the order
- Track Order Fulfillment — subscribe to webhooks after placing
- Build a Rewards Experience — end-to-end recipe using this pattern