Paginated messages for a conversation ordered by send time. Read-only — no side effects on unread counts.
sent_at ASC. Defaults to 50 per page, max 200. No side effects — unlike getConversation, this does not reset unread_count.
Conversations and their messages are the inbox surface for campaign replies — they are created and kept in sync by inbound webhooks (Unipile message_received, AgentMail message.received).
/api/conversations/{id}/messages with the send verb. See Send a conversation message to dispatch an outbound reply through Unipile (LinkedIn) or AgentMail (email).unread_count. If you want to mark messages as read, fetch getConversation instead.Pagination. Defaults to 50 per page, max 200. Use the returned hasMore flag plus offset to walk the full thread.Ordering. Messages are returned oldest-first (sent_at ASC), matching how they render in the inbox UI. The caller can reverse client-side if needed.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Conversation UUID. Must be owned by the authenticated user — other callers get 404.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$1-indexed page number. Defaults to 1.
0 < x <= 9007199254740991Page size. Defaults to 50, max 200.
0 < x <= 200Paginated messages for the conversation.
Messages ordered sent_at ASC (oldest first). message_type includes "message" and provider-specific events like "connection_request" for LinkedIn.
Total messages in the thread across all pages. Use for pagination UI.
0 <= x <= 90071992547409910 < x <= 90071992547409910 < x <= 9007199254740991