---
title: "Send SMS"
method: POST
path: "/restapi/v1.0/account/{accountId}/extension/{extensionId}/sms"
tags: ["SMS"]
---

# Send SMS

`POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/sms`

Creates and sends a new text message or multiple messages. You can send SMS
messages simultaneously to different recipients up to 40 requests per minute;
this limitation is relevant for all client applications. Sending and receiving
SMS is available for Toll-Free Numbers within the USA. You can send up to
10 attachments in a single MMS message; the size of all attachments linked
is limited up to 1500000 bytes.

## Path parameters

- `accountId` string, required
- `extensionId` string, required

## Request body

- CreateSMSMessage
  - `from` MessageStoreCallerInfoRequest, required — Message sender information. The `phoneNumber` value should be one the account phone numbers allowed to send the current type of messages
    - `phoneNumber` string, required — Phone number in E.164 format
  - `to` MessageStoreCallerInfoRequest[], required — Message receiver(s) information. The `phoneNumber` value is required
    - `phoneNumber` string, required — Phone number in E.164 format
  - `text` string, required — Text of a message. Max length is 1000 symbols (2-byte UTF-16 encoded). If a character is encoded in 4 bytes in UTF-16 it is treated as 2 characters, thus restricting the maximum message length to 500 symbols
  - `country` SmsRequestCountryInfo — Target number country information. Either `id` or `isoCode` can be specified.
    - `id` string — Internal identifier of a country
    - `isoCode` string — ISO 3166-1 alpha-2 code of a country

## Response `200`

Message information

