Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Services


A Verification Service is the set of common configurations used to create and check verifications. You can create a service with the API or in the Console(link takes you to an external page). Services include configuration for features like:

  • Email
  • Friendly Name (used in the Verification message templates, except in countries with brand restrictions(link takes you to an external page) )
  • Code Length
  • Skip sending SMS to Landlines
  • Requiring DTMF Input for Voice Verifications
  • Enabling Twilio Lookup

The SMS channel example below shows different friendly names and code lengths used in our SMS message templates.

sms example friendly name and code length.

Email Verification

email-verification page anchor

Follow along with the instructions here to set up your service to send email verifications.


Service Response Properties

service-response-properties page anchor

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

Resource properties
sidtype: SID<VA>
Not PII

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


account_sidtype: SID<AC>

The SID of the Account(link takes you to an external page) that created the Service resource.


friendly_nametype: string

The string that you assigned to describe the verification service. It can be up to 32 characters long. This value should not contain PII.


code_lengthtype: integer

The length of the verification code to generate.


lookup_enabledtype: boolean

Whether to perform a lookup with each verification started and return info about the phone number.


psd2_enabledtype: boolean

Whether to pass PSD2 transaction parameters when starting a verification.


skip_sms_to_landlinestype: boolean

Whether to skip sending SMS verifications to landlines. Requires lookup_enabled.


dtmf_input_requiredtype: boolean

Whether to ask the user to press a number before delivering the verify code in a phone call.


tts_nametype: string

The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages.


do_not_share_warning_enabledtype: boolean

Whether to add a security warning at the end of an SMS verification body. Disabled by default and applies only to SMS. Example SMS body: Your AppName verification code is: 1234. Don’t share this code with anyone; our employees will never ask for the code


custom_code_enabledtype: boolean

Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers.


pushtype: object

Configurations for the Push factors (channel) created under this Service.


totptype: object

Configurations for the TOTP factors (channel) created under this Service.


default_template_sidtype: SID<HJ>

whatsapptype: null

verify_event_subscription_enabledtype: boolean

Whether to allow verifications from the service to reach the stream-events sinks if configured


date_createdtype: string<date-time>

The date and time in GMT when the resource was created specified in RFC 2822(link takes you to an external page) format.


date_updatedtype: string<date-time>

The date and time in GMT when the resource was last updated specified in RFC 2822(link takes you to an external page) format.


urltype: string<uri>

The absolute URL of the resource.


linkstype: object<uri-map>

The URLs of related resources.


Create a Verification Service

create-a-verification-service page anchor
POST https://verify.twilio.com/v2/Services

These are the available input parameters for creating a Service.

Parameters

create-parameters page anchor
Request body parameters
FriendlyNametype: stringRequired

A descriptive string that you create to describe the verification service. It can be up to 32 characters long. This value should not contain PII.


CodeLengthtype: integer

The length of the verification code to generate. Must be an integer value between 4 and 10, inclusive.


LookupEnabledtype: boolean

Whether to perform a lookup with each verification started and return info about the phone number.


SkipSmsToLandlinestype: boolean

Whether to skip sending SMS verifications to landlines. Requires lookup_enabled.


DtmfInputRequiredtype: boolean

Whether to ask the user to press a number before delivering the verify code in a phone call.


TtsNametype: string

The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages.


Psd2Enabledtype: boolean

Whether to pass PSD2 transaction parameters when starting a verification.


DoNotShareWarningEnabledtype: boolean

Whether to add a security warning at the end of an SMS verification body. Disabled by default and applies only to SMS. Example SMS body: Your AppName verification code is: 1234. Don’t share this code with anyone; our employees will never ask for the code


CustomCodeEnabledtype: boolean

Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers.


Push.IncludeDatetype: boolean

Optional configuration for the Push factors. If true, include the date in the Challenge's response. Otherwise, the date is omitted from the response. See Challenge(link takes you to an external page) resource’s details parameter for more info. Default: false. Deprecated do not use this parameter. This timestamp value is the same one as the one found in date_created, please use that one instead.


Push.ApnCredentialSidtype: SID<CR>

Optional configuration for the Push factors. Set the APN Credential for this service. This will allow to send push notifications to iOS devices. See Credential Resource(link takes you to an external page)


Push.FcmCredentialSidtype: SID<CR>

Optional configuration for the Push factors. Set the FCM Credential for this service. This will allow to send push notifications to Android devices. See Credential Resource(link takes you to an external page)


