Messages

Create a conversation message

Changed on

Creates a message in a conversation using the authenticated API-key workspace membership as the author. With send_at, the message is scheduled instead and the response is 202 with the scheduled message: it is sent at that time, through the same scheduling the app uses, only if the key is still live and its member can still post there. send_at must be at least 5 minutes and at most 30 days ahead (400 invalid_send_at otherwise); a key holds at most 100 waiting messages (409 scheduled_message_limit_reached). Thread replies schedule the same way.

post/conversations/{conversationId}/messages

Request

  • Base URL
    https://api.ando.so/v1
  • URL
    https://api.ando.so/v1/conversations/{conversationId}/messages
  • Auth
    • API key in header x-api-key
    • or HTTP bearer

Path parameters

conversationIdstring required

Conversation identifier.

Headers

Idempotency-Keystring required

Idempotency key.

Required idempotency key for safely retrying this write.

Request body

markdown_contentstring nullable required

Message markdown content.

explicit_context_message_idsstring[]

Message identifiers to include as explicit context.

image_urlsstring[]

Image URLs to attach to the message.

file_idsstring[]

Ready file identifiers from the Files routes to attach to the message.

suppressed_link_preview_urlsstring[]

URLs to send as plain links: no link preview and no app card.

initiator_idstring nullable

Initiating workspace member identifier.

thread_root_idstring nullable

Thread root message identifier.

replied_to_message_idstring nullable

Immediate parent message identifier inside an existing thread. For the first reply to a root message, send thread_root_id only; if replied_to_message_id equals thread_root_id, the server normalizes it as the first reply.

call_root_idstring nullable

Call root identifier.

optimistic_idstring

Client optimistic identifier.

client_request_idstring nullable

Legacy body idempotency value. Public v1 clients should use the Idempotency-Key header.

author_idstring

Ignored legacy body author workspace member identifier. Deprecated: the authenticated API-key workspace member is always the author.

send_atstring date-time

Send the message later instead of now. An ISO 8601 timestamp with a UTC offset, at least 5 minutes and at most 30 days ahead. The response is then 202 with a scheduled message. Cannot be combined with app_card or initiator_id.

Response

Created message.

legacy_dataobject nullable

Legacy extended conversation message. New clients should read the standard data message result.

successboolean required

Compatibility command flag.

Example response

{
  "data": {
    "authorWorkspaceMembershipId": "01jzn7e61x3a7v9h2r7t2m3q4p",
    "author_id": "01jzn7e61x3a7v9h2r7t2m3q4p",
    "conversation_id": "01jzn7e61x3a7v9h2r7t2m3q4p",
    "created_at": "2026-05-14T08:00:00.000Z",
    "id": "01jzn7e61x3a7v9h2r7t2m3q4p",
    "attachments": [
      {
        "file_id": "01jzn7e61x3a7v9h2r7t2m3q4p"
      }
    ],
    "forward_source": {
      "source_created_at": "2026-05-14T08:00:00.000Z"
    },
    "replied_to": {
      "message_id": "01jzn7e61x3a7v9h2r7t2m3q4p"
    }
  }
}

Changes

    • info

      added the optional property / to the response with the status

    • breaking

      removed subschema #5 subschema #11 subschema #12 subschema #16 from the //// request property oneOf list

    • info

      added subschema #5 subschema #11 subschema #12 subschema #16 to the //// request property oneOf list