---
title: "Send Message"
method: POST
path: "/conversations/{id}/messages"
tags: ["Conversations"]
---

# Send Message

`POST /conversations/{id}/messages`

Send a message in a conversation. The endpoint automatically detects the
conversation platform type and routes the message appropriately.

**Platform-specific behavior:**
- **Email**: Requires `sender_id`. Supports `subject`, `cc`, `bcc`, `attachments`, and `is_html`.
- **LinkedIn**: Only requires `message`. Message is queued for delivery via LinkedIn.
The message is queued for async delivery. A temporary message is created
immediately for optimistic UI updates, and the actual delivery happens
in the background.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `message` string, required — Message content (required for all platforms)
  - `sender_id` string, uuid — Sender/mailbox ID to send from (required for email conversations). Must be an active sender in your organization.
  - `subject` string — Email subject line (email only, defaults to "Re: {conversation title}")
  - `is_html` boolean — Whether the message is HTML formatted (email only)
  - `to` string, email — Override recipient email address (email only, auto-selected if not provided)
  - `cc` string[] — CC recipients (email only)
  - `bcc` string[] — BCC recipients (email only)
  - `attachments` object[] — Email attachments (email only)

## Response `201`

Message queued for delivery

- SendMessageResponse
  - `success` boolean
  - `request_id` string
  - `data` ConversationMessage
    - `object` 'message'
    - `id` string, uuid
    - `text` string, nullable
    - `html` string, nullable
    - `subject` string, nullable
    - `timestamp` string, date-time
    - `is_from_self` boolean
    - `is_read` boolean
    - `status` 'delivered' | 'pending' | 'failed'
    - `job_id` string, nullable
    - `conversation_id` string, uuid
    - `platform_type` 'email' | 'linkedin'
    - `sender` object, nullable
      - `id` string, uuid
      - `email` string, email

## Other responses

- `400` — Bad request (missing sender_id for email, etc.)
- `401` — Unauthorized - Invalid or missing API key
- `404` — Not Found - Resource does not exist
- `503` — Message queue unavailable

---

[API](https://skmtc.dev/supersend/apis/supersend-api.md) · [All operations](https://skmtc.dev/supersend/apis/supersend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/supersend/supersend-api/revisions/f0cbeaa12643/schema)
