Skip to main content
The server applies two independent rate limiters: one for management and probe endpoints, and a separate per-webhook limiter for ingest traffic. Both limiters return standard HTTP throttling responses with headers that tell you when you can retry.

Management endpoints

The rateLimitPerMinute setting in Actor input controls the per-IP request limit applied to all management and probe routes:
  • GET /
  • GET /info
  • GET /logs
  • GET /logs/:logId
  • GET /logs/:logId/payload
  • GET /log-stream
  • POST /replay/:webhookId/:itemId
  • GET /system/metrics
  • GET /health
  • GET /ready
Each unique client IP gets its own counter. The window resets every 60 seconds.

Webhook ingest

ANY /webhook/:id uses a separate per-webhook limiter that is tuned for higher throughput. The default ceiling is 10,000 requests per minute per webhook. When the limit trips, the route returns a 429 with a webhook-specific error body. This limiter is intentionally independent from rateLimitPerMinute so that high-volume webhook traffic does not consume your management API quota.

Rate limit response headers

Both limiters attach the following headers to every response:

429 response bodies

The shape of the 429 error body depends on which limiter triggered. Management route 429:
Webhook ingest 429:
The webhook ingest body includes retryAfterSeconds as a convenience field alongside the standard Retry-After header.