Public API v2: Rate limits
Each store has a budget of 600 points that refills at 10 points a second, shared by all its keys. Each request spends its cost; when the budget is short, the request is refused at once with 429 and Retry-After.
| Request | Cost |
|---|---|
Any GET |
10 |
| Create, replace, change or delete one rule | 11 |
bulk-upsert, bulk-delete |
ceil(10 + 0.4 × rules) |
| Price List create / replace | ceil(10.4 + 0.1 × items) |
| Price List item routes | ceil(10 + 0.1 × items) |
| Upload | 20 |
- A request costing more than 600 points is refused with
422and costs nothing. - At most 10 requests of a store run at the same time; the 11th gets
429withdetails[0].field = "concurrency"and costs nothing. - Requests refused at the key, store or permission check cost nothing. A request that passes the budget and then fails still costs its points.
- Headers on every response that spent points:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset,X-RateLimit-Cost; the same numbers are inmeta.rate_limit, withrestore_rate. - To sync many rules, prefer bulk requests: 250 rules cost 110 points in one call instead of 2,750 in 250 calls.
- Public API v2: Authentication & keysCreate Public API v2 keys with per-module permissions, send them with every request, and keep them safe.
- Public API v2: Auto TagRules that tag customers and orders, add notes or mark a customer tax exempt when an event happens.
- Public API v2: Buy X Get YBuy X Get Y offers: what the customer buys, what they get, and the discount on it.
- Public API v2: Bulk & idempotencyCreate, replace or delete up to 250 rules in one Public API v2 request, and retry POST requests safely.