---
title: "Send a message"
method: POST
path: "/v2/messages"
tags: ["messaging"]
---

# Send a message

`POST /v2/messages`

Sends a direct message to a single recipient on the specified platform.

## Request body

- object
  - `accountId` string, required — Blotato id of the connected social account the message is sent from.
  - `target` union, required
    - object
      - `targetType` 'facebook', required — Send via Facebook.
      - `pageId` string, required — ID of the Facebook Page to send from.
      - `attachment` object
        - `type` 'button', required
        - `buttons` union[], required — Up to 3 call-to-action buttons attached to the message.
          - union
            - object
              - …
            - object
              - …
      - `commentId` string — Blotato comment ID. When set, the message is delivered as a private reply to that comment instead of a direct message.
      - `quickReplies` object[]
        - `title` string, required — Chip label shown to the recipient.
        - `payload` string, required — Message replied with on chip selection.
      - `responseType` 'RESPONSE' | 'UPDATE' | 'MESSAGE_TAG'
      - `tag` string — Required when responseType is MESSAGE_TAG (e.g. HUMAN_AGENT).
    - object
      - `targetType` 'instagram', required — Send via Instagram.
      - `attachment` object
        - `type` 'button', required
        - `buttons` union[], required — Up to 3 call-to-action buttons attached to the message.
          - union
            - object
              - …
            - object
              - …
      - `responseType` 'RESPONSE' | 'UPDATE' | 'MESSAGE_TAG'
      - `commentId` string — Blotato comment ID. When set, the message is delivered as a private reply to that comment instead of a direct message.
      - `quickReplies` object[]
        - `title` string, required — Chip label shown to the recipient.
        - `payload` string, required — Message replied with on chip selection.
      - `tag` string — Required when responseType is MESSAGE_TAG (e.g. HUMAN_AGENT).
  - `recipientId` string, required — Platform-native id of the recipient (e.g. Instagram business-scoped user id).
  - `text` string, required — Plain-text message body.

## Response `201`

Default Response

- object
  - `conversationId` string, nullable, required — Parent Blotato conversation id.
  - `createdAt` string, required
  - `direction` 'incoming' | 'outgoing', required
  - `errorCode` integer, nullable, required — Set only when status is `failed`.
  - `errorMessage` string, nullable, required — Set only when status is `failed`.
  - `id` string, required
  - `payload` object, nullable
    - `attachment` object
      - `type` 'button', required
      - `buttons` union[], required — Up to 3 call-to-action buttons attached to the message.
        - union
          - object
            - `type` 'web_url', required
            - `title` string, required — Button label shown to the recipient.
            - `url` string, required — https URL the button opens when tapped.
          - object
            - `type` 'postback', required
            - `title` string, required — Button label shown to the recipient.
            - `payload` string, required — Message posted back on tap.
    - `quickReplies` object[]
      - `title` string, required — Chip label shown to the recipient.
      - `payload` string, required — Message replied with on chip selection.
    - `selection` object
      - `payload` string, nullable, required
      - `type` 'postback' | 'quick-reply', required
  - `platform` 'facebook' | 'instagram', required
  - `recipientId` string, required
  - `senderId` string, nullable, required
  - `status` 'delivered' | 'failed' | 'processing' | 'queued' | 'sent', required
  - `text` string, required

## Other responses

- `403` — Forbidden
- `404` — Not found
- `422` — Validation error
- `429` — Rate limit exceeded
- `500` — Server error

---

[API](https://skmtc.net/blotato/apis/blotato-api.md) · [All operations](https://skmtc.net/blotato/apis/blotato-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blotato/blotato-api/revisions/c93447ba6b9d/schema)
