Rate limits
Requests are rate-limited per shop, using the same token bucket as AI / Agent access:
- Bucket capacity: 60
- Refill: 1 token per second
- Each API call consumes 1 token — reads and writes cost exactly the same
When the bucket is empty, the API returns 429 RATE_LIMITED with a Retry-After
header (seconds).
Staying within the limit
Section titled “Staying within the limit”- Use the bulk endpoints. Every line-item and lifecycle endpoint takes a list, so adding, updating, confirming, or receiving 40 lines is one token, not 40. A loop over single items is the fastest way to empty the bucket.
- Don’t parallelise against one shop. The data store is single-threaded per shop — concurrent requests don’t complete faster and burn tokens. Issue calls sequentially.
- Page efficiently. Use
limit=50and follow thecursorrather than many small pages. - Back off on 429. Wait the
Retry-Afterinterval and retry the same request.