Ingest typed first-party events
Ingest typed first-party events (email, calendar, conversation_message,
page, issue, …) from a custom connector. Use conversation_message for
chat messages and message exports (iMessage, WhatsApp, assistant
conversations, …); its payload is validated against the
conversation_message evidence schema. message is deprecated: it is
Slack-shaped and stores your data as Slack messages. Connector- and
per-item metadata are merged and attached to each event under
event.metadata (item wins on key conflict).
Authorizations
Pass your pk_live_... API key as a Bearer token.
Path Parameters
Body
Events to ingest, at most 500 per request. Chunk larger loads into multiple requests.
1 - 500 elementsRe-process items even when their content is byte-identical to what was previously ingested for the same external_id. Without this, unchanged re-pushes are acknowledged but skipped (reported in unchanged).
Response
Successful Response
Always 'accepted' (a fully-rejected ingest returns 402).
"accepted"
Number of events accepted.
1
external_id of each accepted event, in submission order. Useful for callers that want to look up the resulting canonical doc.
Items refused at admission on a partial-accept (some over a tier quota). Empty on full accept; a fully-rejected ingest returns 402 instead.
external_id of each accepted item whose content was byte-identical to the previously ingested version and was therefore not re-processed. Pass force=true to override.