Wireless Sim Resource

A Sim resource represents a physical SIM that can connect to a wireless network.

To avoid ambiguity, 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 resource must have a Rate Plan before it can become active. The Rate Plan describes the capabilities and restrictions that apply to the SIM.


Asynchronous resources

The Sim resource operates asynchronously. To receive a notification when a Sim resource has finished updating, you should provide a callback URL and a callback method with your initial HTTP request. This is demonstrated in an example below.


Sim Properties

sid SID<DE>

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

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

Min length:34

Max length:34


unique_name string

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>

The SID of the Account to which the Sim resource belongs.

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

Min length:34

Max length:34


rate_plan_sid SID<WP>

The SID of the RatePlan resource to which the Sim resource is assigned.

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

Min length:34

Max length:34


friendly_name string

The string that you assigned to describe the Sim resource.


iccid string

The ICCID associated with the SIM.


e_id string

Deprecated.


status enum<string>

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

Possible values:

new

ready

active

suspended

deactivated

canceled

scheduled

updating


reset_status enum<string>

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.

Possible values:resetting


commands_callback_url string<uri>

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.


commands_callback_method enum<http-method>

The HTTP method we use to call commands_callback_url. Can be: POST or GET. Default is POST.

Possible values:

GET

POST


sms_fallback_method enum<http-method>

Deprecated.

Possible values:

GET

POST


sms_fallback_url string<uri>

Deprecated.


sms_method enum<http-method>

Deprecated.


sms_url string<uri>

Deprecated.


voice_fallback_method enum<http-method>

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


voice_fallback_url string<uri>

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


voice_method enum<http-method>

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


voice_url string<uri>

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


date_created string<date-time>

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


date_updated string<date-time>

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


url string<uri>

The absolute URL of the resource.


links object<uri-map>

The URLs of related subresources.


ip_address string

Deprecated.

Status Values

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

Status

Description

new

The SIM is waiting to be activated so that it can join the network. A Sim can remain new indefinitely at no charge, but once it becomes 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 become active.Use the ready status when shipping your device to a customer if you aren't exactly sure when they will start using it.Note This status 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 in Programmable Wireless Pricing for more details.

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 never be reactivated.

scheduled

The upstream network operator is temporarily unable to update the status of this SIM. Its 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.


Fetch a Sim resource

Get a Sim

GEThttps://programmable-wireless.api.korewireless.com/v1/Sims/{Sid}
Path parameters
Sid*string

The SID of the RatePlan resource to fetch.

Response

Get Sim

Headers
Body
sidstring
unique_namestring
friendly_namestring
account_sidstring
statusSimResourceStatus (enum)
deactivatedupdatingreadyactivedeletedsuspendedscheduledcancelednew
rate_plan_sidstring
iccidstring
eidstring
commands_callback_urlstring
commands_callback_methodstring
date_createdstring
date_updatedstring
ip_addressstring
reset_statusSimResourceResetStatus (enum)
resetting
linksobject
urlstring
voice_urlstring
voice_methodstring
voice_fallback_urlstring
voice_fallback_methodstring
sms_urlstring
sms_methodstring
sms_fallback_urlstring
sms_fallback_methodstring
Request
curl --location --globoff '{{baseUrl}}/v1/Sims/<string>' \
--header 'Authorization: Bearer <YOUR BEARER TOKEN>'
Response
{
  "sid": "text",
  "unique_name": "text",
  "friendly_name": "text",
  "account_sid": "text",
  "status": "deactivated",
  "rate_plan_sid": "text",
  "iccid": "text",
  "eid": "text",
  "commands_callback_url": "text",
  "commands_callback_method": "text",
  "date_created": "text",
  "date_updated": "text",
  "ip_address": "text",
  "reset_status": "resetting",
  "links": {
    "rate_plan": "text",
    "usage_records": "text",
    "data_sessions": "text"
  },
  "url": "text",
  "voice_url": "text",
  "voice_method": "text",
  "voice_fallback_url": "text",
  "voice_fallback_method": "text",
  "sms_url": "text",
  "sms_method": "text",
  "sms_fallback_url": "text",
  "sms_fallback_method": "text"
}

Read multiple Sim resources

List Sims

GEThttps://programmable-wireless.api.korewireless.com/v1/Sims
Query parameters
Response

Data Usage List

Headers
Body
simsarray of Sim (object)
metaobject
Request
curl --location --globoff '{{baseUrl}}/v1/Sims?Status=<string>&Iccid=<string>&RatePlan=<string>&EId=<string>&SimRegistrationCode=<string>&PageSize=<integer>&Page=<integer>&PageToken=<string>' \
--header 'Authorization: Bearer <YOUR BEARER TOKEN>'
Response
{
  "sims": [
    {
      "sid": "text",
      "unique_name": "text",
      "friendly_name": "text",
      "account_sid": "text",
      "status": "deactivated",
      "rate_plan_sid": "text",
      "iccid": "text",
      "eid": "text",
      "commands_callback_url": "text",
      "commands_callback_method": "text",
      "date_created": "text",
      "date_updated": "text",
      "ip_address": "text",
      "reset_status": "resetting",
      "links": {
        "rate_plan": "text",
        "usage_records": "text",
        "data_sessions": "text"
      },
      "url": "text",
      "voice_url": "text",
      "voice_method": "text",
      "voice_fallback_url": "text",
      "voice_fallback_method": "text",
      "sms_url": "text",
      "sms_method": "text",
      "sms_fallback_url": "text",
      "sms_fallback_method": "text"
    }
  ],
  "meta": {
    "first_page_url": "https://example.com",
    "key": "text",
    "next_page_url": "https://example.com",
    "previous_page_url": "https://example.com",
    "url": "https://example.com"
  }
}

