Rate limiting

Limits apply per organization. Exceeding them returns a 429 with the standard error envelope.

Limits

ScopePer minutePer hour
All v1 endpoints (default)1203,000

Both windows apply at the same time, counted across all API keys of your organization.

Avoid polling where you can

The recommended way to track runs is webhooks: final completion and review cancellation events are pushed to your endpoint, so most integrations never need to poll for final output — and never touch these limits for that stage.

If you do fall back to polling, use GET /transformations/{id} sparingly. It returns the current lifecycle state, failure payload, progress counters, review state, and fresh download URLs when output is available.

Handling 429 responses

A rate-limited request receives a 429 with the standard error envelope. Treat it as a signal to back off — exponential backoff with jitter works well. Spread bulk imports over time instead of bursting hundreds of runs at once.