API reference

Authentication

Every request carries a bearer key in the Authorization header. Keys are scoped per stream and can be rotated without downtime, the old key stays valid for one hour after rotation.

Endpoints

MethodPathPurpose
POST/v3/eventsPublish a single event or a batch
GET/v3/events/replayReplay a window by cursor
GET/v3/streamsList streams and retention
POST/v3/keys/rotateRotate an ingestion key

Publishing

Batches accept up to 500 events or 1 MB, whichever comes first. Events are acknowledged only after they are durable. Each event needs a stream, a type and a payload object.

FieldTypeNotes
streamstringTarget stream, created on first write
typestringDotted event name, for example order.paid
dataobjectFree form payload up to 64 KB
idempotency_keystringOptional, deduplicates retries for 24 hours

Replay

Cursors are opaque and stable. Passing a cursor twice returns the same window, which makes retries safe. A replay never affects the position of other consumers on the same stream.

Rate limits

PlanWrites/sRetention
Starter5007 days
Team5,00030 days
Scale50,00090 days

Errors

CodeMeaning
401Key missing, expired or out of scope
409Duplicate idempotency key
429Write rate exceeded, retry after the header value