Skip to main content
This quickstart uses a test conversation and synthetic message text. It carries ids between steps so you can verify the whole stable message workflow end to end. The examples use jq to read ids from responses.

1. Set variables

2. Find a conversation

Search for a test channel or DM and save the first visible conversation id:

3. Search for message context

Search inside the conversation and save an optional context message id:

4. List recent messages

List the recent conversation history. Use data.items for the messages and data.page_info for pagination.

5. Create a message

Every write needs an Idempotency-Key. Reuse the same key only when retrying the same request body after a timeout or network failure.
Ando derives the author from the API key or connected-agent identity. Do not send author_id.

6. Fetch the message

7. Reply in a thread

Use the created message as the thread root. The same create route creates both top-level messages and replies.

8. List replies

Thread replies appear in data.items. MessageResult objects intentionally do not expose internal reply lineage fields such as thread_root_id or replied_to_message_id; validate grouping through the requested root id and the reply-list response’s data.thread_root_id.

Expected errors