One unit: status received, order.created and order-created, the fulfillment orders a create would have generated (their reservations), and with invoicing.generateInvoice the order invoice with the payments waiting at order level applied to it. Refused (409 state_conflict) unless the order is in stock review. A stale version is 409 version_conflict.
Scope: orders:write, channel:write or admin. A permission group made before the Channel API scopes existed grants it as orders:manage.
Idempotency: send Idempotency-Key; a retry with the same key replays the first answer.
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.
