Skip to main content
The Merchant API V2 lets merchants, scripts, and integrations interact with a Take App store through a clean, predictable REST contract. It is the recommended REST API for all integrations. V2 lives under /api/v2/* and is designed for long-term stability.
The V1 Platform API (/api/platform/*) and its Svix-based webhooks were retired on July 13, 2026. All integrations must use V2.

Conventions

  • Naming: every JSON field is snake_case.
  • Money: integer values in the smallest currency unit (e.g. cents). No human-formatted strings. Decimals vary by currency — see Amounts & Currencies.
  • Phone: international, digits only, no leading +.
  • Order number: the raw counter integer as a string. No prefix/suffix.
  • Errors: structured { error: { type, code, message, param?, request_id } }.
  • Lists: cursor-paginated { object: "list", data, has_more, next_cursor }.

Authentication

All requests require an authenticated Merchant API token. Pass it in the Authorization header using the Bearer scheme.
  • 401 authentication_error — missing or invalid token.
  • 403 permission_error — reserved for future scope checks.

Idempotency

For safe retries on POST requests, pass an Idempotency-Key header. Repeated requests with the same token, route, and key return the same response within 24 hours.

Pagination

List endpoints return:
Pass the returned next_cursor value as the cursor query parameter on the next request. Default limit is 25; max 100. Message templates are a small, curated set, so /api/v2/message_templates returns them all in one page — narrow the result with its filters instead of paging.

Errors

All errors share one envelope:
Every response includes an x-request-id header that matches error.request_id.

Rate limits

Each API key can make up to 600 requests per minute. Over the limit, requests return 429 with a Retry-After header giving the seconds until you can retry. List endpoints paginate with cursor only. Pass next_cursor from the previous response; a page parameter returns 400.

Resources

  • Store — /api/v2/me
  • Products — /api/v2/products (see Working with products)
  • Categories — /api/v2/categories
  • Customers — /api/v2/customers
  • Orders — /api/v2/orders
  • Inventory items — /api/v2/inventory_items
  • Messages — /api/v2/messages
  • Message templates — /api/v2/message_templates