Skip to main content
Task starts, continues, and executes are governed by your credit balance, not by a per-minute quota. A run that exhausts credits fails with 402, not 429; see Errors. Two surfaces have a quota, per account: Each status GET counts once against the read quota, including a long-poll request. Long-polls with wait can be held open concurrently up to 4 per user. When all four slots are in use, another request is served immediately as wait=0; it does not receive a rate-limit error.

The 429 body

retry_after is in seconds. The same value is sent as the Retry-After header.

Handling 429

Wait retry_after seconds, then send the same request again. A 429 is transient: the task, the file, and the task_id are all still valid, so the retry picks up where it left off. Use GET /task/{task_id}?wait=50 to wait for a status change instead of making frequent short polls, or use GET /task/{task_id}/stream for status events.

Credits

Check the balance any time:
Status responses also carry credit usage for the task, so you can attribute spend per run rather than only in aggregate.