Support Inbox

Reply to a member

curl -X POST https://api.subscriby.net/v1/support/conversations/$CONVERSATION_ID/messages \
  -H "Authorization: Bearer $SUBSCRIBY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"body": "Sorry about that. Here is a fresh invite link, valid for 24 hours."}'

Answers 201 with the created message. delivery_status is pending: the reply has been recorded and queued, not yet delivered. Poll the message back or subscribe to support.message.sent rather than treating 201 as proof of receipt.

Text only. Sending media as a reply is a dashboard-inbox feature; this API accepts a body of up to 4000 characters, the message ceiling on the connectors.

Send {"body": "...", "internal": true} to record a private note for your team instead. Private notes are never delivered to the member and raise no webhook event.

Add reply_to_message_id to quote an earlier message, the way a chat client shows a threaded reply. It must name a message in this conversation; quoting across threads is refused, because it would put one member's words in front of another.

post/v1/support/conversations/{conversation}/messages

Request

  • Base URL: https://api.subscriby.net
  • URL: https://api.subscriby.net/v1/support/conversations/{conversation}/messages
  • Auth: HTTP bearer

Path parameters

conversationstring uuid required

The thread, resolved by the route binder.

Headers

Idempotency-Keystring uuid required

A key unique to this operation, such as a fresh UUID. The same key replays the original 2xx response for 24 hours (with Idempotent-Replay: true), so a retry after a timeout never repeats the write; the same key with a different body is refused with 409.

Request body

bodystring required

The reply text, up to 4,000 characters, the message ceiling on the connectors. Text only; media replies are a dashboard feature.

internalboolean

True records a private note for the team instead of a reply: never delivered to the member and raising no event. Defaults to false.

reply_to_message_idstring uuid

An earlier message of this conversation to quote, the way a chat client shows a threaded reply. A message from another thread is refused.

Response

The recorded message.

Example response

{
  "data": {
    "id": "6c18f7a3-2e95-4d60-b47a-c093e5182b7f",
    "conversation_id": "9e042b6f-5d81-4c37-a920-7b3e18cf6d45",
    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
    "direction": "inbound",
    "author_kind": "contact",
    "type": "text",
    "source": "connector_chat",
    "delivery_status": "sent",
    "body": "My invite link expired before I could join",
    "attachments": [
      {
        "kind": "photo",
        "mime": "image/jpeg",
        "size": 84213,
        "width": 1280,
        "height": 720,
        "url": "https://static.subscriby.net/support/6c18f7a3.jpg"
      }
    ],
    "created_at": "2026-08-20T10:05:00Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.