Endpoint
POST /events
Request body
external_id or email.
Use correlation when an identity can have more than one active business flow.
For checkout recovery, send the same checkout_id with both checkout.started
and checkout.completed; a correlated wait resumes only its matching checkout.
To create or merge an email contact while ingesting an event, opt in explicitly:
contact.mode: "upsert", event ingestion resolves existing contacts only.
Identity resolution order is:
contact_idexternal_id- normalized
email
Successful response
202 Accepted.
Idempotent replay response
If you reuse the sameidempotency_key, Sendrealm returns the existing event instead of creating a new one:
Reserved namespace
Customer-submitted events must not start withsendrealm..
Examples of Sendrealm system events:
sendrealm.mail.deliverysendrealm.push.opensendrealm.contact.updatedsendrealm.topic.subscribed
Guarantees and limits
- Event ingest is at-least-once.
- Idempotency is enforced by
project_id + idempotency_key. - Payload size is capped by the project’s configured event payload limit.
- Processing retries use exponential backoff before a dead-letter handoff.
- Ordering across separate events is not guaranteed.
Retention
- Default event retention is 90 days.
- Retention windows can be adjusted through backoffice-managed project automation settings.