Base URL
/api prefix. Paths start straight at the resource:
Store scoping
Nearly every path begins/stores/{storeId}/…, because almost everything belongs to a store rather than to your account. GET /user returns your account with its stores, and each store’s id is the {storeId} used everywhere else.
An account can hold several stores, so treat the store ID as a required piece of configuration in your integration, not something to hardcode once and forget.
IDs
UUIDs, in the standard hyphenated form:Dates
ISO 8601, in UTC:dateFrom>=2026-01-15.
Enums
Sent and returned as integers, not names. A product’s visibility is0, not "Public".
Enums & Constants
Every enum value the API accepts and returns.
Money
Decimal values in the store’s own currency, withcurrencyCode on the store telling you which. There’s no minor-unit convention to decode: 29.99 means 29.99.
Amounts a buyer paid can differ from the order total on split payments, and crypto orders carry the amount actually received - check both rather than assuming.
Paging
List endpoints also take
filters and sorts.
Filtering & Sorting
Operators, combining conditions, sorting and paging.
Fair use
Requests are rate limited. On a429, back off and retry with increasing delays, and cache anything that doesn’t change often.
If you’re polling for order updates, use webhooks instead. They’re signed, logged and retried, and they’ll reach you sooner than any poll interval you’d be comfortable running.