Update a Sim resource

Update A Sim

POSThttps://programmable-wireless.api.korewireless.com/v1/Sims/{Sid}
Path parameters
Sid*string

The SID of the RatePlan resource to fetch.

Body
UniqueNamestring

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.

CallbackMethodenum

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

GETPOST
CallbackUrlstring (uri)

The URL we should 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).

FriendlyNamestring

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

RatePlanstring

The SID or unique name of the RatePlan resource to which the Sim resource should be assigned.

StatusSimStatus (enum)

The new status of the Sim resource. Can be: ready, active, suspended, or deactivated.

newreadyactivesuspendeddeactivatedcanceledscheduledupdating
CommandsCallbackMethodenum

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

GETPOST
CommandsCallbackUrlstring (uri)

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

SmsFallbackMethodenum

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

GETPOST
SmsFallbackUrlstring (uri)

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

SmsMethodenum

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

GETPOST
SmsUrlstring (uri)

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

VoiceFallbackMethodenum

Deprecated.

GETPOST
VoiceFallbackUrlstring (uri)

Deprecated.

VoiceMethodenum

Deprecated.

GETPOST
VoiceUrlstring (uri)

Deprecated.

ResetStatusSimResetStatus (enum)

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

resetting
AccountSidstring

The SID of the Account to which the Sim resource should belong. The Account SID can only be that of the requesting Account or that of a Subaccount of the requesting Account. Only valid when the Sim resource's status is new. For more information, see the Move SIMs between Subaccounts documentation.

Response

Data Usage Update

Headers
Body
sidstring
unique_namestring
friendly_namestring
account_sidstring
statusSimResourceStatus (enum)
deactivatedupdatingreadyactivedeletedsuspendedscheduledcancelednew
rate_plan_sidstring
iccidstring
eidstring
commands_callback_urlstring
commands_callback_methodstring
date_createdstring
date_updatedstring
ip_addressstring
reset_statusSimResourceResetStatus (enum)
resetting
linksobject
urlstring
voice_urlstring
voice_methodstring
voice_fallback_urlstring
voice_fallback_methodstring
sms_urlstring
sms_methodstring
sms_fallback_urlstring
sms_fallback_methodstring
Request
curl --location --globoff '{{baseUrl}}/v1/Sims/<string>' \
--header 'Authorization: Bearer <YOUR BEARER TOKEN>'
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--data-urlencode 'UniqueName=<string>' \
--data-urlencode 'CallbackMethod=<http-method>' \
--data-urlencode 'CallbackUrl=<uri>' \
--data-urlencode 'FriendlyName=<string>' \
--data-urlencode 'RatePlan=<string>' \
--data-urlencode 'Status=<string>' \
--data-urlencode 'CommandsCallbackMethod=<http-method>' \
--data-urlencode 'CommandsCallbackUrl=<uri>' \
--data-urlencode 'SmsFallbackMethod=<http-method>' \
--data-urlencode 'SmsFallbackUrl=<uri>' \
--data-urlencode 'SmsMethod=<http-method>' \
--data-urlencode 'SmsUrl=<uri>' \
--data-urlencode 'VoiceFallbackMethod=<http-method>' \
--data-urlencode 'VoiceFallbackUrl=<uri>' \
--data-urlencode 'VoiceMethod=<http-method>' \
--data-urlencode 'VoiceUrl=<uri>' \
--data-urlencode 'ResetStatus=<string>' \
--data-urlencode 'AccountSid=<string>'
Response
{
  "sid": "text",
  "unique_name": "text",
  "friendly_name": "text",
  "account_sid": "text",
  "status": "deactivated",
  "rate_plan_sid": "text",
  "iccid": "text",
  "eid": "text",
  "commands_callback_url": "text",
  "commands_callback_method": "text",
  "date_created": "text",
  "date_updated": "text",
  "ip_address": "text",
  "reset_status": "resetting",
  "links": {
    "rate_plan": "text",
    "usage_records": "text",
    "data_sessions": "text"
  },
  "url": "text",
  "voice_url": "text",
  "voice_method": "text",
  "voice_fallback_url": "text",
  "voice_fallback_method": "text",
  "sms_url": "text",
  "sms_method": "text",
  "sms_fallback_url": "text",
  "sms_fallback_method": "text"
}

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

Move SIMs between Subaccounts

If you are using Subaccounts, you can transfer new SIMs between your accounts.

While using the master account's credentials, use the AccountSid parameter to provide the Account SID of the account you wish to own that SIM. SIMs can be moved between accounts the following ways:

  • From the master account to a subaccount.

  • From a subaccount to the master account.

  • From a subaccount to another subaccount.

If the SIM you are moving is assigned to a Rate Plan, you must also pass the SID or unique name of a Rate Plan that belongs to the new account, or null, in the RatePlan parameter of your Update request.

Reset a SIM's connectivity

You can force your SIM to detach from the cellular network and reconnect by updating the Sim resource's ResetStatus to resetting.

Once the reset request is accepted by our downstream provider, the ResetStatus will return to null. You cannot issue another reset request while the ResetStatus is resetting.


Delete a Sim resource

delete a Sim

DELETEhttps://programmable-wireless.api.korewireless.com/v1/Sims/{Sid}
Path parameters
Sid*string

The SID of the RatePlan resource to fetch.

Response

The resource was deleted successfully.

Headers
Request
curl --location --globoff --request DELETE '{{baseUrl}}/v1/Sims/<string>' \
--header 'Authorization: Bearer <YOUR BEARER TOKEN>'
Response
{
  "message": "text",
  "more_info": "text"
}

View SIM lifecycle events

A SIM's lifecycle events 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"
    }
  }
}

Last updated