Skip to main content
Moonshadow enforces rate limits per workspace to ensure stable performance for all customers. If your integration sends a high volume of requests, monitor the rate limit headers and implement backoff to avoid disruptions.

Rate Limit Overview

The default limit is 1,000 requests per minute per workspace. This applies across all API keys and integrations within a single workspace. Burst traffic that exceeds this limit is throttled. After exceeding the limit, your requests will receive a 429 Too Many Requests response until the counter resets.

Rate Limit Headers

Every API response includes headers that show your current rate limit status:
integer
required
The maximum number of requests allowed per minute for this workspace. Default is 1,000.
integer
required
The number of requests remaining in the current minute window.
integer
required
A Unix timestamp indicating when the rate limit window resets and your quota is fully restored.

Example Response Headers

Reading Rate Limit Headers

You can read these headers after any API call to decide whether to pace your requests:

Handling 429 Responses

If you exceed the limit, Moonshadow responds with 429 Too Many Requests and includes a Retry-After header:
Use exponential backoff with a jitter to retry safely:

Burst Limits and Best Practices

While the sustained limit is 1,000 requests per minute, short bursts above this threshold may still trigger throttling depending on traffic patterns. To stay within limits:
  • Batch operations where possible instead of sending many individual requests.
  • Cache responses for configuration and metadata that change infrequently.
  • Use webhooks to receive updates instead of polling the API.
  • Queue outgoing requests and pace them evenly across the minute window.
For questions about raising limits for high-volume workloads, contact support.