Documentation Index
Fetch the complete documentation index at: https://segmentflow.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
events.track records one identified backend business event as a durable UserEvent. Segmentflow resolves the Profile, applies any profile.properties as durable Profile Properties, stores the one-event data payload, and evaluates active Journeys that listen for the event.
Journey-triggered email templates can reference event payload values under /event/*, for example { "$state": "/event/orderId" }. Event data is not copied into Profile Properties and remains separate from EmailSend /data/* state.
Use this for facts like order.created, trial.started, or payment.failed when Journey configuration should decide whether to enroll the Profile.
If you already know that you need one expected email, use Emails. If you are choosing between email sending, event-triggered Journeys, direct Journey trigger, Broadcasts, and Newsletter Issues, start with Which API should I use?.
events.track uses API Keys with events:write. The WriteKey-authenticated
Ingest API remains separate for browser SDKs, plugins, and Segment-compatible
userId / properties traffic.Track an event
Request fields
| Field | Purpose |
|---|---|
event | Free-form business event name. Unknown names are accepted. |
profile.email | Email identity used to resolve or create the Profile. |
profile.externalId | Caller-owned Profile identifier. |
profile.properties | Durable Profile Property updates. Not copied into the event payload. |
data | One-event payload exposed to Journey email templates under /event/*. |
redactedDataPaths | Optional /event/* paths to redact before durable retention. |
referenceId | Safe caller correlation id. Not used for idempotency. |
occurredAt | Event time. If omitted, Segmentflow uses receipt time. |
Idempotency-Key. Retrying the same key with the same request replays the original response. Reusing it with different request parameters returns 409 Conflict.
Response
events.track returns 202 Accepted after Segmentflow durably accepts the event.

