# RatePlan Resource

***

{% hint style="info" %}
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.
{% endhint %}

A **Rate Plan** determines the capabilities and restrictions of each and every [**Sim**](https://docs.korewireless.com/en-us/api/products/programmable-wireless/wireless-sim-resource) instance associated with it.

```
https://programmable-wireless.api.korewireless.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**](https://docs.korewireless.com/en-us/api/products/programmable-wireless/command-resource)**,** 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 `<YOUR_SIM_SID>` or user-defined `<YOUR_SIM_UNIQUENAME>`.

```
https://programmable-wireless.api.korewireless.com/v1/RatePlans/<YOUR_SIM_SID>
https://programmable-wireless.api.korewireless.com/v1/RatePlans/<YOUR_SIM_UNIQUENAME>
```

***

## RatePlan Properties <a href="#rateplan-properties" id="rateplan-properties"></a>

**sid**     SID\<WP>                                                                                                                                      &#x20;

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

Pattern:`^WP[0-9a-fA-F]{32}$`

Min length:`34`

Max length:`34`

***

unique\_name    string                                                                                                                         &#x20;

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.

***

account\_sid    SID\<AC>                                                                                                                    &#x20;

The SID of the Account that created the RatePlan resource.

Pattern:`^AC[0-9a-fA-F]{32}$`

Min length:`34`

Max length:`34`

***

**friendly\_name**   string                                                                                                                            &#x20;

The string that you assigned to describe the resource.

***

**data\_enabled**  boolean                                &#x20;

Whether SIMs can use GPRS/3G/4G/LTE data connectivity.

***

**data\_metering**   string                                       &#x20;

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](#payg-vs-quota-data-plans).

***

**data\_limit**  integer                                              &#x20;

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.

Default:`0`

***

**messaging\_enabled**  boolean                  &#x20;

Whether SIMs can make, send, and receive SMS using [Commands](https://docs.korewireless.com/api/products/programmable-wireless/broken-reference).

***

**voice\_enabled**   boolean   &#x20;

Deprecated. Whether SIMs can make and receive voice calls.

***

**national\_roaming\_enabled**    boolean   &#x20;

Whether SIMs can roam on networks other than the home network (T-Mobile USA) in the United States. See [national roaming](#national-roaming).

***

**national\_roaming\_data\_limit**    integer                 &#x20;

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.

Default:`0`

***

**international\_roaming**   array\[string]   &#x20;

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`.

***

**international\_roaming\_data\_limit**   integer  &#x20;

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.

Default:`0`

***

**date\_created**     string\<date-time>   &#x20;

The date and time in GMT when the resource was created specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.

***

**date\_updated**    string\<date-time>      &#x20;

The date and time in GMT when the resource was last updated specified in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.

***

**url**     string\<uri>     &#x20;

The absolute URL of the resource.

***

## PAYG vs Quota Data Plans <a href="#payg-vs-quota-data-plans" id="payg-vs-quota-data-plans"></a>

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](https://docs.korewireless.com/en-us/programmable-wireless/help-and-support/pricing) for more information.

***

## Data limits <a href="#data-limits" id="data-limits"></a>

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 <a href="#national-roaming" id="national-roaming"></a>

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](https://www.gci.com/wireless) 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](https://docs.korewireless.com/en-us/programmable-wireless/help-and-support/pricing).

***

## Usage Notifications <a href="#usage-notifications" id="usage-notifications"></a>

{% hint style="warning" %}
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.
{% endhint %}

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.                                                                             |

***

## Create a RatePlan resource <a href="#create-a-rateplan-resource" id="create-a-rateplan-resource"></a>

{% openapi src="<https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20(alf).yaml?alt=media&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341>" path="/v1/RatePlans" method="post" %}
[openapi3\_0 (alf).yaml](https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20\(alf\).yaml?alt=media\&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341)
{% endopenapi %}

***

## Fetch a RatePlan resource <a href="#fetch-a-rateplan-resource" id="fetch-a-rateplan-resource"></a>

{% openapi src="<https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20(alf).yaml?alt=media&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341>" path="/v1/RatePlans/{Sid}" method="get" %}
[openapi3\_0 (alf).yaml](https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20\(alf\).yaml?alt=media\&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341)
{% endopenapi %}

***

## Read Rate Plans <a href="#read-rate-plans" id="read-rate-plans"></a>

{% openapi src="<https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20(alf).yaml?alt=media&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341>" path="/v1/RatePlans" method="get" %}
[openapi3\_0 (alf).yaml](https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20\(alf\).yaml?alt=media\&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341)
{% endopenapi %}

***

## Update a RatePlan resource <a href="#update-a-rateplan-resource" id="update-a-rateplan-resource"></a>

{% hint style="warning" %}
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.
{% endhint %}

{% openapi src="<https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20(alf).yaml?alt=media&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341>" path="/v1/RatePlans/{Sid}" method="post" %}
[openapi3\_0 (alf).yaml](https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20\(alf\).yaml?alt=media\&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341)
{% endopenapi %}

***

## Delete a RatePlan resource <a href="#delete-a-rateplan-resource" id="delete-a-rateplan-resource"></a>

{% hint style="warning" %}
You cannot delete a Rate Plan if there are any Sims assigned to it that have `active` or `ready` statuses.
{% endhint %}

{% openapi src="<https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20(alf).yaml?alt=media&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341>" path="/v1/RatePlans/{Sid}" method="delete" %}
[openapi3\_0 (alf).yaml](https://3487028960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJknMM6SZJYk9EbbitKp5%2Fuploads%2F4alsAWeuMtriesOfOixr%2Fopenapi3_0%20\(alf\).yaml?alt=media\&token=8a6481d4-a087-4460-b7cd-9e4a4d0e6341)
{% endopenapi %}

<br>
