Skip to main content
POST
/
v3
/
orders
Place an order
curl --request POST \
  --url https://api.snappy.com/v3/orders \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "accountId": "12345678",
  "fundingSourceId": "87654321",
  "variantId": "variant_abc123",
  "recipient": {
    "firstname": "John",
    "lastname": "Doe",
    "email": "john.doe@example.com",
    "phone": "+15551234567",
    "shippingAddress": {
      "line1": "123 Main St",
      "city": "New York",
      "state": "NY",
      "zip": "10001",
      "country": "US",
      "line2": "Apt 4B"
    },
    "externalId": "crm-user-987"
  },
  "idempotencyKey": "order-2026-05-13-abc",
  "campaignId": "12345678",
  "metadata": {
    "externalOrderId": "ord-9981",
    "source": "crm"
  }
}
'
{
  "result": {
    "orderId": "G7nR4bD9mK",
    "status": "processing",
    "trackingLink": "https://gift.snappy.com/choose/G7nR4bD9mK"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.snappy.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-Api-Key
string
header
required

Partner API key. Finalized per partner integration agreement.

Body

application/json

Request body for placing an order.

accountId
string
required

The id of the account placing the order. Must belong to the authenticated company.

Example:

"12345678"

fundingSourceId
string
required

The id of the funding source that will pay for the order. Must belong to the specified account.

Example:

"87654321"

variantId
string
required

The id of the product variant to ship to the recipient. Use the product/variant browse endpoints to discover variant ids.

Minimum string length: 1
Example:

"variant_abc123"

recipient
object
required

The order recipient's details, including the shipping address to which the item will be delivered.

idempotencyKey
string
required

Unique caller-generated key used to deduplicate requests. Replaying an identical request returns the original order without creating a duplicate.

Required string length: 1 - 120
Example:

"order-2026-05-13-abc"

campaignId
string

Optional id of the API campaign under which the order is created. When omitted, an existing matching API campaign for the funding source is used, or one is created automatically.

Example:

"12345678"

metadata
object

Optional caller metadata. Up to 50 key-value pairs. Keys are alphanumeric (including underscores), up to 40 characters. Values are alphanumeric with limited special characters, up to 500 characters.

Example:
{
"externalOrderId": "ord-9981",
"source": "crm"
}

Response

Order placed (or, on replay, the existing order).

Successful response returned after an order is placed.

result
object
required

Details of the placed order.

Last modified on May 15, 2026