Send an SMS

The fastest way to send your first SMS is to try out the SMS API Explorer below. If you have your credentials, follow the instructions to use TeleSign’s SMS API for the first time. You will also be able to get a code snippet for the request in the language of your choice.

SMS API Explorer
NOTE: When using the SMS API Explorer, you will be charged your contracted rate for each transaction. The time shown in ms is not indicative of regular transmission rates, and only applies to the SMS API Explorer.
Send requests directly from the browser (CORS must be enabled)
No $$.env variables are being used in this request.

Use these instructions with the SMS API Explorer (above) to send an SMS request and get a code snippet for making the request in the language of your choice.

  1. Click the Auth [basic] tab.
  2. In the Username field, put your customer ID.
  3. In the Password field, put your API key.
  4. Click the Body tab.
  5. In the phone_number field, enter your phone number. (See all the available parameters on the API reference page - POST v1/messaging.)
  6. Click Send.
  7. If you want the code for your request, so you can see how this request is implemented using basic authentication, click the Code Generation tab and use the Language and Library drop-downs to choose the language you want your code snippet in. The Language drop-down shows you what languages you can generate code in, and the Library drop-down shows you what libraries you could use to create the code.
  8. After you send your request, you will see the Body tab and a JSON response. Look through the JSON response and save the value for the reference_id parameter. You will need this to receive transaction status results, described on the Obtain Transaction Status Results page.

Congratulations! You’ve sent your first SMS using TeleSign’s SMS API and generated your first code snippet!

Here are a few extra details about the pre-populated parameters:

  • message - You use the message parameter to provide your message. TeleSign APIs work with UTF-8 encoded strings.
  • message_type - When you send messages, for compliance purposes, you must label the kind of message you are sending. You can choose from:
    • ARN - Alerts, reminders, and notifications
    • MKT - Marketing messages such as promotions and coupons
    • OTP - For messages where you send a verification code only
  • phone_number - The phone number you want to send a message to.

You can see more about available parameters for requests on the SMS Request (POST v1/messaging) page.

The rest of this page provides additional details about TeleSign’s SMS API. You can choose from these options:

SMS API Information

This section provides general information about the SMS API.

  • The URI is
  • Authentication - You can authenticate with basic or digest authentication.
  • Use UTF-8 encoded unicode characters as inputs for all TeleSign APIs.
  • Use Content-Type application/x-www-form-urlencoded in request headers.

You can read more about parameters you can send in an SMS request on the SMS Request (POST v1/messaging) page.


If you would prefer to implement using one of TeleSign’s SDKs, you can find code samples for basic use cases with the SMS API on the Tutorials page.


You use a POST request to send your message.


The phone number in the example is for display only.

Example POST Request with the SMS API
Authorization: Basic 12345678-9ABC-DEF0-1234-56789ABCDEF0:vjE/ZDfPvDkuGNsuqCFFO4neYIs=
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Date: Tue, 31 Jan 2017 14:51:26 GMT

phone_number=15555551234&message=Your message here.&account_lifecycle_event=create&originating_ip=

Here is an example POST response:

Example POST Response
HTTP/1.1 200 OK
Date: Tue, 31 Jan 2017 14:51:28 GMT
Server: CERN/3.0 libwww/2.17
Content-Length: 316
Content-Type: application/json

   "external_id": "Custom external ID",
   "reference_id": "0123456789ABCDEF0123456789ABCDEF",
   "status": {
      "code": 290,
      "updated_on": "2017-31-03T14:51:28.709526Z",
      "description": "Message in progress"
   "additional_info": {
      "code_entered": null,
      "message_parts_count" : 1

Next Steps

This section offers some suggestions for next steps to take.