Completion API - Send Completion Data

Completion data is information you submit per transaction to tell TeleSign that an SMS or voice message was received, indicating that the transaction was completed. This information allows TeleSign to monitor route quality and provide the fastest, most high quality routes for your messages. Ideally, you send TeleSign completion data using the Completion API if you do not want to send information about the verification code for your messages while using:

There are different ways to send completion data when using these APIs, depending on the scenario. If you are using them with messages that contain one-time passwords (OTPs), use the Get Status API to send completion data and the verification code.

If you are using these APIs and do not want to include the OTP information, or you are not sending an OTP, then you use the Completion API to send completion data.

This page shows you how to send completion data. To get started, you must have your TeleSign credentials, API key, and Customer ID, and you must have completed a transaction with one of the APIs mentioned above and saved the reference ID from the transaction.

Use the Completion API Explorer to test out the submission of completion data for a transaction.

Use these instructions with the Completion API Explorer to send completion data for a transaction and a code snippet for making the request in the language of your choice.

  1. Click the Auth [basic] tab and for Username add your Customer ID. For Password add your API key.
  2. Click the Settings tab and in the reference_id field, enter the reference ID for a transaction from one of the supported APIs.
  3. Click Send.
  4. Click the Code Generation tab and use the Language and Library drop-downs to choose the language you want your code snippet in.

Congratulations! You've sent completion data to TeleSign.

You can see more about this API's responses on the PUT /v1/verify/completion page.

Completion API Information

All requests submitted for the Completion API:

  • Canbe authenticated with Basic (easiest to implement) and Digest
  • Use as the base endpoint
  • Accept only UTF-8 encoded unicode characters as inputs
  • Use Content-Type application/x-www-form-urlencoded in request headers


A PUT request to the Completion API looks like this:

PUT Example Request

PUT /v1/verify/completion/0123456789ABCDEF0123456789ABCDEF HTTP/1.1
Authorization: Basic 12345678-9ABC-DEF0-1234-56789ABCDEF0:Uak4fcLTTH/Tv8c/Q6QMwl5t4ck= 

The body of the response from the Completion API looks like this:

Example Response

  "reference_id": "ABCDEF0123456789ABCDEF0123456789",
  "sub_resource": "sms|voice|push|two_way_sms",
  "status": {
     "code": 1900,
     "updated_on": "2014-10-14T18:07:26.078515Z",
     "description": "Verify completion successfully recorded"

Did this page help you?