Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now

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?

REST API: Sims

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 Sim instance represents a physical SIM that is capable of connecting to a wireless network.

Before becoming active, a Sim must have a Rate Plan, which describes the capabilities and restrictions that will apply to the SIM.

Common Tasks

  • Retrieve a Sim instance
  • Update a Sim instance
  • Delete a Sim instance
  • List all Sims in an Account
  • View Sim lifecycle events

Asynchronous Resources

The Sim resource performs Asynchronous Operations. To receive an asynchronous notification when a Sim resource has finished updating, you should provide a callback URL and optionally a callback method parameter with your initial HTTP Request. This is demonstrated in some of the examples below.

HTTP Resources and Methods

Sim Instance Resource

Resource URLs

https://wireless.twilio.com/v1/Sims/{SimSid}
https://wireless.twilio.com/v1/Sims/{SimUniqueName}

Resource Properties

A Sim instance resource is represented by the following properties:

Names in PHP format
sid
sid<DE> Not PII

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

uniqueName
string Not PII

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.

accountSid
sid<AC> Not PII

The SID of the Account that created the Sim resource.

ratePlanSid
sid<WP> Not PII

The SID of the RatePlan resource configured for this SIM.

friendlyName

The string that you assigned to describe the resource.

iccid

The ICCID associated with the SIM.

eId
string Not PII

Deprecated.

status
enum:status Not PII

The status of the SIM. Can be: new, ready, active, deactivated, canceled, scheduled, or updating. See Status Values for the description of each status.

resetStatus
enum:reset_status Not PII

The connectivity reset status of the SIM. Can be: null or resetting. When a connectivity reset is initiated on a SIM, this property is resetting. After the reset completes, it is null.

commandsCallbackUrl
url Not PII

The URL we call using the commands_callback_method when the SIM originates a machine-to-machine Command. Your server should respond with an HTTP status code in the 200 range; any response body will be ignored.

commandsCallbackMethod
http_method Not PII

The HTTP method we use to call commands_callback_url. Can be: POST or GET, and the default is POST.

smsFallbackMethod
http_method Not PII

The HTTP method we use to call sms_fallback_url. Can be: GET or POST.

smsFallbackUrl
url Not PII

The URL we call using the sms_fallback_method when an error occurs while retrieving or executing the TwiML requested from the sms_url.

smsMethod
http_method Not PII

The HTTP method we use to call sms_url. Can be: GET or POST.

smsUrl
url Not PII

The URL we call using the sms_method when the SIM-connected device sends an SMS message that is not a Command.

voiceFallbackMethod
http_method Not PII

The HTTP method we use to call voice_fallback_url. Can be: GET or POST.

voiceFallbackUrl
url Not PII

The URL we call using the voice_fallback_method when an error occurs while retrieving or executing the TwiML requested from voice_url.

voiceMethod
http_method Not PII

The HTTP method we use to call voice_url. Can be: GET or POST.

voiceUrl
url Not PII

The URL we call using the voice_method when the SIM-connected device makes a voice call.

dateCreated
date_time<iso8601> Not PII

The date and time in GMT when the resource was created specified in ISO 8601 format.

dateUpdated
date_time<iso8601> Not PII

The date and time in GMT when the resource was last updated specified in ISO 8601 format.

url
url Not PII

The absolute URL of the resource.

links
uri_map Not PII

The URLs of related subresources.

ipAddress
string Not PII

Deprecated.

Status Values

The table below describes the available status values of a Sim instance.

Status Description
new

The Sim is waiting to be activated so that it can join the network. A Sim can exist in new status indefinitely at no charge, but once it is transitioned to ready or active, it cannot be returned to new.

ready

The Sim can connect to the network and is capable of consuming network resources in accordance with its Rate Plan, but no monthly fee will be charged.

Once the SIM has consumed 250KB of data or three months have passed, the Sim will transition automatically to active status. On the fifth Command sent to_sim or from_sim, the device will automatically transition to the active status.

