---
title: "Send A2P SMS"
method: POST
path: "/restapi/v1.0/account/{accountId}/a2p-sms/batches"
tags: ["High Volume SMS"]
---

# Send A2P SMS

`POST /restapi/v1.0/account/{accountId}/a2p-sms/batches`

## Request

- Base URL: `https://platform.ringcentral.com`
- URL: `https://platform.ringcentral.com/restapi/v1.0/account/{accountId}/a2p-sms/batches`
- Auth: OAuth 2
  - Authorization code: `https://platform.ringcentral.com/restapi/oauth/authorize`
  - Token URL: `https://platform.ringcentral.com/restapi/oauth/token`
- TypeScript: <https://skmtc.dev/ringcentral/apis/ringcentral-api/docs/restapi/v1.0/account/:accountId/a2p-sms/batches/post.ts> (a function with typed inputs; its response is checked against the schema)

Allows to send high volume of A2P (Application-to-Person) SMS messages
(in message batches). Only phone number with the `A2PSmsSender` feature can
be used as a sender.

## Path parameters

- `accountId` string, required

## Request body

- MessageBatchCreateRequest: Batch of A2P SMS messages. This object provides specification to send message(s) to many recipients. It contains top-level attributes, such as `text` which apply to all `messages`. In addition to that, it is possible to override this attribute for each message. This way a single API call may be used to send individual messages to many recipients.
  - `from` string, required: Sender's phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format.
  - `text` string: Text to send to `messages.to` phone numbers. Can be overridden on a per-message basis
  - `messages` MessageCreateRequest[], required: Individual messages
    - `to` string[], required: List of phone numbers in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format, recipients of this message. Currently only one number is supported
    - `text` string: Text to send, maximum number of characters is 1000

## Response `201`

Message batch created

- MessageBatchResponse: Batch of A2P SMS messages. This object provides a specification to send message(s) to many recipients. It contains top-level attributes which apply to all messages. In addition to that, it is possible to override this attribute for each message. This way a single API call may be used to send individual messages to many recipients
  - `id` string: Unique identifier of the message batch
  - `from` string: Phone number in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I) format from which the messages are going to be sent
  - `batchSize` integer: Total number of messages in the accepted batch
  - `processedCount` integer: Total number of messages currently processed in the batch
  - `lastModifiedTime` string, date-time: The last time the batch was processed.
  - `status` 'Processing' | 'Completed': Current status of a message batch
  - `creationTime` string, date-time: The time at which the batch was created
  - `rejected` RejectedRecipientResponseResource[]: The list of rejected/invalid recipients
    - `index` integer: The index of the messages list in the send batch request where the invalid recipient was found
    - `to` string[]: The invalid recipient number as found in the request
    - `errorCode` string: The error code
    - `description` string: The description of the error
  - `cost` number, double: The estimated batch cost for completed batch. Calculated after batch processing is completed.

## Other responses

- `400`: Validation Failed, Invalid Request
- `401`: Unauthorized error
- `500`: Internal server error

---

[API](https://skmtc.dev/ringcentral/apis/ringcentral-api.md) - [All operations](https://skmtc.dev/ringcentral/apis/ringcentral-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ringcentral/apis/ringcentral-api/revisions/8d602198ec97?raw)
