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.
Both comma-separated and plain integer formats are accepted —
"1,000" and "1000" are equivalent. Responses return the plain form. The highest tier must include the + sign: "10,000,000+" is accepted, "10,000,000" without the plus is rejected.The Verification Object
Field presence in responses. The two read endpoints handle empty fields differently. Retrieve omits fields that have no value. List returns every field, using an empty string (
"") for fields with no value. When reading a single record, treat all optional fields as possibly absent and use safe key access.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.
string
The messaging use case(s) for which the toll-free number will be used. One use case is mandatory. Multiple use cases are supplied as a comma-separated string, not an array — for example
"2FA,ACCOUNT_NOTIFICATION".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.
string
A valid URL where you submit images explaining the opt-in process. Multiple URLs are supplied as a comma-separated string, not an array.
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
Public URL to the brand’s terms and conditions page.
string
Public URL to the brand’s privacy policy page.
string
Confirmation message sent to a subscriber after they opt in.
string
Response sent when a subscriber messages the HELP keyword.
string
Any additional information for your own internal reference.
string
The status of the toll-free verification request.
string
The reason a verification request was rejected or requires an update. Present in Retrieve only when the request has an error state; returned as an empty string in List when there is no error. This value can change as upstream feedback arrives, so don’t treat it as stable.
string
A valid URL where verification-related callbacks will be sent.
string
default:"POST"
The HTTP method used to invoke
callback_url. Allowed values: GET, POST. The default applies only when a callback_url is configured; if no callback URL is set, this field is empty.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_CODEstring
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 1000 characters).
string
required
Public URL to the brand’s terms and conditions page. Enforced from September 15, 2026 — see the note above.
string
required
Public URL to the brand’s privacy policy page. Enforced from September 15, 2026 — see the note above.
string
Confirmation message sent to a subscriber after they opt in (max 500 characters).
string
Response sent when a subscriber messages the HELP keyword (max 500 characters).
string
Information for your internal reference (max 100 characters).
string
A valid URL where verification-related callbacks will be sent.
string
default:"POST"
The HTTP method used to invoke
callback_url. Allowed values: GET, POST.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). Use the suffixed forms only —
created__gte and created__lte are inclusive, created__gt and created__lt are exclusive. A bare created= value is not supported and returns no results. The span between created__gte and created__lte can be up to 2 years, and created__gte must be within the last 2 years. See the date filtering note below.integer
Number of results per page. Maximum and default are both 20. Values above 20 are silently reduced to 20 rather than rejected — check
meta.limit in the response to confirm the value applied.integer
Number of records to skip for pagination.
Response
Update a Verification Request
Update an existing toll-free verification request. Only requests with statusSUBMITTED 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_CODEstring
Expected monthly message volume.
string
Additional information (max 1000 characters).
string
Public URL to the brand’s terms and conditions page. Required on submissions from September 15, 2026.
string
Public URL to the brand’s privacy policy page. Required on submissions from September 15, 2026.
string
Confirmation message sent to a subscriber after they opt in (max 500 characters).
string
Response sent when a subscriber messages the HELP keyword (max 500 characters).
string
Information for your internal reference.
string
A valid URL for verification callbacks.
string
default:"POST"
The HTTP method used to invoke
callback_url. Allowed values: GET, POST.Response
Delete a Verification Request
Delete an existing verification request. Only requests with statusSUBMITTED, PROCESSING, or UPDATE_REQUIRED can be deleted.
Arguments
string
required
The unique identifier of the verification request to delete.
Response
On success the API returns HTTP 204 No Content with an empty body. To confirm the deletion, call the Retrieve endpoint with the same UUID. It returns HTTP 404:Callbacks
A callback is sent to thecallback_url (if specified) whenever the verification status changes:
- From
SUBMITTEDtoAPPROVED,REJECTED, orUPDATE_REQUIRED - From
UPDATE_REQUIREDtoAPPROVEDorREJECTED
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).