API authentication required
Need API Access?

Please use ‘Create Account’ to quickly register and start exploring our APIs

POST

https://<your_api_key>:<your_api_token><subdomain>/v1/Accounts/<your_sid>/Sms/send

This API will send an SMS to the specified To number. To send an SMS through our API, you will need to make a HTTP POST request

Parameter
Name
Value
Description
* From
formData

Specify one of your ExoPhone or Sender ID (header) linked to it.

ExoPhone: From = ‘080XXXXXX’
Transactional Sender ID: From = ‘EXOTEL’ (If linked to your ExoPhone)
Promotional Numeric Sender ID: From = ‘600XXX’ (If linked to your ExoPhone)

* To
formData

Mobile number to which SMS has to be sent. Preferably in E.164 format. If not set, our system will try to match it with a country and route the SMS

* Body
formData

Content of your SMS; Max Length of the body cannot exceed 2000 characters
To avoid SMS failure, make sure this exactly matches with SMS template added on Exotel Dashboard and is registered with operator DLT portal in case of India.

* EncodingType
path

Message type of SMS; plain or unicode

* Priority
path

Priority of the SMS; normal or high. Business critical operations like sending verification codes, confirming appointments etc which require immediate SMS delivery should opt for high priority.

* StatusCallback
formData

Once SMS reaches terminal state (sent/failed/failed_dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is application/x-www-form-urlencoded

Below are the parameters:

SmsSid – The Sid (unique id) of the SMS that you got in response to your request

To – Mobile number to which SMS was sent

Status – One of: queued, sending, submitted, sent, failed_dnd, failed

SmsUnits – The number of  SMS units being sent

DetailedStatus – Human readable word that explains what happened to the message 

DetailedStatusCode – Exotel’s Detailed Status code corresponding to the DetailedStatus 

DateSent – Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recipient.

 

 
* DltEntityId
formData

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. This is mandatory to be passed in API or configured on Dashboard for SMSes towards Indian destination  (Learn More about DLT)

* DltTemplateId
formData

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (Learn More about DLT)

Response Content Type

GET

https://<your_api_key>:<your_api_token><subdomain>/v1/Accounts/<your_sid>/SMS/Messages/<SmsSid>

To get the details of a SMS (including Status, Direction, etc.), you will need to make a HTTP GET request

Parameter
Name
Value
Description
* SmsSid
path

SmsSid is the Sid of the SMS.

Response Content Type

POST

https://<your_api_key>:<your_api_token><subdomain>/v1/Accounts/<your_sid>/Sms/send

Parameter
Name
Value
Description
* From
formData
  • Specify one of your ExoPhone

  • For transactional SMSes, the SenderID (When you buy an ExoPhone, you will be asked to enter a 6-letter sender ID from which your SMSes will be sent. For Eg: LM-EXOTEL or LM-WEBDEV etc.) will be the one that corresponds to the ExoPhone

  • For promotional SMSes, the SenderID will anyways be a generic numeric one (Ex: LM-123456)

* To
formData

Array of Mobile numbers to which SMS has to be sent. Preferably in E.164 format. If not set, our system will try to match it with a country and route the SMS

* Body
formData

Content of your SMS; Max Length of the body cannot exceed 2000 characters

* EncodingType
formData

Message type of SMS; plain or unicode

* Priority
formData

Priority of the SMS; normal or high. Business critical operations like sending verification codes, confirming appointments etc which require immediate SMS delivery should opt for high priority.

* StatusCallback
formData

After every SMS reaches terminal state (sent/failed/failed_dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is application/x-www-form-urlencoded Below are the parameters:

  • SmsSid – The Sid (unique id) of the SMS that you got in response to your request

  • To – Mobile number to which SMS was sent

  • Status – One of: queued, sending, submitted, sent, failed_dnd, failed

  • DetailedStatus – Human readable word that explains what happened to the message

  • DetailedStatusCode – Exotel’s Detailed Status code corresponding to the DetailedStatus 

  • DateSent – Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recipientSmsUnits

  • SmsUnits – The number of  SMS units being sent

* DltEntityId
formData

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. (Learn More about DLT)

* DltTemplateId
path

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (Learn More about DLT)

Response Content Type

POST

https://<your_api_key>:<your_api_token><subdomain>/v1/Accounts/<your_sid>/Sms/bulksend

Parameter
Name
Value
Description
* From
formData
  • Specify one of your ExoPhone

  • For transactional SMSes, the SenderID (When you buy an ExoPhone, you will be asked to enter a 6-letter sender ID from which your SMSes will be sent. For Eg: LM-EXOTEL or LM-WEBDEV etc.) will be the one that corresponds to the ExoPhone

  • For promotional SMSes, the SenderID will anyways be a generic numeric one (Ex: LM-123456)

  • Will be used in cases where From is missing in Messages object

  • If not set, default approved SENDER ID as per account will be used

* Messages
formData

Array of message objects, wherein each object contains parameters about individual SMS:

  • To (Mandatory): Mobile number to which SMS has to be sent. Preferably in E.164 format. If not set, our system will try to match it with a country and route the SMS

  • Body (Mandatory): Content of your SMS; Max Length of the body cannot exceed 2000 characters

  • From (Optional): ExoPhone or approved SENDER ID. If not provided, will use outer From

  • DltTemplateId (Optional): Applicable only for SMS sent by Indian businesses to Indian destination numbers. This is the Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (Learn More about DLT)

* EncodingType
formData

Message type of SMS; plain or unicode

* Priority
formData

Priority of the SMS; normal or high. Business critical operations like sending verification codes, confirming appointments etc which require immediate SMS delivery should opt for high priority.

* StatusCallback
formData

After every SMS reaches terminal state (sent/failed/failed_dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is application/x-www-form-urlencoded Below are the parameters:

  • SmsSid – The Sid (unique id) of the SMS that you got in response to your request

  • To – Mobile number to which SMS was sent

  • Status – one of: queued, sending, submitted, sent, failed_dnd, failed

  • DetailedStatus – Human readable word that explains what happened to the message 

  • DetailedStatusCode – Exotel’s Detailed Status code corresponding to the DetailedStatus 

  • DateSent – The date on which the message was sent

  • SmsUnits – the number of  SMS units being sent
* DltEntityId
formData

Applicable only for SMS sent by Indian businesses to Indian destination numbers.

Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. (Learn More about DLT)

Response Content Type