Skip to main content

Base URLs

Authorization

The public API does not use a browser API key. Private admin and integration credentials belong only in trusted server or CLI environments.

Start an ordering session

The response contains cart and, for a newly created guest cart, cartAccessToken. Save the token in tab-scoped storage. The response ETag contains the cart revision.

Mutate the cart

Use the returned ETag for the next mutation. A stale revision returns 409 CART_CONFLICT; reload current cart state before offering a retry.

Checkout

The order result is one of payment_pending, order_pending, completed, or failed. Only completed is success.

Customer authentication

Login initiation includes only merchantSlug and the email/phone identifier. OTP verification repeats both values and may include customer profile fields after identity proof, binding the resulting session to one merchant.

Error envelope

Common statuses are 400 validation, 401 invalid capability/session, 404 hidden or missing resource, 409 state/revision conflict, 429 rate limit, 503 dependency unavailable, and 500 internal error.

SDK

Prefer the SDK for TypeScript storefronts because it owns capability headers, revisions, idempotency defaults, timeouts, and typed errors.