Menu

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Verifications

The Twilio Verify REST API allows you to verify that a user has a claimed device in their possession. The API lets you request a verification code to be sent to the user and to check that a received code is valid.

Prerequisites:

  1. Create a Verification Service

Verification Response Properties

These fields are returned in the output JSON response. The type SID<VE> is a unique ID starting with the letters VE.

Names in REST API format
sid
sid<VE> Not PII

The unique string that we created to identify the Verification resource.

service_sid
sid<VA> Not PII

The SID of the Service the resource is associated with.

account_sid
sid<AC> Not PII

The SID of the Account that created the Verification resource.

to

The phone number or email being verified. Phone numbers must be in E.164 format.

channel
enum:channel Not PII

The verification method used. One of: email([*])[#email-channel-availability], sms or call.

status
string Not PII

The status of the verification. One of: pending, approved, denied, or expired.

valid
boolean Not PII

Use "status" instead. Legacy property indicating whether the verification was successful.

lookup
object Not PII

Information about the phone number being verified.

amount

The amount of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.

payee

The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.

date_created
date_time<iso8601> Not PII

The date and time in GMT when the resource was created specified in RFC 2822 format.

date_updated
date_time<iso8601> Not PII

The date and time in GMT when the resource was last updated specified in RFC 2822 format.

url
url Not PII

The absolute URL of the Verification resource.

Start New Verification

post
https://verify.twilio.com/v2/Services/{ServiceSid}/Verifications

To verify a user's phone number or email, start by requesting to send a verification code to their device.

These are the available input parameters for starting a verification. The type SID<VE> is a unique ID starting with the letters VE.

Parameters
Names in REST API format
service_sid
Path
post sid<VA> Not PII

The SID of the verification Service to create the resource under.

to
Required
post string PII MTL: 30 DAYS

The phone number or email to verify. Phone numbers must be in E.164 format.

channel
Required
post string Not PII

The verification method to use. Can be: email([*])[#email-channel-availability], sms or call.

send_digits
Optional
post string Not PII

The digits to send after a phone call is answered, for example, to dial an extension. For more information, see the Programmable Voice documentation of sendDigits.

locale
Optional
post string Not PII

The locale to use for the verification SMS or call. Can be: af, ar, ca, cs, da, de, el, en, es, fi, fr, he, hi, hr, hu, id, it, ja, ko, ms, nb, nl, pl, pt, pr-BR, ro, ru, sv, th, tl, tr, vi, zh, zh-CN, or zh-HK.

custom_code
Optional
post string Not PII

A pre-generated code to use for verification. The code can be between 4 and 10 characters, inclusive.

amount
Optional
post string PII MTL: 1 DAYS

The amount of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.

payee
Optional
post string PII MTL: 1 DAYS

The payee of the associated PSD2 compliant transaction. Requires the PSD2 Service flag enabled.

rate_limits
Optional
post object Not PII

The custom key-value pairs of Programmable Rate Limits. Keys should be the unique_name configured while creating you Rate Limit along with the associated values for each particular request. You may include multiple Rate Limit values in each request.

channel_configuration
Optional
post object Not PII

Channel specific configuration in json format: For email must include 'from' and 'from_name'.

Example 1
        
        
        
        
        Example 2
              
              
              
              
              Example 3
                    
                    
                    
                    
                    Example 4
                          
                          
                          
                          
                          Email channel subject to approval on your account. Email sales@twilio.com for access. Generally available March 2020.

                          Start a Verification with Email

                          Email channel subject to approval on your account. Email sales@twilio.com for access. Generally available March 2020.

                          Email channel is in development and will be generally available by March 2020. We will approve a select number of customers to preview the email channel before the general release. Please contact sales@twilio.com to join the pilot.

                          Localization and Supported Languages

                          Verify supports delivering verification codes in more than 30 languages over both voice and SMS. To find out more about which languages are supported visit our page on Localization and Supported Languages.

                          Canadian Carrier Data Support

                          By default, Verify will not return carrier data for Candian phone numbers. If you need carrier data on Canadian phone numbers, please visit our support site to enable this feature.

                          Fetch a Verification

                          get
                          https://verify.twilio.com/v2/Services/{ServiceSid}/Verifications/{Sid}
                          Parameters
                          Names in REST API format
                          service_sid
                          Path
                          get sid<VA> Not PII

                          The SID of the verification Service to fetch the resource from.

                          sid
                          Path
                          get string Not PII

                          The Twilio-provided string that uniquely identifies the Verification resource to fetch.

                          Example 1
                                
                                
                                
                                

                                Update a Verification Status

                                post
                                https://verify.twilio.com/v2/Services/{ServiceSid}/Verifications/{Sid}

                                Use this endpoint only if using Custom Verification Codes.

                                Mark the verification as "approved" after your application had validated the verification code.

                                Mark the verification as "canceled" to start a new verification with a different code before the previous code expires (10 minutes).

                                For most other use cases, Verify is able to manage the complete lifecycle of a verification with the Verification Check Resource.

                                Parameters
                                Names in REST API format
                                service_sid
                                Path
                                post sid<VA> Not PII

                                The SID of the verification Service to update the resource from.

                                sid
                                Path
                                post string Not PII

                                The Twilio-provided string that uniquely identifies the Verification resource to update.

                                status
                                Required
                                post ienum:status Not PII

                                The new status of the resource. Can be: canceled or approved.

                                Example 1
                                      
                                      
                                      
                                      
                                      Only use if using Custom Verification Codes

                                      Manually Approve Verification using SID

                                      Only use if using Custom Verification Codes
                                      Example 2
                                            
                                            
                                            
                                            
                                            Only use if using Custom Verification Codes

                                            Manually Approve Verification using Phone Number

                                            Only use if using Custom Verification Codes

                                            Next: Check a Verification

                                            Validate if the code a user provided was correct with the Verification Check Resource.

                                            Rate this page:

                                            Need some help?

                                            We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.