Skip to main content
Use these endpoints to create orders, check their status, and retrieve delivered content. Orders are automatically linked to the authenticated customer.

Create an order

Creates a new order using the balance available on your account.

Required headers

The Idempotency-Key header is required for every order creation request.

Request

Request body

Always use the latest price returned by the Products endpoint as expected_unit_price.
If the price or availability changes before the order is created, the request is rejected instead of purchasing at an unexpected price.

Successful response

A newly created order returns 201 Created.
content_available is true when at least one delivered item is available to retrieve.

Idempotency

Every POST /orders request must include a unique Idempotency-Key. This prevents duplicate purchases when a request is retried because of a timeout or network issue.

Same key and same request

Sending the same request again with the same key returns the original order.
The account is not charged again and no duplicate order is created.

Same key and different request

Reusing the same key with different order data returns a conflict.
Use a new Idempotency-Key for every new order.

List orders

Returns orders created by the authenticated customer.

Request

Response

Get an order

Returns the latest details and fulfillment status for a specific order.

Request

Response

Order content

Returns delivered keys or other product content for an order. Use this endpoint when content_available is true.

Request

Response

Content fields

Content may not be available immediately.
Check the order status before requesting delivered content.

Order status

status represents the overall order status.

Item fulfillment status

Each order item has its own fulfillment_status.
fulfillment_status applies to each individual item, while the order-level status represents the overall order state. This allows to track fulfillment independently for each product in a multi-item order.

Delivery behavior

Delivery depends on the product’s current delivery_type. The latest delivery type and availability should always be retrieved from the Products endpoint before creating an order.

Insufficient balance

If the account does not have enough available balance, the order is rejected.
No order is created and the account is not charged.

Required scopes

Creating orders requires:
Reading orders and delivered content requires:
A typical ordering integration requests:

Order creation notes

Idempotency-Key is required for every POST /orders request.
  • Use the latest price returned by the Products endpoint as expected_unit_price.
  • Prices must be sent as strings with two decimal places, for example "10.00".
  • If the price or availability changes before the order is created, the request is rejected.
  • Reusing the same Idempotency-Key with the same request returns the original order without charging again.
  • Reusing the same Idempotency-Key with different order data returns an idempotency_conflict.
  • Delivered content should be requested only when content_available is true.