Limits are counted by user ID, not Token. All Tokens owned by one user share the same allowance. Submit and query buckets are independent. Business failures consume allowance; requests rejected with
429 do not. One batch-status request counts once and may contain at most 100 task IDs.
Every limited response can include:
429
503 with code rate_limit_unavailable. Status queries are allowed during this degradation so existing jobs remain observable.
503
Retry-After, and use exponential backoff after 429 or 503.
See Task Webhooks.