Skip to main content
GET
Get an event

Authorizations

Authorization
string
header
required

An API key of one app, sent as Authorization: Bearer <key>. Keys start with fk_test_ (test mode: sandbox senders and test data only) or fk_live_ (live mode). Keep live keys on your server; never ship them in an app or page.

Headers

Flow-Version
string<date>

The API version to use, as a date. Without it, the version pinned to your app when it was created is used.

Example:

"2026-11-01"

Path Parameters

event_id
string
required

The event's ID. An event ID, evt_ and a ULID.

Pattern: ^evt_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"evt_01JB8ZE5N7Q9S1V3X5Z7B9D1E3"

Response

The event.

One entry in your app's log. type says what happened and selects the shape of data. conversation is set for every event that happened in a conversation (all but sender.status_changed and template.status_changed).

id
string
required

An event ID, evt_ and a ULID.

Pattern: ^evt_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"evt_01JB8ZE5N7Q9S1V3X5Z7B9D1E3"

created_at
string<date-time>
required

When the event was created. Events are ordered in the log by commit, not by this time.

app
string
required

An app ID, app_ and a ULID.

Pattern: ^app_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"app_01JB8Z0A1C3E5G7J9K1M3P5R7T"

livemode
boolean
required

Whether the event belongs to live mode.

timing
object
required

When the event moved through Flow, to measure Flow's overhead (delivered_at minus received_at).

type
enum<string>
required

Always message.received.

Available options:
message.received
data
object
required

The message the event is about.

conversation
object

The conversation an event happened in, inlined so most handlers need no extra call.