Use the ready status when shipping your device to a customer if you aren't exactly sure when they'll start using it.

Note: This is not available for the Narrowband developer plan.

active The Sim can connect to the network and is capable of consuming network resources in accordance with its Rate Plan.
suspended The Sim is blocked from connecting to the network. After three months of suspension at no charge, a suspended monthly fee will be initiated. See Suspended SIM Fees on Programmable Wireless Pricing.
deactivated The Sim is blocked from connecting to the network. After 72 hours, the Sim will transition automatically to the terminal status canceled. Use this status when you never want the Sim to reconnect (for example, if it has been lost or stolen).
canceled Terminal status. The Sim is blocked from connecting to the network and can no longer be reactivated.
scheduled The upstream network operator is temporarily unable to update the status of this SIM. The Sim status will be automatically updated to the requested status when the upstream network operator resumes accepting transactions.
updating The Sim is in the process of being asynchronously updated. While the Sim is updating, it may not be possible to modify some fields. In these cases, you will receive a 409 Conflict response.

Retrieve a Sim Instance

HTTP GET

Returns a representation of the Sim identified by the Sid or Alias property.

Retrieve a SIM Instance using SID or Alias

In the following example, a Sim instance is requested using its *Sid*, represented as JSON.

        
        
        
        

        Retrieve a Sim using its UniqueName

        In this example, a Sim instance is requested using its UniqueName, represented as JSON.

              
              
              
              

              HTTP POST

              The POST method allows you to update a Sim instance resource.

              Parameters

              Any or all of the following parameters can be provided. In the case where a request parameter corresponds to a property on the instance resource, that property will be updated to the provided value.

              Names in PHP format
              sid
              Required
              post sid_like<DE> Not PII

              The SID of the Sim resource to update.

              uniqueName
              Optional
              post string Not PII

              An application-defined string that uniquely identifies the resource. It can be used in place of the sid in the URL path to address the resource.

              callbackMethod
              Optional
              post http_method Not PII

              The HTTP method we use to call callback_url. Can be: POST or GET, and the default is POST.

              callbackUrl
              Optional
              post url Not PII

              The URL we call using the callback_url when the SIM has finished updating. When the SIM transitions from new to ready or from any status to deactivated, we call this URL when the status changes to an intermediate status (ready or deactivated) and again when the status changes to its final status (active or canceled).

              friendlyName
              Optional
              post string PII MTL: 30 DAYS

              A descriptive string that you create to describe the resource. It does not need to be unique.

              ratePlan
              Optional
              post sid_like<WP> Not PII

              The sid or unique_name of the RatePlan resource that this SIM should use.

              status
              Optional
              post enum:status Not PII

              The new status of the resource. Can be: ready, active, suspended or deactivated; however the SIM might support additional values.

              commandsCallbackMethod
              Optional
              post http_method Not PII

              The HTTP method we use to call commands_callback_url. Can be: POST or GET, and the default is POST.

              commandsCallbackUrl
              Optional
              post url Not PII

              The URL we call using the commands_callback_method when the SIM originates a Command. Your server should respond with an HTTP status code in the 200 range; any response body is ignored.

              smsFallbackMethod
              Optional
              post http_method Not PII

              The HTTP method we use to call sms_fallback_url. Can be: GET or POST.

              smsFallbackUrl
              Optional
              post url Not PII

              The URL we call using the sms_fallback_method when an error occurs while retrieving or executing the TwiML requested from sms_url.

              smsMethod
              Optional
              post http_method Not PII

              The HTTP method we use to call sms_url. Can be: GET or POST.

              smsUrl
              Optional
              post url Not PII

              The URL we call using the sms_method when the SIM-connected device sends an SMS message that is not a Command.

              voiceFallbackMethod
              Optional
              post http_method Not PII

              The HTTP method we use to call voice_fallback_url. Can be: GET or POST.

              voiceFallbackUrl
              Optional
              post url Not PII

              The URL we call using the voice_fallback_method when an error occurs while retrieving or executing the TwiML requested from voice_url.

              voiceMethod
              Optional
              post http_method Not PII

              The HTTP method we use when we call voice_url. Can be: GET or POST.

              voiceUrl
              Optional
              post url Not PII

              The URL we call using the voice_method when the SIM-connected device makes a voice call.

              resetStatus
              Optional
              post enum:reset_status Not PII

              Initiate a connectivity reset on the SIM. Set to resetting to initiate a connectivity reset on the SIM. No other value is valid.

              Callback Values

              If a callback URL is present in your request, the asynchronous request made to that URL will contain the following parameters.

              Parameter Description
              SimSid The Sim that this callback is in reference to.
              SimUniqueName The Sim's UniqueName, if it has one.
              SimStatus An updated string representing the new status of the Sim.
              ErrorCode If an error occurred, an error code is provided.
              ErrorMessage If an error occurred, an error message is provided.
              ApiVersion The version of the API that your initial request was made to.
              AccountSid The unique id of the Account that this Sim belongs to.

              If the callback method was set to POST or not provided, the callback parameters will be delivered as HTML form parameters. If the callback method was set to GET, the callback parameters will be delivered as a query string.

              Update a SIM Instance

              In the following example, a Sim is updated by setting its status to active. Provide a callback URL and callback method to be asynchronously notified when the update has completed.

                    
                    
                    
                    

                    HTTP PUT

                    Not supported.

                    Delete a SIM Instance

                    HTTP DELETE

                    Delete a Sim from your account.

                    Sim Instance Subresources

                    Sims Data Sessions Subresource

                    Real time insight into how and where your device is connecting to the cellular networks. See REST API: SIM Data Sessions resource.

                    Resource URLs:

                    https://wireless.twilio.com/v1/Sims/{Sid}/DataSessions
                    https://wireless.twilio.com/v1/Sims/{UniqueName}/DataSessions
                    

                    Sims Usage Records Subresource

                    Represents a usage report for the Sim over a specified period. See REST API: SIM Usage Records resource for properties and response formats.

                    Resource URLs:

                    https://wireless.twilio.com/v1/Sims/{SimSid}/UsageRecords
                    https://wireless.twilio.com/v1/Sims/{SimUniqueName}/UsageRecords
                    

                    Sims List Resource

                    Resource URL:

                    https://wireless.twilio.com/v1/Sims
                    

                    List all SIMs in an Account

                    HTTP GET

                    HTTP GET returns a list of Sims within an account. The list includes paging information.

                          
                          
                          
                          

                          List Filters

                          The following GET query string parameters allow you to limit the list returned. Note that parameters are case-sensitive.

                          Parameter Description
                          Status Only return Sims with this status.
                          RatePlan Only return Sims with this Rate Plan.
                          Iccid Return Sims with thie Iccid. Currently, this should be a list with a maximum size 1.

                          HTTP POST

                          Not Supported. SIM resources are created by ordering SIMs, or registering a Starter SIM.

                          HTTP PUT

                          Not supported.

                          HTTP DELETE

                          Not supported.

                          View SIM Lifecycle Events

                          The lifecycle events of a Sim are audited and reported by Monitor Events. An update to a Sim resource results in a Monitor Event with an Event Type of wireless-sim.updated.

                          The valid resource_properties that can be reported are rate_plan_sid and status. For each, a previous and updated value may be provided. For example:

                          "event_data": {
                            "resource_properties": {
                              "rate_plan_sid": {
                                "previous": "WP0195dea2f0b1e00dbc54d0715e36e2db",
                                "updated": "WP3b921b4711ee21ac01c7075a7eb19fcf"
                              },
                              "status": {
                                "previous": "new",
                                "updated": "active"
                              }
                            }
                          }
                          
                          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.