Run up to 100 v1 operations as one request (non-atomic)

Each operation is dispatched to its own route with the caller identity, so scopes, rate limits (every operation counts), idempotency keys, kill switches and transactions apply per operation. One result per operation, in order. atomic: true is refused today (validation_failed, detail code atomic_unsupported).

Scope: channel:read, channel:write, orders:write, customers:write, products:write, shipments:write, invoices:write, payments:write, fulfillment:write, purchase-orders:write or admin. A permission group made before the Channel API scopes existed grants it as orders:manage or invoices:manage or payments:manage or fulfillment-orders:manage.

Idempotency: not keyed; the request itself is safe to repeat.

Rate limit: write class, 1,200 requests per minute per tenant by default (read class 6,000). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a refusal is 429 rate_limited with Retry-After.

Body Params
operations
array of objects
required
length between 1 and 100
operations*
string
required
length between 1 and 64

Caller-chosen, unique within the batch; echoed on the result.

enum
required

The HTTP method of the operation.

string
required
length between 4 and 2048
^/v1/[A-Za-z0-9._~:/%@!$&'()*+,;=?-]*$

A v1 path as served, query string included (/v1/orders, /v1/customers/ext:...). Never /v1/batch.

string

The JSON body of the operation (not on GET).

string
length between 7 and 50

Sent as the operation Idempotency-Key (PRD 5.4).

boolean
Defaults to false

Reserved (PRD 5.7, D6). true is refused today with validation_failed / atomic_unsupported.

Responses

Language
Credentials
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json