---
title: "Create a Message"
method: POST
path: "/Accounts/{AccountSid}/Messages"
tags: ["Messages"]
---

# Create a Message

`POST /Accounts/{AccountSid}/Messages`

Create and send a message.

#### Permissions
The API token must include the following scopes: _Messaging_.

## Path parameters

- `AccountSid` string, uuid, required

## Response `201`

Response returned when a message is created.

- Message — Message model.
  - `account_sid` string, uuid, required — The unique identifier of the project that sent or received this message.
  - `api_version` string, required — The version number of the SignalWire cXML REST API used to handle this message.
  - `body` string, nullable, required — The text of the message. Up to 1600 characters long. May be null if filtered for spam.
  - `num_segments` integer, required — The number of segments that make up the entire message.
  - `num_media` integer, required — The number of media files that were included with the message.
  - `date_created` string, required — The date and time the message was created in RFC 2822 format.
  - `date_sent` string, nullable, required — The date and time the message was sent in RFC 2822 format, or null if not yet sent.
  - `date_updated` string, required — The date and time the message was last updated in RFC 2822 format.
  - `direction` 'inbound' | 'outbound-api' | 'outbound-call' | 'outbound-reply', required — Message direction.
  - `error_code` string, nullable, required — If an error has occurred on the message, the error code will give you a specific code, or null if no error.
  - `error_message` string, nullable, required — A human readable description of the error that occurred, or null if no error.
  - `from` string, required — The phone number in E.164 format that sent the message.
  - `price` number, float, nullable, required — The cost of the individual message billed to your project, or null if not yet calculated.
  - `price_unit` string, required — The currency in which `price` is charged as.
  - `sid` string, uuid, required — A unique ID that identifies this specific message.
  - `status` 'queued' | 'initiated' | 'sent' | 'failed' | 'delivered' | 'undelivered' | 'received', required — Message status.
  - `to` string, required — The phone number in E.164 format that received the message.
  - `messaging_service_sid` string, uuid, nullable, required — If a number group was used when sending an outbound message, the number group's ID will be present, or null otherwise.
  - `uri` string, required — The URI of this particular message.
  - `subresource_uris` MessageSubresourceUris, required — Message subresource URIs.
    - `media` string, required — The URI for media.

## Other responses

- `401` — Authentication failed. Please verify your credentials and try again.
- `422` — The request could not be processed due to validation errors. Check the error details for more information.

## Changes

- **2026-01-19** `d5fbaaddfa3e` — 5 breaking, 2 warning, 6 info
  - added the pattern `^\d+\.?\d{0,4}$` to the request property `MaxPrice`
  - the `ApplicationSid` request property format changed from no format to `uuid`
  - the `MessagingServiceSid` request property format changed from no format to `uuid`
  - the `StatusCallback` request property format changed from no format to `uri`
  - …9 more
- **2026-01-15** `50dab84bcf02` — 1 breaking
  - request body became required
- **2026-01-15** `479ede876c89` — 1 info
  - request body became optional
- **2026-01-15** `07f73f74a61d` — 1 breaking, 1 info
  - removed the media type `application/json` from the request body
  - added the media type `application/x-www-form-urlencoded` to the request body
- **2026-01-15** `6b2611cfa74b` — 2 breaking
  - the request property `ApplicationSid` became not nullable
  - the request property `MessagingServiceSid` became not nullable

[Full history](https://skmtc.dev/signalwire/apis/compatibility-api/changes/Accounts/:AccountSid/Messages/post.md)

---

[API](https://skmtc.dev/signalwire/apis/compatibility-api.md) · [All operations](https://skmtc.dev/signalwire/apis/compatibility-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/compatibility-api/revisions/d5fbaaddfa3e/schema)
