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

# Send Message

`POST /v1/messages`

## Request body

- MessagePostRequestWrapperDto
  - `data` union, required — Messages can be send with predefined templates or on fly
    - MessageTemplatePostRequestDto
      - `channel` 'SMS' | 'VIBER' | 'WHATSAPP', required — Delivery channel of the message. Enumeration values [SMS, VIBER, WHATSAPP]
      - `from` string, required — Identifier of the sender(name)
      - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
      - `template` string, uuid, required — Identifier of the template
      - `variables` string[] — If Template contains variables(attributes wrapped in {}), variable array should contain values to replace it with
      - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
      - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
    - MessageSMSPostRequestDto
      - `channel` 'SMS', required — Delivery channel of the message should be set to SMS
      - `from` string, required — Identifier of the sender(name)
      - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
      - `text` string, required — Text of the message. Maximum 1000 characters. If you want to include a URL and have it shortened (with analytics tracking), wrap it in curly braces using the following format: {url=https://dexatel.com}.
      - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
      - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
    - union
      - object
        - `channel` 'VIBER', required — Delivery channel of the message should be set to VIBER
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string, required — Text of the message. Maximum 1000 characters
        - `button` object
          - `button_text` string — When 'button_text' is provided 'button_value' is required
          - `button_value` string — When 'button_value' is provided 'button_text' is required
          - `button_variables` string[] — Dynamic URL segment values for call_to_action buttons that have a {{1}} placeholder in the URL.
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
      - object
        - `channel` 'VIBER', required — Delivery channel of the message should be set to VIBER
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string — Text of the message. Maximum 1000 characters. If text is present, button_text and button_value are required
        - `url` string — One of 'url' or 'media_id' is required
        - `media_id` string, uuid — One of 'url' or 'media_id' is required
        - `button` object
          - `button_text` string — When 'button_text' is provided 'button_value' is required
          - `button_value` string — When 'button_value' is provided 'button_text' is required
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
      - object
        - `channel` 'VIBER', required — Delivery channel of the message should be set to VIBER
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string — Text of the message. Maximum 1000 characters
        - `url` string — One of 'url' or 'media_id' is required
        - `media_id` string, uuid — One of 'url' or 'media_id' is required
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
      - object
        - `channel` 'VIBER', required — Delivery channel of the message should be set to VIBER
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `file_name` string, required — Filename of the document. Maximum 25 characters which contains only [a-zA-Z0-9_]
        - `url` string — One of 'url' or 'media_id' is required
        - `media_id` string, uuid — One of 'url' or 'media_id' is required
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
    - union
      - object
        - `channel` 'WHATSAPP', required — Delivery channel of the message should be set to WHATSAPP
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string — Text of the message. Maximum 1000 characters. If text is present, button_type and button_text are required
        - `button_type` 'quick_reply'
        - `button_text` string — Required when 'button_type' is provided
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
      - object
        - `channel` 'WHATSAPP', required — Delivery channel of the message should be set to WHATSAPP
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string — Text of the message. Maximum 1000 characters. If text is present, button_type and button_text are required
        - `url` string — One of 'url' or 'media_id' is required
        - `media_id` string, uuid — One of 'url' or 'media_id' is required
        - `button_type` 'quick_reply'
        - `button_text` string — Required when 'button_type' is provided
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
      - object
        - `channel` 'WHATSAPP', required — Delivery channel of the message should be set to WHATSAPP
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string — Text of the message. Maximum 1000 characters. If text is present, button_type and button_text are required
        - `url` string — One of 'url' or 'media_id' is required
        - `media_id` string, uuid — One of 'url' or 'media_id' is required
        - `button_type` 'quick_reply'
        - `button_text` string — Required when 'button_type' is provided
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.
      - object
        - `channel` 'WHATSAPP', required — Delivery channel of the message should be set to WHATSAPP
        - `number_formatting` boolean — Defaults to true. If provided, leading 0 after the country code and before the network code will be removed.
        - `from` string, required — Identifier of the sender(name)
        - `to` string[], required — List of recipient phone numbers as digits without spaces or special characters, beginning with the country dialing code
        - `type` string, required — Type of the message. Enumeration values [SMS, VIBER, WHATSAPP]
        - `text` string — Text of the message. Maximum 1000 characters. If text is present, button_type and button_text are required
        - `file_name` string, required — Filename of the document. Maximum 25 characters which contains only [a-zA-Z0-9_]
        - `url` string — One of 'url' or 'media_id' is required
        - `media_id` string, uuid — One of 'url' or 'media_id' is required
        - `button_type` 'quick_reply'
        - `button_text` string — Required when 'button_type' is provided
        - `payload` string — The value provided with this parameter will be sent back to the client through the Webhook URL.

## Response `201`

Created

- MessageResponseDto
  - `id` string, uuid — Unique identifier of the message
  - `account_id` string, uuid — Unique identifier of the account
  - `from` string — Identifier of the sender(name)
  - `to` string — Recipients phone number
  - `channel` 'SMS' | 'VIBER' | 'WHATSAPP' — Delivery channel of the message. Enumeration values [SMS, VIBER, WHATSAPP]
  - `status` 'delivered' | 'sent' | 'failed' | 'enroute' | 'read' | 'rejected' | 'unsubscribed' | 'expired' | 'blocked' — Message status. Enumeration values [delivered, sent, failed, enroute, read, rejected, unsubscribed, expired, blocked]
  - `text` string — Text of the message
  - `button` object
    - `type` string — Button type of the message
    - `text` string — Button text of the message
    - `value` string — Button value of the message
    - `button_variables` string[] — Dynamic URL segment values for call_to_action buttons.
  - `create_date` string, date-time — Creation date of the message in UTC, formatted as yyyy-mm-dd hh:mm:ss
  - `update_date` string, date-time — Update date of the message in UTC, formatted as yyyy-mm-dd hh:mm:ss
  - `segment_count` integer — The count of message parts for [SMS] Channel, other channel messages are always in 1 segment
  - `encoding` string — Encoding of the [SMS] message. Enumeration Values [GSM-7, UCS-2]
  - `country` string — ISO code of the recipients number

## Other responses

- `400` — **Bad Request:** Code Message Description 1005 Invalid JSON body The request body is not valid JSON 1007 Request data is missing The 'data' field is required 1503 Message sender is missing 1504 Invalid message sender 1505 Message sender is not found 1506 Message recipients are missing 1507 Message recipients are too many Maximum 10 recipients per request 1508 'data.text' is required 1510 Message text is too long Maximum 1000 characters 1512 Invalid template id Template ID must be a valid UUID 1513 Template is not found 1514 Template variables are missing 1515 Invalid channel Supported: SMS, VIBER, WHATSAPP, TELEGRAM, G\_RCS, EMAIL\_OTP, VOICE 1516 Image messages are not supported for whatsapp channel 1517 Button messages are not supported for whatsapp channel 1518 Image messages are not supported for sms channel 1519 Button messages are not supported for sms channel 1520 Button is missing Image + Text combination requires a button for Viber 1523 Invalid recipient number(s) 1524 Your account is not yet activated 1525 You have reached your test message limit 1526 Variable value is too long Maximum 70 characters per variable 1530 Blocked number 1531 Blocked country 1532 'data.url' is required when 'data.type' either IMAGE or VIDEO 1533 'data.url' and 'data.filename' are required when 'data.type' is DOCUMENT 1534 'data.type' is required 1535 Opt-out link could not be generated 1536 Viber template status must be COMPLETED 1537 Viber template is missing viber\_template data 1538 Viber template does not have provider template id 1539 'data.template' is required when 'data.type' is TRANSACTIONAL 1540 Viber template is not an OTP template 1541 Viber template params must contain non-empty 'code' 1542 Viber template locale lang is missing 1568 Variables must not be null for Viber TRANSACTIONAL template type 1588 You have reached your message limit for the country 1589 Your account is being prepared, please try again in a few seconds 1590 You have reached your message limit for the number 1595 Invalid sender 1596 Variable value exceeds maximum length of 25 characters for transactional template type 1597 Variable values must not contain URLs or links for transactional template type 1625 'data.from' is blocked 1700 Provide 'data.voice\_type' Required for VOICE channel 1701 Invalid voice type 1702 Invalid ringing duration 1705 Invalid payload Maximum 500 characters 1801 'data.to' is required Required for voice streaming 1802 'data.stream\_url' is required Required for voice streaming 1803 'data.stream\_url' is invalid

---

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