Messages

Update a message

Changed on

Replaces the markdown body of a message authored by the authenticated API-key workspace membership. Each accepted edit marks the message as edited and emits a message.updated ProductEvent to webhook and realtime subscribers. A message posted with a document card can replace that card by sending app_card; the server regenerates its text fallback. Attachments, thread placement, and authorship are fixed at create time and are not editable, and a message without a document card cannot gain one. Sending a body identical to the stored one is a no-op: the message keeps its revision and no event is emitted. Editing does not create new mentions or notifications.

patch/conversation-messages/{messageId}

Request

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

Path parameters

messageIdstring required

Message identifier.

Request body

markdown_contentstring required

Replacement message markdown content. Must contain renderable text unless app_card is sent: clearing a message body is not supported.

suppressed_link_preview_urlsstring[]

URLs to send as plain links: no link preview and no app card. Omit to leave the stored list unchanged.

Response

Updated message.

authorWorkspaceMembershipIdstring required

Canonical author workspace membership identifier. Matches legacy author_id during the compatibility window.

author_idstring required

Author workspace member identifier. Deprecated: read authorWorkspaceMembershipId instead.

author_namestring nullable required

Author workspace member display name.

contentstring nullable required

Message markdown content.

conversation_idstring required

Conversation identifier.

conversation_namestring nullable required

Conversation name.

created_atstring date-time required

Message creation timestamp.

idstring required

Message identifier.

image_urlsstring[] required

Image URLs extracted from the message.

replies_countinteger required

Number of thread replies.

thread_root_idstring nullable

Root message identifier when this message is a thread reply; null for a top-level message. Pass it to GET /conversation-messages/{messageId}/replies to read the thread. Absent on older deployments.

Example response

{
  "authorWorkspaceMembershipId": "01jzn7e61x3a7v9h2r7t2m3q4p",
  "author_id": "01jzn7e61x3a7v9h2r7t2m3q4p",
  "conversation_id": "01jzn7e61x3a7v9h2r7t2m3q4p",
  "created_at": "2026-05-14T08:00:00.000Z",
  "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"
    }
  },
  "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