---
title: "Send a message"
method: POST
path: "/conversations/{id}/messages"
tags: ["Conversation"]
---

# Send a message

`POST /conversations/{id}/messages`

Sends a message to a specific conversation and returns the sent message info.

## Path parameters

- `id` string, required

## Request body

- object
  - `text` string, required — The message text.
  - `medias` ConversationManagerMedia[], required
    - `id` string, uuid — The unique identifier of the media.
    - `customer_id` string, uuid — The unique identifier of the customer. Returned from the `GET /customers` response.
    - `type` 'image' | 'video' | 'audio' | 'file' | 'location' | 'sticker' | 'template' | 'imagemap' | 'flex' — Type of the media.
    - `filename` string — Filename of the media.
    - `tm_create` string, date-time — Timestamp when the media was created.
    - `tm_update` string, date-time — Timestamp when the media was last updated.
    - `tm_delete` string, date-time — Timestamp when the media was deleted.

## Response `200`

- ConversationManagerMessage
  - `id` string, uuid — The unique identifier of the message.
  - `customer_id` string, uuid — The unique identifier of the customer. Returned from the `GET /customers` response.
  - `conversation_id` string, uuid — The unique identifier of the conversation. Returned from the `GET /conversations` response.
  - `direction` 'outgoing' | 'incoming' — Direction of the message (incoming or outgoing).
  - `status` 'sending' | 'sent' | 'failed' | 'received' — Status of the message.
  - `reference_type` 'none' | 'call' | 'campaign' — Type of reference associated with the message (e.g., call, campaign).
  - `reference_id` string, uuid — The unique identifier of the referenced resource. The actual resource type is determined by reference_type. Returned from the corresponding resource endpoint.
  - `text` string — The message content.
  - `medias` ConversationManagerMedia[] — List of media associated with the message.
    - `id` string, uuid — The unique identifier of the media.
    - `customer_id` string, uuid — The unique identifier of the customer. Returned from the `GET /customers` response.
    - `type` 'image' | 'video' | 'audio' | 'file' | 'location' | 'sticker' | 'template' | 'imagemap' | 'flex' — Type of the media.
    - `filename` string — Filename of the media.
    - `tm_create` string, date-time — Timestamp when the media was created.
    - `tm_update` string, date-time — Timestamp when the media was last updated.
    - `tm_delete` string, date-time — Timestamp when the media was deleted.
  - `tm_create` string, date-time — Timestamp when the message was created.
  - `tm_update` string, date-time — Timestamp when the message was last updated.
  - `tm_delete` string, date-time — Timestamp when the message was deleted.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `403` — Insufficient permission (PERMISSION_DENIED).
- `404` — Resource not found (NOT_FOUND).
- `500` — Internal error (INTERNAL).

## Changes

- **2026-05-30** `995c56ba9219` — 8 warning, 7 info
  - removed the optional property `destination` from the response with the `200` status
  - removed the optional property `source` from the response with the `200` status
  - added the new `call` enum value to the `reference_type` response property for the response status `200`
  - added the new `campaign` enum value to the `reference_type` response property for the response status `200`
  - …11 more

[Change history](https://skmtc.dev/voipbin/apis/voipbin-api/changes/conversations/:id/messages/post.md)

---

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