Skip to main content
The DevHelm API enforces rate limits per organization using a sliding-window algorithm. Limits vary by plan and are shared across all API keys in the same organization.

Limits by plan

Response headers

Every authenticated API response includes rate limit headers:

When rate limited

When you exceed the limit, the API returns 429 Too Many Requests with a Retry-After header and the standard error envelope:
The Retry-After header value is in seconds. The message field references the reset timestamp for human readability.

Retry strategy

Best practices

Check the X-RateLimit-Remaining header in responses and throttle proactively when it gets low, rather than waiting for 429 errors.
Instead of polling for status changes, use platform webhooks to receive real-time event notifications.
For data that doesn’t change frequently (service catalog, monitor configurations), cache responses locally and refresh periodically.
Instead of creating monitors one at a time via API calls, define them in devhelm.yml and deploy in a single operation.

Unauthenticated rate limits

Public endpoints (service catalog, status data) have a separate IP-based rate limit of 60 requests per minute per IP address. This limit is independent of the organization-level limit.

Check your current limits

API
The response includes rate limit info for your API key: