---
title: "Send a message"
method: POST
path: "/v3/messages"
tags: ["SMS and MMS"]
---

# Send a message

`POST /v3/messages`

Sends an SMS or MMS message. MMS is supported for U.S. numbers only. Track delivery using the returned `message_id` and the message status callback.
**Rate limit**: 20 messages per phone number in 24 hours.

## Request body

- object — Sender, recipient, and content of the message.
  - `from` string, required — Sender ID. Numeric or alphanumeric.
  - `to` string, required — Recipient phone number.
  - `message_body` MessageBody, required
    - `text` string, required — Message text.
    - `media` string[], nullable, required — List of media URLs. If provided, the message is sent as an MMS; otherwise, it is sent as an SMS.
  - `callback_url` string — Callback URL for delivery reports.
  - `validity` integer — Message validity period in seconds. Delivery attempts stop after this period expires.
  - `tag` string — Tag to group messages, such as for a specific campaign.

## Response `201`

Returns the submitted message with its `message_id` and initial status.

- SendMessagesResponse
  - `carrier_fees` string, nullable — Mobile carrier fees in USD.
  - `charge` string — Total charge for the message in USD.
  - `direction` string — Message direction. Possible values are `outbound`, `inbound`.
  - `delivered_at` string, date-time, nullable — Date and time the message was delivered in ISO 8601 format.
  - `error_message` string, nullable — Error message.
  - `from` string — Sender ID.
  - `mcc` string, nullable — Mobile country code.
  - `mnc` string, nullable — Mobile network code.
  - `message_body` MessageBody
    - `text` string, required — Message text.
    - `media` string[], nullable, required — List of media URLs. If provided, the message is sent as an MMS; otherwise, it is sent as an SMS.
  - `message_id` string — Message ID.
  - `message_type` string — Message type.
  - `segments` integer — Number of SMS segments. Always 1 for MMS.
  - `sent_at` string, date-time, nullable — Date and time the message was sent in ISO 8601 format.
  - `status` string — Message status.
  - `submitted_at` string — Date and time the message was submitted in ISO 8601 format.
  - `tag` string, nullable — Message tag.
  - `to` string — Recipient phone number.

## Other responses

- `400` — Request failed. Missing or invalid parameter <param_name>
- `403` — Request failed. The feature is disabled for your account.

---

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