- GetSMSMessageInfoResponse
  - `id` integer — Internal identifier of a message
  - `uri` string, uri — Canonical URI of a message
  - `attachments` MessageAttachmentInfo[] — List of message attachments
    - `id` integer — Internal identifier of a message attachment
    - `uri` string, uri — Canonical URI of a message attachment
    - `type` 'AudioRecording' | 'AudioTranscription' | 'Text' | 'SourceDocument' | 'RenderedDocument' | 'MmsAttachment' — Type of message attachment
    - `contentType` string — MIME type for a given attachment, for instance 'audio/wav'
    - `vmDuration` integer — Supported for `Voicemail` only. Duration of a voicemail in seconds
    - `fileName` string — Name of a file attached
    - `size` integer — Size of attachment in bytes
    - `height` integer — Attachment height in pixels if available
    - `width` integer — Attachment width in pixels if available
  - `availability` 'Alive' | 'Deleted' | 'Purged' — Message availability status. Message in 'Deleted' state is still preserved with all its attachments and can be restored. 'Purged' means that all attachments are already deleted and the message itself is about to be physically deleted shortly
  - `conversationId` integer — SMS and Pager only. Identifier of a conversation that the message belongs to
  - `conversation` ConversationInfo — SMS and Pager only. Information about a conversation the message belongs to
    - `id` string — Internal identifier of a conversation
    - `uri` string, uri — Deprecated. Link to a conversation resource
  - `creationTime` string, date-time — Message creation date/time in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z
  - `deliveryErrorCode` string — SMS only. Delivery error code returned by gateway
  - `direction` 'Inbound' | 'Outbound' — Text message direction. Note that for some message types not all directions are allowed. For example voicemail messages can be only inbound
  - `from` MessageStoreCallerInfoResponseFrom — Sender information
    - `extensionNumber` string — Extension short number (usually 3 or 4 digits). This property is filled when parties communicate by means of short internal numbers, for example when calling to other extension or sending/receiving Company Pager message
    - `extensionId` string — Internal identifier of an extension
    - `location` string — Contains party location (city, state) if one can be determined from phoneNumber. This property is filled only when phoneNumber is not empty and server can calculate location information from it (for example, this information is unavailable for US toll-free numbers)
    - `name` string — Symbolic name associated with a party. If the phone does not belong to the known extension, only the location is returned, the name is not determined then
    - `phoneNumber` string — Phone number of a party. Usually it is a plain number including country and area code like 18661234567. But sometimes it could be returned from database with some formatting applied, for example (866)123-4567. This property is filled in all cases where parties communicate by means of global phone numbers, for example when calling to direct numbers or sending/receiving SMS
  - `lastModifiedTime` string, date-time — Date/time when the message was modified on server in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z
  - `messageStatus` 'Queued' | 'Sent' | 'Delivered' | 'DeliveryFailed' | 'SendingFailed' | 'Received' — Message status. Different message types may have different allowed status values. For outbound faxes the aggregated message status is returned. If, for outbound message, a status for at least one recipient is 'Queued', then the 'Queued' value is returned. If a status for at least one recipient is 'SendingFailed', then the 'SendingFailed' value is returned. In other cases the 'Sent' status is returned
  - `priority` 'Normal' | 'High' — Message priority
  - `readStatus` 'Read' | 'Unread' — Message read status
  - `smsDeliveryTime` string, date-time — SMS only. The date/time when outbound SMS was delivered to recipient's handset in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. It is filled only if the carrier sends a delivery receipt to RingCentral
  - `smsSendingAttemptsCount` integer — SMS only. Number of attempts made to send an outbound SMS to the Gateway (if Gateway is temporary unavailable)
  - `subject` string — Message subject. For SMS and Pager messages it replicates message text which is also returned as an attachment
  - `to` MessageStoreCallerInfoResponseTo[] — Recipient information
    - `extensionNumber` string — Extension short number (usually 3 or 4 digits). This property is filled when parties communicate by means of short internal numbers, for example when calling to other extension or sending/receiving Company Pager messages
    - `extensionId` string
    - `location` string — Contains party location (city, state) if one can be determined from a phone number. This property is filled only when `phoneNumber` is not empty and a server can calculate location information from it (for example, this information is unavailable for US toll-free numbers)
    - `target` boolean — The `true` value specifies that message is sent exactly to this recipient. Returned in the `to` field for group MMS. Useful if one extension has several phone numbers'
    - `messageStatus` 'Queued' | 'Sent' | 'Delivered' | 'DeliveryFailed' | 'SendingFailed' | 'Received' — Message status. Different message types may have different allowed status values. For outbound faxes the aggregated message status is returned. If, for outbound message, a status for at least one recipient is 'Queued', then the 'Queued' value is returned. If a status for at least one recipient is 'SendingFailed', then the 'SendingFailed' value is returned. In other cases the 'Sent' status is returned
    - `faxErrorCode` 'AllLinesInUse' | 'Undefined' | 'NoFaxSendPermission' | 'NoInternationalPermission' | 'NoFaxMachine' | 'NoAnswer' | 'LineBusy' | 'CallerHungUp' | 'NotEnoughCredits' | 'SentPartially' | 'InternationalCallingDisabled' | 'DestinationCountryDisabled' | 'UnknownCountryCode' | 'NotAccepted' | 'InvalidNumber' | 'CallDeclined' | 'TooManyCallsPerLine' | 'CallFailed' | 'RenderingFailed' | 'TooManyPages' | 'ReturnToDBQueue' | 'NoCallTime' | 'WrongNumber' | 'ProhibitedNumber' | 'InternalError' | 'FaxSendingProhibited' | 'ThePhoneIsBlacklisted' | 'UserNotFound' | 'ConvertError' | 'DBGeneralError' | 'SkypeBillingFailed' | 'AccountSuspended' | 'ProhibitedDestination' | 'InternationalDisabled'
    - `name` string — Symbolic name associated with a party. If the phone does not belong to the known extension, only the location is returned, the name is not determined then
    - `phoneNumber` string — Phone number of a party. Usually it is a plain number including country and area code like 18661234567. But sometimes it could be returned from database with some formatting applied, for example (866)123-4567. This property is filled in all cases where parties communicate by means of global phone numbers, for example when calling to direct numbers or sending/receiving SMS
    - `recipientId` string — Internal identifier of a message recipient
  - `type` 'Fax' | 'SMS' | 'VoiceMail' | 'Pager' | 'Text' — Message type

---

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