Skip to main content

Endpoint

Authentication

Send your organization API key as a bearer token. Quivly derives your organization from the key.
A missing or invalid key returns 401.

Request body

Send a batch of events. 1–1000 events per request.

Event fields

Example request


Idempotency

Sending the Idempotency-Key header makes retries safe. If a request with the same key has already been processed, Quivly replays the stored response instead of processing again, and adds the header Idempotency-Replayed: true.
This header is optional but recommended — use it whenever a network error might cause your client to retry.

Rate limits

Up to 1,000 requests per minute per organization. Exceeding the limit returns 429 with a Retry-After header (seconds to wait).

Verify mode and dry runs

Before you publish the configuration, every call is verify-only — events are resolved against your customers and reported, but nothing is stored. After publishing, you can still force a verify-only call by adding ?dry_run=true:

Response

A successful call returns 200 with a summary of what happened.
Before publishing (or with ?dry_run=true), the same call returns mode: "test", stored: false, inserted: 0, and each result’s written is false — confirming the events resolved but were not saved.

Response fields

A dropped (unmatched) event appears in errors like this:

Errors

Validation errors

When the payload is malformed, Quivly returns 422 and points to the exact field paths that failed: