To avoid ambiguity throughout this page, Sim (initial cap) refers to the Sim API resource. SIM (all caps) refers to the physical Subscriber Identity Module (that is, a SIM card) associated with a Sim resource.
A Rate Plan determines the capabilities and restrictions of each and every Sim instance associated with it.
https://wireless.twilio.com/v1/RatePlans
Any number of Sim's can be assigned to the same Rate Plan. Each of those Sim's inherits the same capabilities and restrictions, such as whether or not each SIM can use data or SMS via Commands, how much data each SIM can use each month, and how usage will be billed. To change a SIM's capabilities and restrictions, it's Sim must be assigned to a different Rate Plan.
A Rate Plan instance can be referenced in the API either by its unique Sid
or user-defined UniqueName
.
1https://wireless.twilio.com/v1/RatePlans/{Sid}2https://wireless.twilio.com/v1/RatePlans/{UniqueName}
The unique string that we created to identify the RatePlan resource.
^WP[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
An application-defined string that uniquely identifies the resource. It can be used in place of the resource's sid
in the URL to address the resource.
The SID of the Account that created the RatePlan resource.
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The model used to meter data usage. Can be: payg
and quota-1
, quota-10
, and quota-50
. Learn more about the available data metering models.
The total data usage (download and upload combined) in Megabytes that the Network allows during one month on the home network (T-Mobile USA). The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB.
0
Whether SIMs can roam on networks other than the home network (T-Mobile USA) in the United States. See national roaming.
The total data usage (download and upload combined) in Megabytes that the Network allows during one month on non-home networks in the United States. The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB.
0
The list of services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States. Can contain: data
and messaging
.
The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United States. Can be up to 2TB.
0
The date and time in GMT when the resource was created specified in ISO 8601 format.
The date and time in GMT when the resource was last updated specified in ISO 8601 format.
The absolute URL of the resource.
Quota Data Plans offer you a self-serve way to receive discounted data pricing in exchange for committing to a minimum dollar spend for each active SIM using the Rate Plan.
For low usage devices, the "Pay as you go" (PAYG) Data Plan is available. With PAYG data, you'll only pay for the data you consume, with no minimum data spend per SIM per month.
For higher usage devices, it is probably more cost effective to use a Quota-based Data Plan. With a Quota-based plan, you agree to a minimum data spend, or "Quota" level per SIM per month. In return, you will receive discount rates in every country, with more significant discounts for higher Quotas.
Even on a Quota plan, data is still priced per megabyte and metered at byte-level. But at the end of your SIM's billing month, you either pay for exactly what you consumed, or the Quota price, whichever is higher.
See Pricing for more information.
Each SIM's usage is measured independently. Data Limits specified by the Rate Plan are on a per SIM basis. For example, if a Rate Plan specifies a Data Limit of 5MB, every SIM on that Rate Plan will be allowed to consume 5MB of data.
National roaming grants a SIM the ability to roam onto other carrier networks in the United States in certain low coverage situations. This will allow a SIM to roam onto regional US networks like GCI in Alaska. The SIM will prioritize T-Mobile US, the 'home' network, when coverage is available.
National roaming pricing is different to standard data and Commands pricing. Before enabling national roaming on your Rate Plan, it is recommended to review the pricing.
Usage Notifications are currently in Private Beta . If you would like access to this feature please contact your IoT Account Executive or contact customer support.
You can receive Usage Notifications for every Sim instance assigned to a Rate Plan, allowing you to programmatically respond before the Sim reaches its Data Limit.
An HTTP request will be made to the configurable usage_notification_url
using the usage_notification_method
.
Usage Notifications will be fired when your Sim's Data Usage is ~75%, ~90%, 100%. If your Sim used 100% of its Data Limit during the current usage period, an additional Usage Notification will be fired when your Sim's Data Limit resets and your SIM can resume using data. No Usage Notification will be fired when your usage period resets if your Sim did not use 100% of the Data Limit during the current usage period.
Usage Notifications have the following properties:
SimSid | The SID of the Sim. |
---|---|
SimUniqueName | User provided string that uniquely identifies the Sim. Alternative to SimSid . |
AccountSid | The unique ID of the Account that the Sim belongs to. |
DataLimitType | The type of Data Limit to which the notification pertains. Either data_limit , international_roaming_data_limit , or national_roaming_data_limit . |
DataLimit | Amount of data usage allowed in the usage period. Once DataConsumed is greater than or equal to this value, the SIM will be blocked from using any additional data. |
DataConsumed | Amount of data usage from the current usage period that has been applied towards the DataLimit . |
NextUsagePeriod | The date when the next usage period starts at which point the DataConsumed resets to 0. |
POST https://wireless.twilio.com/v1/RatePlans
application/x-www-form-urlencoded
An application-defined string that uniquely identifies the resource. It can be used in place of the resource's sid
in the URL to address the resource.
A descriptive string that you create to describe the resource. It does not have to be unique.
The total data usage (download and upload combined) in Megabytes that the Network allows during one month on the home network (T-Mobile USA). The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB and the default value is 1000
.
The model used to meter data usage. Can be: payg
and quota-1
, quota-10
, and quota-50
. Learn more about the available data metering models.
Whether SIMs can roam on networks other than the home network (T-Mobile USA) in the United States. See national roaming.
The list of services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States. Can contain: data
and messaging
.
The total data usage (download and upload combined) in Megabytes that the Network allows during one month on non-home networks in the United States. The metering period begins the day of activation and ends on the same day in the following month. Can be up to 2TB. See national roaming for more info.
The total data usage (download and upload combined) in Megabytes that the Network allows during one month when roaming outside the United States. Can be up to 2TB.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createRatePlan() {11const ratePlan = await client.wireless.v1.ratePlans.create();1213console.log(ratePlan.sid);14}1516createRatePlan();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"unique_name": "unique_name",4"data_enabled": true,5"data_limit": 1000,6"data_limit_strategy": "block",7"data_metering": "payg",8"date_created": "2019-07-30T20:00:00Z",9"date_updated": "2019-07-30T20:00:00Z",10"friendly_name": "friendly_name",11"messaging_enabled": true,12"voice_enabled": true,13"national_roaming_enabled": true,14"national_roaming_data_limit": 1000,15"international_roaming": [16"data",17"messaging",18"voice"19],20"international_roaming_data_limit": 1000,21"sid": "WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",22"usage_notification_method": "POST",23"usage_notification_url": "https://callback.com",24"url": "https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"25}
GET https://wireless.twilio.com/v1/RatePlans/{Sid}
The SID of the RatePlan resource to fetch.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchRatePlan() {11const ratePlan = await client.wireless.v1.ratePlans("Sid").fetch();1213console.log(ratePlan.sid);14}1516fetchRatePlan();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"unique_name": "unique_name",4"data_enabled": true,5"data_limit": 1000,6"data_metering": "payg",7"date_created": "2019-07-30T20:00:00Z",8"date_updated": "2019-07-30T20:00:00Z",9"friendly_name": "friendly_name",10"messaging_enabled": true,11"voice_enabled": true,12"national_roaming_enabled": true,13"national_roaming_data_limit": 1000,14"international_roaming": [15"data",16"messaging",17"voice"18],19"international_roaming_data_limit": 1000,20"sid": "Sid",21"usage_notification_method": "POST",22"usage_notification_url": "https://callback.com",23"data_limit_strategy": "block",24"url": "https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"25}
GET https://wireless.twilio.com/v1/RatePlans
How many resources to return in each list page. The default is 50, and the maximum is 1000.
1
Maximum: 1000
The page token. This is provided by the API.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listRatePlan() {11const ratePlans = await client.wireless.v1.ratePlans.list({ limit: 20 });1213ratePlans.forEach((r) => console.log(r.sid));14}1516listRatePlan();
1{2"meta": {3"first_page_url": "https://wireless.twilio.com/v1/RatePlans?PageSize=50&Page=0",4"key": "rate_plans",5"next_page_url": null,6"page": 0,7"page_size": 50,8"previous_page_url": null,9"url": "https://wireless.twilio.com/v1/RatePlans?PageSize=50&Page=0"10},11"rate_plans": []12}
POST https://wireless.twilio.com/v1/RatePlans/{Sid}
The only fields that can be updated on a Rate Plan after it has been created is its Unique Name and Friendly Name. If you need to alter your SIM's capabilities you must create a new Rate Plan and reassign the Sim to the new Rate Plan.
The SID of the RatePlan resource to update.
application/x-www-form-urlencoded
An application-defined string that uniquely identifies the resource. It can be used in place of the resource's sid
in the URL to address the resource.
A descriptive string that you create to describe the resource. It does not have to be unique.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateRatePlan() {11const ratePlan = await client.wireless.v112.ratePlans("Sid")13.update({ uniqueName: "UniqueName" });1415console.log(ratePlan.sid);16}1718updateRatePlan();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"unique_name": "UniqueName",4"data_enabled": true,5"data_limit": 1000,6"data_metering": "payg",7"date_created": "2019-07-30T20:00:00Z",8"date_updated": "2019-07-30T20:00:00Z",9"friendly_name": "friendly_name",10"messaging_enabled": true,11"voice_enabled": true,12"national_roaming_enabled": true,13"national_roaming_data_limit": 1000,14"international_roaming": [15"data",16"messaging",17"voice"18],19"international_roaming_data_limit": 1000,20"sid": "Sid",21"usage_notification_method": "POST",22"usage_notification_url": "https://callback.com",23"data_limit_strategy": "block",24"url": "https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"25}
DELETE https://wireless.twilio.com/v1/RatePlans/{Sid}
You cannot delete a Rate Plan if there are any Sims assigned to it that have active
or ready
statuses.
The SID of the RatePlan resource to delete.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteRatePlan() {11await client.wireless.v1.ratePlans("Sid").remove();12}1314deleteRatePlan();