Totp.Issuertype: string

Optional configuration for the TOTP factors. Set TOTP Issuer for this service. This will allow to configure the issuer of the TOTP URI. Defaults to the service friendly name if not provided.


Totp.TimeSteptype: integer

Optional configuration for the TOTP factors. Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. Defaults to 30 seconds


Totp.CodeLengthtype: integer

Optional configuration for the TOTP factors. Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. Defaults to 6


Totp.Skewtype: integer

Optional configuration for the TOTP factors. The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults to 1


DefaultTemplateSidtype: SID<HJ>

The default message template(link takes you to an external page). Will be used for all SMS verifications unless explicitly overriden. SMS channel only.


Whatsapp.MsgServiceSidtype: SID<MG>

The SID of the Messaging Service containing WhatsApp Sender(s) that Verify will use to send WhatsApp messages to your users.


Whatsapp.Fromtype: string

The number to use as the WhatsApp Sender that Verify will use to send WhatsApp messages to your users.This WhatsApp Sender must be associated with a Messaging Service SID.


VerifyEventSubscriptionEnabledtype: boolean

Whether to allow verifications from the service to reach the stream-events sinks if configured

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services
_10
.create({friendlyName: 'My Verify Service'})
_10
.then(service => console.log(service.sid));

Output

_42
{
_42
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"friendly_name": "My Verify Service",
_42
"code_length": 4,
_42
"lookup_enabled": false,
_42
"psd2_enabled": false,
_42
"skip_sms_to_landlines": false,
_42
"dtmf_input_required": false,
_42
"tts_name": "name",
_42
"do_not_share_warning_enabled": false,
_42
"custom_code_enabled": true,
_42
"push": {
_42
"include_date": false,
_42
"apn_credential_sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"fcm_credential_sid": null
_42
},
_42
"totp": {
_42
"issuer": "test-issuer",
_42
"time_step": 30,
_42
"code_length": 3,
_42
"skew": 2
_42
},
_42
"whatsapp": {
_42
"msg_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"from": "whatsapp:+1234567890"
_42
},
_42
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"verify_event_subscription_enabled": false,
_42
"date_created": "2015-07-30T20:00:00Z",
_42
"date_updated": "2015-07-30T20:00:00Z",
_42
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"links": {
_42
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_42
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_42
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_42
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_42
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_42
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_42
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_42
}
_42
}


Associate a predefined template with a service

associate-a-predefined-template-with-a-service page anchor

A predefined template (public or private if there are any associated with your account) can be associated with a Verification Service by setting the DefaultTemplateSid attribute. By doing so, the message body of the verifications created with the service will use the text defined in the referenced template by default.

The default template SID<HJ> is a unique ID starting with the letters HJ. It is automatically generated when the template is created.

A complete list of the available templates for the account can be obtained by querying the Templates API.

The template that is going to be used in the verification will be selected in the following order:

  1. If a TemplateSid is received in the Create Verification request, the verification will use the text defined in the template identified with that Sid .
  2. If a DefaultTemplateSid is set for the Service, the verification will use the text defined in the template identified with that Sid .
  3. Otherwise, the text defined in the global default template will be used.

Create a Service with a default template

create-a-service-with-a-default-template page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_13
// Download the helper library from https://www.twilio.com/docs/node/install
_13
// Find your Account SID and Auth Token at twilio.com/console
_13
// and set the environment variables. See http://twil.io/secure
_13
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_13
const authToken = process.env.TWILIO_AUTH_TOKEN;
_13
const client = require('twilio')(accountSid, authToken);
_13
_13
client.verify.v2.services
_13
.create({
_13
defaultTemplateSid: 'HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
_13
friendlyName: 'My Verify Service'
_13
})
_13
.then(service => console.log(service.sid));

Output

_42
{
_42
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"friendly_name": "My Verify Service",
_42
"code_length": 4,
_42
"lookup_enabled": false,
_42
"psd2_enabled": false,
_42
"skip_sms_to_landlines": false,
_42
"dtmf_input_required": false,
_42
"tts_name": "name",
_42
"do_not_share_warning_enabled": false,
_42
"custom_code_enabled": true,
_42
"push": {
_42
"include_date": false,
_42
"apn_credential_sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"fcm_credential_sid": null
_42
},
_42
"totp": {
_42
"issuer": "test-issuer",
_42
"time_step": 30,
_42
"code_length": 3,
_42
"skew": 2
_42
},
_42
"whatsapp": {
_42
"msg_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"from": "whatsapp:+1234567890"
_42
},
_42
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"verify_event_subscription_enabled": false,
_42
"date_created": "2015-07-30T20:00:00Z",
_42
"date_updated": "2015-07-30T20:00:00Z",
_42
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"links": {
_42
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_42
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_42
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_42
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_42
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_42
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_42
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_42
}
_42
}

