---
title: "Send message"
method: POST
path: "/messages"
tags: ["Messages"]
---

# Send message

`POST /messages`

This endpoint allows you to send a message as a business, in an existing
conversation.

The supported content types when sending messages are :
- Text
- Image
- Video
- Audio
- Document

⚠️ Due to underlying channel limitations, some media content_types are not
supported on all channels :
<table>
  <thead>
    <tr>
      <th scope="col">Channel</th>
      <th scope="col">Image</th>
      <th scope="col">Video</th>
      <th scope="col">Audio</th>
      <th scope="col">Document</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Facebook</th>
      <td>✅</td>
      <td>✅</td>
      <td>✅</td>
      <td>✅</td>
    </tr>
    <tr>
      <th scope="row">Instagram</th>
      <td>✅</td>
      <td>✅</td>
      <td>✅</td>
      <td>❌</td>
    </tr>
    <tr>
      <th scope="row">SMS</th>
      <td>❌</td>
      <td>❌</td>
      <td>❌</td>
      <td>❌</td>
    </tr>
    <tr>
      <th scope="row">Whatsapp</th>
      <td>✅</td>
      <td>✅</td>
      <td>✅</td>
      <td>✅</td>
    </tr>
  </tbody>
</table>

When dealing with media messages (`Image`, `Video`, `Audio`, `Document`), there are some
additionnal file type and file size limitations.
- Image size should not exceed <strong>5 MB</strong>.
- Video size should not exceed <strong>16 MB</strong>.
- Audio size should not exceed <strong>16 MB</strong>.
- Document size should not exceed <strong>100 MB</strong>.

For optimal support, you should target the following file types :
- Image : `jpeg`, `png`.
- Video : `mp4`.
- Audio : `aac`, `mp4`.
- Document : `xls`, `xlsx`, `docx`, `pdf`, `ppt`, `pptx`.     

A successful HTTP response to this endpoint (code 200) does not necessarily mean that the
message has been correctly delivered to the consumer, only that it has been created on
Partoo.
To ensure that the message has been delivered successfully, we recommend subscribing to the
[Message Updated](/api-reference/webhooks-events/message-updated) Webhook, and checking that the `status` field
of the message has switched to `Success`.

If the answer has failed to be sent, you can send it again by using the
[/retry endpoint](/api-reference/messages/retry-send-message)

## Request body

- union
  - PostTextMessage
    - `conversation_id` integer, required — The id of the conversation
    - `content_type` 'Text', required
    - `content` string, required — The text to send
  - PostImageUrlMessage
    - `conversation_id` integer, required — The id of the conversation
    - `content_type` 'Image', required
    - `url` string, required — The url of the image to send
  - PostAudioMessage
    - `conversation_id` integer, required — The id of the conversation
    - `content_type` 'Audio', required
    - `content` object
      - `url` string — The url of the audio to send
  - PostVideoMessage
    - `conversation_id` integer, required — The id of the conversation
    - `content_type` 'Video', required
    - `content` object
      - `url` string — The url of the video to send
  - PostDocumentMessage
    - `conversation_id` integer, required — The id of the conversation
    - `content_type` 'Document', required
    - `content` object
      - `url` string — The url of the document to send

## Response `200`

OK

- object
  - `status` 'success'
  - `message_id` integer

## Other responses

- `401` — You are not authenticated
- `403` — You are not allowed to perform this action

---

[API](https://skmtc.net/partoo/apis/partoo-rest-api.md) · [All operations](https://skmtc.net/partoo/apis/partoo-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/partoo/partoo-rest-api/versions/3652d8b1a8b3/schema)
