Send events
Post conversations from a stack of your own.
Use this endpoint when your stack has no connector of its own, or when you built the sender yourself.
The request
One POST with an ingest key. Every batch here is read with the generic contract, whatever platform the conversation came from, so the next page is the one that sets out the event shape.
http
POST /ingest/v1/events
Authorization: Bearer ak_live_...
Content-Type: application/jsonThe body is one event, an array of events, or an object with an events array.
Batch size
One request carries up to 8 MiB. Above that we answer 413 and point you at bulk import, because a live batch is not a backfill.
One payload also carries at most 5000 events. A larger one is refused when we parse it, which is after the 202 has gone back, so split the batch before you send it.
What we send back
202, with the id we filed the body under. Nothing about scoring is in that answer. We parse and score after we have replied.
json
{ "status": "accepted", "raw_id": "..." }| 202 | Stored. Parsing and scoring happen after this. |
|---|---|
| 401 | The key is missing, revoked, or does not carry the ingest scope. |
| 413 | The batch is above 8 MiB. Send fewer events, or use bulk import. |
Read next
- Bulk import · Backfill history you already have.
- The generic contract · The shape to send when no adapter fits your stack.
- Every word we use · The plain phrase for each idea in the product, and the formal name behind it.