Create a PSD2 Enabled Service

create-a-psd2-enabled-service page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services
_10
.create({psd2Enabled: true, friendlyName: 'Owl Banking'})
_10
.then(service => console.log(service.psd2Enabled));

Output

_42
{
_42
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"friendly_name": "Owl Banking",
_42
"code_length": 4,
_42
"lookup_enabled": false,
_42
"psd2_enabled": true,
_42
"skip_sms_to_landlines": false,
_42
"dtmf_input_required": false,
_42
"tts_name": "name",
_42
"do_not_share_warning_enabled": false,
_42
"custom_code_enabled": true,
_42
"push": {
_42
"include_date": false,
_42
"apn_credential_sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"fcm_credential_sid": null
_42
},
_42
"totp": {
_42
"issuer": "test-issuer",
_42
"time_step": 30,
_42
"code_length": 3,
_42
"skew": 2
_42
},
_42
"whatsapp": {
_42
"msg_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"from": "whatsapp:+1234567890"
_42
},
_42
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"verify_event_subscription_enabled": false,
_42
"date_created": "2015-07-30T20:00:00Z",
_42
"date_updated": "2015-07-30T20:00:00Z",
_42
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"links": {
_42
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_42
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_42
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_42
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_42
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_42
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_42
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_42
}
_42
}

See Verifying Transactions for PSD2 for more information.


GET https://verify.twilio.com/v2/Services/{Sid}

URI parameters
Sidtype: SID<VA>
Path ParameterNot PII

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

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10
.fetch()
_10
.then(service => console.log(service.sid));

Output

_42
{
_42
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"friendly_name": "name",
_42
"code_length": 4,
_42
"lookup_enabled": false,
_42
"psd2_enabled": false,
_42
"skip_sms_to_landlines": false,
_42
"dtmf_input_required": false,
_42
"tts_name": "name",
_42
"do_not_share_warning_enabled": false,
_42
"custom_code_enabled": true,
_42
"push": {
_42
"include_date": false,
_42
"apn_credential_sid": null,
_42
"fcm_credential_sid": null
_42
},
_42
"totp": {
_42
"issuer": null,
_42
"time_step": null,
_42
"code_length": null,
_42
"skew": null
_42
},
_42
"whatsapp": {
_42
"msg_service_sid": null,
_42
"from": null
_42
},
_42
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"verify_event_subscription_enabled": false,
_42
"date_created": "2015-07-30T20:00:00Z",
_42
"date_updated": "2015-07-30T20:00:00Z",
_42
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"links": {
_42
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_42
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_42
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_42
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_42
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_42
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_42
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_42
}
_42
}


GET https://verify.twilio.com/v2/Services

URI parameters
PageSizetype: integer
Query ParameterNot PII

How many resources to return in each list page. The default is 50, and the maximum is 1000.


Pagetype: integer
Query ParameterNot PII

The page index. This value is simply for client state.


PageTokentype: string
Query ParameterNot PII

The page token. This is provided by the API.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services
_10
.list({limit: 20})
_10
.then(services => services.forEach(s => console.log(s.sid)));

Output

_56
{
_56
"meta": {
_56
"page": 0,
_56
"page_size": 50,
_56
"first_page_url": "https://verify.twilio.com/v2/Services?PageSize=50&Page=0",
_56
"previous_page_url": "https://verify.twilio.com/v2/Services?PageSize=50&Page=0",
_56
"next_page_url": "https://verify.twilio.com/v2/Services?PageSize=50&Page=1",
_56
"key": "services",
_56
"url": "https://verify.twilio.com/v2/Services?PageSize=50&Page=0"
_56
},
_56
"services": [
_56
{
_56
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_56
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_56
"friendly_name": "name",
_56
"code_length": 4,
_56
"lookup_enabled": false,
_56
"psd2_enabled": false,
_56
"skip_sms_to_landlines": false,
_56
"dtmf_input_required": false,
_56
"tts_name": "name",
_56
"mailer_sid": "MDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_56
"do_not_share_warning_enabled": false,
_56
"custom_code_enabled": true,
_56
"push": {
_56
"include_date": false,
_56
"apn_credential_sid": null,
_56
"fcm_credential_sid": null
_56
},
_56
"totp": {
_56
"issuer": null,
_56
"time_step": null,
_56
"code_length": null,
_56
"skew": null
_56
},
_56
"whatsapp": {
_56
"msg_service_sid": null,
_56
"from": null
_56
},
_56
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_56
"verify_event_subscription_enabled": false,
_56
"date_created": "2015-07-30T20:00:00Z",
_56
"date_updated": "2015-07-30T20:00:00Z",
_56
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_56
"links": {
_56
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_56
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_56
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_56
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_56
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_56
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_56
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_56
}
_56
}
_56
]
_56
}


