---
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 used to authenticate must have the following scope(s) enabled to make a successful request: _Messaging_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `AccountSid` string, uuid, required — Universal Unique Identifier.

## Response `201`

Response returned when a message is created.

- Message — Message model.
  - `account_sid` string, uuid, required — Universal Unique Identifier.
  - `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 — Universal Unique Identifier.
  - `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, required — Universal Unique Identifier.
  - `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

- `400` — The request was invalid or cannot be processed. Check the error details for more information.
- `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.

---

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