429 gracefully.
What’s limited
Write calls (create, update, delete, rollback) are limited. Read calls (GET) are not. You can poll your deployments or your Frame status as often as you like.
Limits are per-user and per-endpoint: each write endpoint has its own 60-second bucket, keyed on your account (not on the token you use). So hitting the limit on one endpoint doesn’t block writes to others. Writes are limited conservatively; the exact thresholds are tuned over time based on usage patterns and aren’t part of our stability contract.
If you hit the limit
You’ll get back:Handling rate limits in your client
A well-behaved client:- Backs off on
429with a short exponential delay (e.g. 2s, 4s, 8s, capped at 60s). - Remembers the limit is per-user: all of your tokens count toward the same bucket, so spreading work across multiple Personal Access Tokens won’t raise your effective limit. Consolidating workers behind one client just avoids redundant retries.
- Logs the
internal_codeso rate-limit rejections are easy to tell apart from other failures.
