Merchable APIReferenceGetting startedAuthentication & scopesOAuth for third-party appsDesignsPlacing an orderSyncing customersWebhooksPagination, errors & rate limitsVersioning & changelog

Authentication & scopes

Every request carries a Bearer credential in the Authorization header. Two credential types are accepted:

Credential Prefix For
Account API key mchp_ Your own integration with your own account. Created in Settings → Developer.
OAuth 2.1 access token mcho_ Third-party apps acting on behalf of many Merchable accounts.
Authorization: Bearer mchp_…

A missing or invalid credential returns 401 with a WWW-Authenticate challenge; a valid credential without the required scope returns 403.

Scopes

Each key or token carries a set of scopes. Choose the smallest set the integration needs.

Scope Grants
account:read Read the account profile
designs:read Read designs, their variants, unit prices and stock
shops:read Read shops, their designs and their collections
orders:read Read orders, shipments and order events
orders:write Quote, place and cancel orders
customers:read Read customers and their custom fields
customers:write Create and update customers and their custom fields
mcp Legacy umbrella scope used by MCP chat clients — implies everything

A :write scope implies its :read (orders:write → orders:read, customers:write → customers:read). Every operation in the reference lists the scope it needs. An order-placing integration typically needs designs:read and orders:write.

API keys

OAuth 2.1 (for apps)

Merchable is an OAuth 2.1 authorization server at https://app.merchable.co. Use it when your app acts for other Merchable accounts — a connector, plugin or agent your customers install. The full walkthrough with request and response examples is in OAuth for third-party apps, and every OAuth endpoint is listed under Third-party apps in the reference. In brief:

Your app's lifecycle

  1. Register once at POST /oauth/register with your name, website, logo, contact email, terms and privacy links, and callback URLs. No approval step: you get a client_id immediately, plus a one-time registration_access_token (and a client_secret for confidential clients, which must supply at least one contact email).
  2. Each of your users connects by approving the consent screen; you hold a token per connected account.
  3. Update your name, website, logo or callbacks any time with PUT /oauth/register/{client_id} using the registration token.
  4. Merchable reviews every registration and may suspend (reversible, grants kept) or revoke (permanent) a client that impersonates a brand, over-requests scopes or is reported by users. Status is returned in the registration and configuration responses.

Protocol

Use the access token exactly like an API key. The same scopes apply, and a missing scope is 403 with the required scope named in detail.