Errors
A failed request returns a non-2xx status and this envelope:
message says what went wrong. Some responses add fields: 402 and 403 responses carry an error_code, and 403 responses name the missing permission or the disabled service.
Status codes
Error codes
Every Core endpoint lists the permission it needs in its description. Storefront endpoints do not check role permissions.
Storefront errors
Storefront messages are written so that most can be shown to a shopper as they are.
Rate limits
Two limits apply, and both answer with 429.
- Per request rate, on every endpoint. Requests signed with a public key, or with no key, are limited to 10 a second from one IP address. Requests signed with a secret key are limited to 50 a second for each key, and 50 a second from one IP address. Short bursts above these rates are allowed. The response is
{"status": false, "message": "Too many requests"}. - Per shopper and per store, on Storefront writes. Requesting sign-in codes, signing in, creating a cart, checking out, looking up orders, reviewing, commenting, sending messages and subscribing are limited over a 15 minute window. The message says how long to wait.
If your server calls the Storefront API for many shoppers, sign the requests with a secret key and send each shopper’s address in the client-ip header, so they are not counted as one shopper.

