Get one conversation
Endpoints
Get a conversation
Full timeline for one conversation: messages, no-reply expirations, label changes.
GET
Get one conversation
events[] is a discriminated-union timeline. The discriminator is
always type. Today the union includes:
| Type | What it is |
|---|---|
message | A message sent or received. Body, direction, snippet, timestamps. |
no_reply_expired | The no-reply timer fired without a reply. Carries waitedMs. |
label_added | A label was added (today, dashboard-only). |
label_removed | A label was removed. |
archived / unarchived | The conv was archived or unarchived. |
Snapshot, not subscription
This endpoint serves a fresh snapshot every call, off the materialized state inside the durable object that owns the conversation. There is no “give me the diff since last read” — and you don’t need one. The pattern we want you to use is:- Events stream tells you something changed on
convId X. - GET /conversations/:convId gives you the current state.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Identity handle, URL-encoded.
Example:
"alice.acme@inboxbase.ai"
Conversation id.
Pattern:
^conv_[0-9a-f]+$