Skip to main content
POST
Place an order - v3

Authorizations

X-Api-Key
string
header
required

Company Level Authentication

Include your API key in the X-Api-Key header for every request:

Headers

snappy-account-id
string
required

Account identifier.

Example:

"acc123456"

snappy-company-id
string

Optional company identifier.

Example:

"cmp123456"

Body

application/json

Request body for placing an order via the Direct Fulfillment integration. The account is identified by the Snappy-Account-Id header.

billingMethodId
string
required

The ID of the billing method that will pay for the order. Must belong to the specified account. Contact your Snappy account manager to retrieve your billing method IDs.

Pattern: ^[A-Za-z0-9]{8,}$
Example:

"87654321"

variantId
string
required

The ID of the specific product variant to order. Use GET /v3/products to browse available products and retrieve variant IDs.

Minimum string length: 1
Example:

"variant_abc123"

recipient
object
required

Order recipient's contact information.

Example:
shippingAddress
object
required

Physical shipping address for order delivery.

Example:
idempotencyKey
string
required

A unique key used to prevent duplicate orders. If a request with the same key has already succeeded for this company, the original order is returned without creating a duplicate. Use a stable, caller-generated identifier such as your internal order ID.

Required string length: 1 - 120
Example:

"order-2026-05-13-abc"

tags
string[]

Optional tags for grouping and filtering orders in reports.

Example:
metadata
object | null

Optional custom key-value pairs attached to the order. Use this to store additional information such as externalRecipientId for correlating with your internal systems. Maximum 50 pairs, keys up to 40 characters, values up to 500 characters.

Example:

Response

Order placed.

Successful response returned after an order is placed.

data
object
required

Details of the placed order.

Last modified on June 17, 2026