Skip to main content
Every hard bound the API enforces on a request. Exceeding one is a 400 with { "error": "Invalid request data" } unless the table says otherwise.
The 8 MiB cap is on encoded bytes, not characters. A stock-append text well under its 5,000,000-character limit can still 413 once non-ASCII content is UTF-8 encoded. See Appending stock.

Expiry windows

Invoice email limits

Emailing an invoice is rate-limited at three levels — per invoice, per store over a rolling 24 hours, and platform-wide. A refusal is a 429 carrying retryAfterSeconds and a matching Retry-After header when the block is a cooldown you can wait out. Check email.canSend on the invoice rather than probing. Details in Emailing an invoice.