POST https://verify.twilio.com/v2/Services/{Sid}

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

URI parameters
Sidtype: SID<VA>
Path ParameterNot PII

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


Request body parameters
FriendlyNametype: string

A descriptive string that you create to describe the verification service. It can be up to 32 characters long. This value should not contain PII.


CodeLengthtype: integer

The length of the verification code to generate. Must be an integer value between 4 and 10, inclusive.


LookupEnabledtype: boolean

Whether to perform a lookup with each verification started and return info about the phone number.


SkipSmsToLandlinestype: boolean

Whether to skip sending SMS verifications to landlines. Requires lookup_enabled.


DtmfInputRequiredtype: boolean

Whether to ask the user to press a number before delivering the verify code in a phone call.


TtsNametype: string

The name of an alternative text-to-speech service to use in phone calls. Applies only to TTS languages.


Psd2Enabledtype: boolean

Whether to pass PSD2 transaction parameters when starting a verification.


DoNotShareWarningEnabledtype: boolean

Whether to add a privacy warning at the end of an SMS. Disabled by default and applies only for SMS.


CustomCodeEnabledtype: boolean

Whether to allow sending verifications with a custom code instead of a randomly generated one. Not available for all customers.


Push.IncludeDatetype: boolean

Optional configuration for the Push factors. If true, include the date in the Challenge's response. Otherwise, the date is omitted from the response. See Challenge(link takes you to an external page) resource’s details parameter for more info. Default: false. Deprecated do not use this parameter.


Push.ApnCredentialSidtype: SID<CR>

Optional configuration for the Push factors. Set the APN Credential for this service. This will allow to send push notifications to iOS devices. See Credential Resource(link takes you to an external page)


Push.FcmCredentialSidtype: SID<CR>

Optional configuration for the Push factors. Set the FCM Credential for this service. This will allow to send push notifications to Android devices. See Credential Resource(link takes you to an external page)


Totp.Issuertype: string

Optional configuration for the TOTP factors. Set TOTP Issuer for this service. This will allow to configure the issuer of the TOTP URI.


Totp.TimeSteptype: integer

Optional configuration for the TOTP factors. Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. Defaults to 30 seconds


Totp.CodeLengthtype: integer

Optional configuration for the TOTP factors. Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. Defaults to 6


Totp.Skewtype: integer

Optional configuration for the TOTP factors. The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults to 1


DefaultTemplateSidtype: SID<HJ>

The default message template(link takes you to an external page). Will be used for all SMS verifications unless explicitly overriden. SMS channel only.


Whatsapp.MsgServiceSidtype: SID<MG>

The SID of the Messaging Service(link takes you to an external page) to associate with the Verification Service.


Whatsapp.Fromtype: string

The WhatsApp number to use as the sender of the verification messages. This number must be associated with the WhatsApp Message Service.


VerifyEventSubscriptionEnabledtype: boolean

Whether to allow verifications from the service to reach the stream-events sinks if configured


Associate a template with an existing service

associate-a-template-with-an-existing-service page anchor

A predefined template can be associated with an already created Verification Service by setting the DefaultTemplateSid attribute. By doing so, the message body of the verifications created with the service will use by default the text defined in the template.
The default template SID<HJ> is a unique ID starting with the letters HJ. It is generated when the template is created.

A complete list of the available templates for the account can be obtained by querying the List Templates API.

The template that is going to be used in the verification will be defined following this order:

  1. If a TemplateSid is received in the Create Verification request, the verification will use the text defined in the template identified with that Sid .
  2. If a DefaultTemplateSid is set for the Service, the verification will use the text defined in the template identified with that Sid .
  3. Otherwise, the text defined in the default template will be used.

