---
title: "Send message to conversation"
method: POST
path: "/v1/conversations/{id}/messages"
tags: ["conversations"]
---

# Send message to conversation

`POST /v1/conversations/{id}/messages`

Sends a reply on the current conversation thread. Requires a token with write access and uses the active channel/thread behind the conversation.

## Path parameters

- `id` string, required — Canonical conversation id.

## Query parameters

- `workspace_id` string — Optional workspace override. If omitted, Conduit resolves the conversation's workspace automatically.

## Request body

- object — Request body for sending a message into an existing thread.
  - `body` string, required

## Response `201`

Conversation message sent

- object — Result returned after a message is accepted for delivery.
  - `data` object, required
    - `id` string, nullable, required
    - `workspace_id` string, required
    - `conversation_id` string, required
    - `ticket_id` string, nullable
    - `channel` string, nullable, required
    - `status` 'sent', required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conversation cannot be replied to
- `429` — Rate limit exceeded

---

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