Rate limits
This page describes how much usage data you can send to the Event API and what happens when you exceed the limit. Read it before you size your ingestion pipeline or plan a backfill.
Default limit
The limit counts events, not requests. You can reach it with single-event requests: there is no need to batch events to stay within the limit. Batching through POST /v1/events/ingest-list is supported when it suits your pipeline; each event in a batch counts towards the limit.
A batch request holds at most (by default) 50 events. Larger batches are rejected; split them into several requests.
Test and live are separate environments with separate limits. Load testing in test does not consume your live capacity, but at 1,000 events per second it cannot reproduce live throughput either.
Need more than 10,000 events per second sustained in live, or planning a large backfill? Contact Solvimon support with your expected peak and sustained volumes. Limits are raised per platform.
Exceeding the limit
When you send events faster than your limit, the API answers with 429 Too Many Requests and a Retry-After header that gives the number of seconds to wait. Events in a rejected request are not stored.
A throttled request is safe to resend unchanged. Event idempotency is based on the event reference, so a resent event is never counted twice. See Idempotency.
Recommended client behaviour
- Store each event locally before you send it, and only mark it as delivered after a
201 Created. - On a
429, wait for the number of seconds inRetry-After, then resend. Without the header, back off exponentially starting at one second. - Spread traffic over time where you can. Sustained throughput below the limit is more reliable than short bursts at the limit.
- Log the
X-REQUEST-IDresponse header on errors so Solvimon support can trace a request.
Example
A single event per request, which is the recommended pattern:
See Event ingestion API for the full event format and best practices.