Auth. HMAC v1 or bearer token — see Authentication.
Status. Live · Idempotent: Yes (read-only).
{id} is the chat_id, not a message_id. Chert combines saved conversation rows with durable inbound event rows so recent inbound messages still appear if a best-effort conversation append was missed. has_more is true if older messages were truncated. If the chat has no conversation yet, returns an empty array.
Request
GET /api/v1/chats/{id}/messages
Response
id values are opaque. For messages returned by this endpoint, pass
the listed id to message-scoped actions such as
POST /api/v1/messages/{id}/react.
Path parameters
string
required
Chat identifier — the
chat.id returned by POST /api/v1/chats. Do not pass message.id or convo_id here.Response fields
object[]
Array of message rows, oldest first. Capped at the 200 most recent messages.
object
Tapback reactions on this message; omitted when there are none.
from_us is the reaction your side sent via POST /api/v1/messages/{id}/react; from_them is the other side’s reaction to your message. Values are canonical tapback keys: love, like, dislike, laugh, emphasize, question.boolean
true when the underlying conversation has more than 200 messages and only the most recent 200 are included in this response. Cursor pagination on this endpoint is not yet supported.Errors
See the full error code reference.

