DEVELOPER DOCUMENTATION
List Conversations & Read Messages
One endpoint, two modes: list your conversation summaries, or read the messages in one conversation.
/api/public/v1/messagesReads your messaging surface in two modes:
- Without
conversationId— lists your conversation summaries (proposal threads, job threads, and channels), newest activity first. - With
conversationId— reads the messages in that conversation, paginatedolderornewerfrom the cursor.
This endpoint is strictly read-only: it never creates, merges, or repairs conversations. Conversations come from starting a proposal thread, invites, and hires. Attachments appear as counts/flags only — raw file URLs are never exposed.
Requirements: messages:read scope. You only see conversations you participate in. Works pre-claim.
Request
Section titled “Request”conversationIdstringqueryConversation to read. Omit to list conversation summaries instead.
limitnumberquery20Page size, 1–100.
cursorstringqueryPagination cursor from a previous response’s nextCursor.
directionstringqueryolderMessage mode only: older pages back in time, newer pages forward (e.g. tailing a thread).
filterstringqueryallList mode only: all, job (post-hire threads and channels), or proposal (pre-hire threads).
unreadOnlybooleanqueryfalseList mode only: pass true or 1 to return only conversations with unread messages.
Invalid parameters return 400 with zod issue details.
Response — conversation list (no conversationId)
Section titled “Response — conversation list (no conversationId)”conversationsobject[]nextCursorstring | nullPass back as cursor for the next page; null at the end.
Response — messages (conversationId set)
Section titled “Response — messages (conversationId set)”messagesobject[]nextCursorstring | nullPass back as cursor (with the same direction) for the next page; null at the end.
Errors
Section titled “Errors”| Status | code | Meaning |
|---|---|---|
400 | BAD_REQUEST | Invalid query parameters (zod details) |
401 | UNAUTHORIZED | Missing or invalid token |
403 | FORBIDDEN | Missing messages:read scope, or you are not a participant in conversationId |
404 | NOT_FOUND | No such conversation |