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

# Send Message

`POST /messages`

Send a message via the messaging API. Supports text, media, and template messages with automatic routing to marketing messages endpoint when applicable. Supports MM API fallback mechanism, more info: https://docs.360dialog.com/partner/messaging-and-calling/sending-marketing-messages/technical-details-for-mm-api.

## Request body

- MessagesMessage
  - `audio` MessagesMediaObject
    - `id` string
    - `link` string
  - `context` MessagesMessageContext
    - `message_id` string
  - `document` MessagesMediaObject
    - `id` string
    - `link` string
  - `image` MessagesMediaObject
    - `id` string
    - `link` string
  - `interactive` MessagesInteractiveObject
    - `action` MessagesActionObject
    - `body` MessagesBodyObject
      - `text` string
    - `footer` MessagesFooterObject
      - `text` string
    - `header` MessagesHeaderObject
      - `document` MessagesMediaObject
        - `id` string
        - `link` string
      - `image` MessagesMediaObject
        - `id` string
        - `link` string
      - `text` string
      - `type` 'text' | 'video' | 'image' | 'document'
      - `video` MessagesMediaObject
        - `id` string
        - `link` string
    - `type` 'button' | 'call_permission_request' | 'catalog_message' | 'list' | 'product' | 'product_list' | 'flow'
  - `location` MessagesLocationMessage
    - `address` string
    - `latitude` number
    - `longitude` number
    - `name` string
  - `messaging_product` string, required
  - `reaction` MessagesReactionMessage
    - `emoji` string
    - `message_id` string
  - `recipient_type` 'individual' | 'group', required
  - `sticker` MessagesMediaObject
    - `id` string
    - `link` string
  - `template` MessagesTemplateMessage
    - `components` MessagesTemplateComponent[]
      - `index` integer
      - `parameters` MessagesTemplateParameter[]
        - `currency` MessagesCurrency
          - `amount_1000` integer
          - `code` string
          - `fallback_value` string
        - `date_time` MessagesDateTime
          - `fallback_value` string
        - `document` MessagesMediaObject
          - `id` string
          - `link` string
        - `image` MessagesMediaObject
          - `id` string
          - `link` string
        - `location` MessagesLocationMessage
          - `address` string
          - `latitude` number
          - `longitude` number
          - `name` string
        - `text` string
        - `type` 'text' | 'currency' | 'date_time' | 'image' | 'document' | 'video' | 'location'
        - `video` MessagesMediaObject
          - `id` string
          - `link` string
      - `sub_type` 'quick_reply' | 'url'
      - `type` 'header' | 'body' | 'button', required
    - `language` MessagesLanguageObject, required
      - `code` string, required
    - `name` string, required
  - `text` MessagesTextMessage
    - `body` string
    - `preview_url` boolean
  - `to` string, required
  - `type` 'text' | 'image' | 'audio' | 'video' | 'document' | 'sticker' | 'location' | 'contacts' | 'interactive' | 'template' | 'reaction', required
  - `video` MessagesMediaObject
    - `id` string
    - `link` string

## Response `200`

Message sent successfully

- MessagesMessageResponsePayload
  - `contacts` MessagesResponseContact[]
    - `input` string
    - `wa_id` string
  - `messages` MessagesResponseMessage[]
    - `id` string
    - `message_status` 'accepted' | 'held_for_quality_assessment' | 'paused'
  - `messaging_product` string

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.net/360dialog/apis/messaging-api.md) · [All operations](https://skmtc.net/360dialog/apis/messaging-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/360dialog/messaging-api/versions/74b31f9f8610/schema)
