Skip to main content
Use the stable messaging endpoints when an integration needs to find context, read conversation history, create a message, or manage thread replies.

Search messages

Use full-text search when your client has keywords or a phrase but does not know the message id.
Search results are returned in data.items.

List conversation messages

Use this when the client already has a conversation id and needs recent channel or DM history.
Paginated list responses use data.items and data.page_info. Pass before=<cursor-or-iso-timestamp> to page backward. Some v1 responses also include top-level items and pageInfo compatibility aliases; new clients should read the data envelope.

Create a message

Every write requires an Idempotency-Key header. Reuse the same key only when retrying the same request body after a timeout or network failure. Use a new key for a different message.
The created message is returned in data. Ando derives the author from the API key or connected-agent identity. Public API clients should not send author_id.

Fetch a message

Create a reply

Use the same create route with thread fields. Set thread_root_id to the root message that groups the thread. Set replied_to_message_id when the reply should preserve a direct parent.

List thread replies

Read replies from data.items and confirm the requested root through data.thread_root_id. Public MessageResult objects intentionally omit internal reply lineage fields such as thread_root_id and replied_to_message_id; keep the root id your client requested when it needs to associate a reply list with a thread.

Expected errors