Service Rate Limits
Service Rate Limits makes it easy to use Twilio's battle-tested rate-limiting services to protect your Verify deployment. With Service Rate Limits, you can define the keys to meter and limits to enforce when starting user verifications. Together with Verify's built-in platform protections Service Rate Limits gives you turnkey protection with flexibility.
Prerequisites:
-
Create a Verification Service
Resource properties
sid
type: SID<RK>
A 34 character string that uniquely identifies this Rate Limit.
unique_name
type: string
Provides a unique and addressable name to be assigned to this Rate Limit, assigned by the developer, to be optionally used in addition to SID. This value should not contain PII.
description
type: string
Description of this Rate Limit
date_created
type: string<date-time>
date_updated
type: string<date-time>
url
type: string<uri>
The URL of this resource.
links
type: object<uri-map>
The URLs of related resources.
POST https://verify.twilio.com/v2/Services/{ServiceSid}/RateLimits
The Rate Limit represents the key that your application will provide when starting a user verification request. For example, you may create a rate limit for an end-user IP address to prevent a malicious bot. See the section on Selecting Rate Limit Keys for information on this topic.
URI parameters
Request body parameters
UniqueName
type: stringRequired
Provides a unique and addressable name to be assigned to this Rate Limit, assigned by the developer, to be optionally used in addition to SID. This value should not contain PII.
Description
type: string
Description of this Rate Limit
_14// Download the helper library from https://www.twilio.com/docs/node/install
_14// Find your Account SID and Auth Token at twilio.com/console
_14// and set the environment variables. See http://twil.io/secure
_14const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14const authToken = process.env.TWILIO_AUTH_TOKEN;
_14const client = require('twilio')(accountSid, authToken);
_14client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_14 description: 'Limit on end user IP Address',
_14 uniqueName: 'end_user_ip_address'
_14 .then(rate_limit => console.log(rate_limit.sid));
_13 "sid": "RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "service_sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "unique_name": "end_user_ip_address",
_13 "description": "Limit on end user IP Address",
_13 "date_created": "2015-07-30T20:00:00Z",
_13 "date_updated": "2015-07-30T20:00:00Z",
_13 "url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "buckets": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Buckets"
GET https://verify.twilio.com/v2/Services/{ServiceSid}/RateLimits/{Sid}
URI parameters
Sid
type: SID<RK>
The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .rateLimits('RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(rate_limit => console.log(rate_limit.uniqueName));
_13 "sid": "RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "service_sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "unique_name": "unique.name",
_13 "description": "Description",
_13 "date_created": "2015-07-30T20:00:00Z",
_13 "date_updated": "2015-07-30T20:00:00Z",
_13 "url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "buckets": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Buckets"
GET https://verify.twilio.com/v2/Services/{ServiceSid}/RateLimits
URI parameters
PageSize
type: integer
How many resources to return in each list page. The default is 50, and the maximum is 1000.
Page
type: integer
The page index. This value is simply for client state.
PageToken
type: string
The page token. This is provided by the API.
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(rateLimits => rateLimits.forEach(r => console.log(r.sid)));
_26 "first_page_url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits?PageSize=50&Page=0",
_26 "previous_page_url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits?PageSize=50&Page=0",
_26 "next_page_url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits?PageSize=50&Page=1",
_26 "key": "rate_limits",
_26 "url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits?PageSize=50&Page=0"
_26 "sid": "RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_26 "service_sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_26 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_26 "unique_name": "unique.name",
_26 "description": "Description",
_26 "date_created": "2015-07-30T20:00:00Z",
_26 "date_updated": "2015-07-30T20:00:00Z",
_26 "url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_26 "buckets": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Buckets"
POST https://verify.twilio.com/v2/Services/{ServiceSid}/RateLimits/{Sid}
URI parameters
Sid
type: SID<RK>
The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.
Request body parameters
Description
type: string
Description of this Rate Limit
_11// Download the helper library from https://www.twilio.com/docs/node/install
_11// Find your Account SID and Auth Token at twilio.com/console
_11// and set the environment variables. See http://twil.io/secure
_11const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11const authToken = process.env.TWILIO_AUTH_TOKEN;
_11const client = require('twilio')(accountSid, authToken);
_11client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .rateLimits('RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .update({description: 'A much better description'})
_11 .then(rate_limit => console.log(rate_limit.uniqueName));
_13 "sid": "RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "service_sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "unique_name": "unique.name",
_13 "description": "A much better description",
_13 "date_created": "2015-07-30T20:00:00Z",
_13 "date_updated": "2015-07-30T20:00:00Z",
_13 "url": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_13 "buckets": "https://verify.twilio.com/v2/Services/VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/RateLimits/RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Buckets"
DELETE https://verify.twilio.com/v2/Services/{ServiceSid}/RateLimits/{Sid}
URI parameters
Sid
type: SID<RK>
The Twilio-provided string that uniquely identifies the Rate Limit resource to fetch.
_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
_10const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10const authToken = process.env.TWILIO_AUTH_TOKEN;
_10const client = require('twilio')(accountSid, authToken);
_10client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10 .rateLimits('RKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')