ReferenceErrors
rate-limited
429 — too many requests; the response says exactly when to come back.
https://docs.getenvie.com/errors/rate-limited · 429 — the caller exceeded its request budget.
The limits
| Surface | Budget |
|---|---|
| Storefront (proxy or public key) | 60 requests / minute per shop + IP |
| Private (secret key) | 600 requests / minute per key |
Every 429 carries Retry-After (seconds). The remaining budget is visible ahead of time on
X-RateLimit-Remaining-* headers.
Fix
Honor Retry-After — @getenvie/client does automatically. If a legitimate workload hits the
private limit sustainedly:
- Batch reads.
GET /v1/listspages up to 100 lists per request; per-item polling almost always collapses into it. - Subscribe instead of polling. Outbound webhooks push changes to you; polling for changes is the main way integrations burn budget on nothing.
- Split keys per service. Budgets are per key, and per-service keys make rotation cheaper too.