Update a Service default template.

update-a-service-default-template page anchor
curl

_10
curl -X POST https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
_10
--data-urlencode "DefaultTemplateSid=HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
_10
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

Output

_36
{
_36
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_36
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_36
"friendly_name": "name",
_36
"code_length": 7,
_36
"lookup_enabled": false,
_36
"psd2_enabled": false,
_36
"skip_sms_to_landlines": false,
_36
"dtmf_input_required": false,
_36
"tts_name": "name",
_36
"do_not_share_warning_enabled": false,
_36
"custom_code_enabled": true,
_36
"push": {
_36
"include_date": true,
_36
"apn_credential_sid": null,
_36
"fcm_credential_sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_36
},
_36
"totp": {
_36
"issuer": "test-issuer",
_36
"time_step": 30,
_36
"code_length": 3,
_36
"skew": 2
_36
},
_36
"date_created": "2015-07-30T20:00:00Z",
_36
"date_updated": "2015-07-30T20:00:00Z",
_36
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_36
"links": {
_36
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_36
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_36
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_36
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_36
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_36
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_36
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_36
}
_36
}

Update a Service's Code Length

update-a-services-code-length page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10
.update({codeLength: 7})
_10
.then(service => console.log(service.codeLength));

Output

_42
{
_42
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"friendly_name": "name",
_42
"code_length": 7,
_42
"lookup_enabled": false,
_42
"psd2_enabled": false,
_42
"skip_sms_to_landlines": false,
_42
"dtmf_input_required": false,
_42
"tts_name": "name",
_42
"do_not_share_warning_enabled": false,
_42
"custom_code_enabled": true,
_42
"push": {
_42
"include_date": false,
_42
"apn_credential_sid": null,
_42
"fcm_credential_sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_42
},
_42
"totp": {
_42
"issuer": "test-issuer",
_42
"time_step": 30,
_42
"code_length": 3,
_42
"skew": 2
_42
},
_42
"whatsapp": {
_42
"msg_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"from": "whatsapp:+1234567890"
_42
},
_42
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"verify_event_subscription_enabled": false,
_42
"date_created": "2015-07-30T20:00:00Z",
_42
"date_updated": "2015-07-30T20:00:00Z",
_42
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"links": {
_42
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_42
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_42
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_42
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_42
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_42
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_42
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_42
}
_42
}

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10
.update({friendlyName: 'New and Improved Service Name'})
_10
.then(service => console.log(service.friendlyName));

Output

_42
{
_42
"sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"friendly_name": "New and Improved Service Name",
_42
"code_length": 4,
_42
"lookup_enabled": false,
_42
"psd2_enabled": false,
_42
"skip_sms_to_landlines": false,
_42
"dtmf_input_required": false,
_42
"tts_name": "name",
_42
"do_not_share_warning_enabled": false,
_42
"custom_code_enabled": true,
_42
"push": {
_42
"include_date": false,
_42
"apn_credential_sid": null,
_42
"fcm_credential_sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_42
},
_42
"totp": {
_42
"issuer": "test-issuer",
_42
"time_step": 30,
_42
"code_length": 3,
_42
"skew": 2
_42
},
_42
"whatsapp": {
_42
"msg_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"from": "whatsapp:+1234567890"
_42
},
_42
"default_template_sid": "HJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"verify_event_subscription_enabled": false,
_42
"date_created": "2015-07-30T20:00:00Z",
_42
"date_updated": "2015-07-30T20:00:00Z",
_42
"url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_42
"links": {
_42
"verification_checks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VerificationCheck",
_42
"verifications": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Verifications",
_42
"rate_limits": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits",
_42
"messaging_configurations": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/MessagingConfigurations",
_42
"entities": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Entities",
_42
"webhooks": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Webhooks",
_42
"access_tokens": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AccessTokens"
_42
}
_42
}


DELETE https://verify.twilio.com/v2/Services/{Sid}

URI parameters
Sidtype: SID<VA>
Path ParameterNot PII

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

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_10
// Download the helper library from https://www.twilio.com/docs/node/install
_10
// Find your Account SID and Auth Token at twilio.com/console
_10
// and set the environment variables. See http://twil.io/secure
_10
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10
const authToken = process.env.TWILIO_AUTH_TOKEN;
_10
const client = require('twilio')(accountSid, authToken);
_10
_10
client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').remove();


Rate this page: