Listing a conversation's messages
Lists the conversation's messages, newest first, with cursor pagination. Load the first page to show
the latest messages, then follow links.next for older ones.
Authenticate with the participant's token, not the API key. A token of a visitor outside the conversation
gets 403.
Only what the visitor sees is listed: the visitor's messages, the agent's replies and files the agent
shared. A file that no longer exists keeps its place with url set to null. File URLs are signed and stop
working at expires_at; list the messages again to get new ones.
When a scheduled task runs, it runs in a child conversation, and the parent conversation gets a message of
type conversation pointing to it through conversation_id. List the child's messages with this same
endpoint and the same token. A child conversation is a record of the run, so sending a message to it fails
with 422.
participantTokenAuthorizationBearer <token>A participant's token, from the conversation's _embedded.participants, sent as
Authorization: Bearer <token>. Used to send and list messages as that participant, in every conversation
they take part in. It lasts 90 days.
conversation*stringThe conversation's id.
uuidper_page?integerHow many messages to return.
1 <= value <= 10020cursor?stringThe cursor of the page to load. Take it from links.next/links.prev or meta.next_cursor.
A page of messages, newest first.
application/json- response
data*array<|||>links*meta*curl -X GET 'https://api.rundispatch.ai/v1/conversations/497f6eca-6276-4993-bfeb-53cbbbba6f08/messages'{ "data": [ { "id": "0199d2f4-1c4e-7a1b-9e0e-3b1f5c6d7e80", "role": "agent", "type": "file", "content": "", "file": { "name": "menu.pdf", "mime_type": "application/pdf", "url": "https://files.rundispatch.ai/menu.pdf?signature=4f9c2e7a", "preview_url": null, "download_url": "https://files.rundispatch.ai/menu.pdf?download=1&signature=4f9c2e7a", "expires_at": "2026-10-13T09:00:00+00:00" }, "failed": false, "created_at": "2026-10-13T08:00:05+00:00" }, { "id": "0199d2f4-1a2b-7c3d-8e4f-5a6b7c8d9e0f", "role": "agent", "type": "text", "content": "Here's our menu.", "failed": false, "citations": [ { "url": "https://docs.example.com/menu", "title": "Our menu" } ], "created_at": "2026-10-13T08:00:04+00:00" }, { "id": "0199d2f4-0f1e-7d2c-9b3a-4c5d6e7f8091", "role": "user", "type": "text", "participant_id": "0199e4a0-5b6c-7d8e-9f01-23456789abcd", "content": "Show me the menu", "context": [ { "label": "Page", "description": "Page the visitor is on", "value": "/menu" } ], "created_at": "2026-10-13T08:00:00+00:00" } ], "links": { "first": null, "last": null, "prev": null, "next": "https://api.rundispatch.ai/v1/conversations/0199d2f4-0a1b-7c2d-8e3f-405162738495/messages?cursor=eyJpZCI6MX0" }, "meta": { "path": "https://api.rundispatch.ai/v1/conversations/0199d2f4-0a1b-7c2d-8e3f-405162738495/messages", "per_page": 20, "next_cursor": "eyJpZCI6MX0", "prev_cursor": null }}