Skip to main content
Before you can use a toll-free number to send application-to-person (A2P) messages in the US and Canada, you must complete the toll-free number verification process. This process identifies the sender, ensures compliance with toll-free messaging best practices, and helps eliminate bad actors from the A2P channel. During verification, you provide information about your company and messaging use cases. If you’re a reseller, you must also provide information about the customers on whose behalf you will send messages.
As of November 8, 2023, unverified toll-free numbers cannot send messages to users in the US and Canada. These messages will be rejected by carriers.

API Endpoint

Base URL

Use Cases

The following use cases are supported for toll-free verification:

Opt-in Types

You must specify how users consent to receive messages:

Volume Tiers

Specify your expected monthly message volume using one of these values:
Provide a value that accommodates projected growth for the next six to eight months.

The Verification Object

Attributes

string
The unique identifier for the verification request.
string
The unique identifier of an existing Plivo profile.
string
The toll-free number for which verification is being initiated.
list
The messaging use case(s) for which the toll-free number will be used. One use case is mandatory; multiple use cases can be added as a list of strings.
string
Explanation of how messaging will be used on this toll-free number by your business.
string
Sample message(s) that your business will send to end users. Multiple samples are allowed.
list
A valid URL where you submit images explaining the opt-in process. Multiple URLs are allowed as a list of strings.
string
Describes how a user opts into receiving text messages.
string
An estimate of the monthly volume of messages you will send from the toll-free number.
string
Any additional information related to the website, such as terms of service or privacy policy links.
string
Any additional information for your own internal reference.
string
The status of the toll-free verification request.
string
The reason for toll-free verification rejection (if applicable).
string
A valid URL where verification-related callbacks will be sent.
datetime
The date when the verification request was created.
datetime
The date when the verification request was last modified.

Example Verification Object


Verification Statuses


Create a Verification Request

Create a new toll-free verification request. You must first create a Plivo profile before starting the verification process.

Arguments

string
required
The unique identifier of an existing Plivo profile.
string
required
The toll-free number in E.164 format for which verification is being initiated. Only US and Canadian toll-free numbers are accepted. Only one number per request.
string
required
The messaging use case(s). Multiple use cases can be added as a comma-separated string. Example: "2FA, CUSTOMER_CARE"
string
required
Explanation of how messaging will be used (max 500 characters).
string
required
Sample message(s) that you will send to end users (max 1000 characters).
string
required
A valid URL where you submit images demonstrating the opt-in process. Multiple URLs allowed as comma-separated string.
string
required
How users opt in to messages. Values: VERBAL, WEB_FORM, PAPER_FORM, VIA_TEXT, MOBILE_QR_CODE
string
required
Expected monthly message volume. Must be one of the allowed volume tier values.
string
Additional information such as terms of service or privacy policy links (max 500 characters).
string
Information for your internal reference (max 100 characters).
string
A valid URL where verification-related callbacks will be sent.

Response


Retrieve a Verification Request

Get details of a specific toll-free verification request.

Arguments

string
required
The unique identifier of the verification request.

Response


List All Verification Requests

Get the status of all toll-free verification requests for your account.

Query Parameters

string
Filter by a single toll-free number.
string
Filter by verification status.
string
Filter by profile UUID.
string
Filter by use case(s) in comma-separated format. This is an exact match.
string
Filter by creation date (YYYY-MM-DD format). Supports created__gt, created__gte, created__lt, created__lte for range queries. Default window is 7 days; maximum is 30 days.
integer
Number of results per page (1-20). Default: 20.
integer
Number of records to skip for pagination.

Response


Update a Verification Request

Update an existing toll-free verification request. Only requests with status SUBMITTED or UPDATE_REQUIRED can be updated.

Arguments

string
required
The unique identifier of the verification request.
string
The unique identifier of an existing Plivo profile.
string
The messaging use case(s) in comma-separated format.
string
Explanation of how messaging will be used (max 500 characters).
string
Sample message(s) that you will send (max 1000 characters).
string
A valid URL demonstrating the opt-in process.
string
How users opt in to messages. Values: VERBAL, WEB_FORM, PAPER_FORM, VIA_TEXT, MOBILE_QR_CODE
string
Expected monthly message volume.
string
Additional information (max 500 characters).
string
Information for your internal reference.
string
A valid URL for verification callbacks.

Response


Delete a Verification Request

Delete an existing verification request. Only requests with status SUBMITTED, PROCESSING, or UPDATE_REQUIRED can be deleted.

Arguments

string
required
The unique identifier of the verification request to delete.

Callbacks

A callback is sent to the callback_url (if specified) whenever the verification status changes:
  • From SUBMITTED to APPROVED, REJECTED, or UPDATE_REQUIRED
  • From UPDATE_REQUIRED to APPROVED or REJECTED

Callback Parameters

string
The unique identifier of the verification request.
string
The toll-free number associated with the verification request.
string
The current status of the verification request.
string
Error or rejection reason (if applicable).

Example Callback Payload