Download_Enable an eSIM Profile

POST /v1/devices/profile/actions/download_enable

This is a combined operation of download and enable a Global eSIM profile based on the contracted service plan while the device, with a Verizon eSIM profile, is connected to the Verizon US network or temporarily roams outside the US. The device must be powered on and connected when performing this operation. As soon as a Global eSIM profile is downloaded successfully, ThingSpace will automatically enable the downloaded Global eSIM profile. Once the profile is enabled successfully, all other eSIM profiles will be disabled. Only one eSIM profile can be enabled at any given time for a device. Device(s) with enabled Global eSIM profiles are now connected natively to the local carrier’s network. Please note that the eSIM profile will be roaming if the global eSIM profile is activated in the US or outside of the designated home country. Roaming charges may apply.

If the particular profile is enabled, all the other profiles are automatically disabled. The callback would be one for each device. 

Bulk operation: Supported (The callback would be one for each profile). Bulk operations have a limit of 10,000 requests.

eSIM profiles: Only Global

Contents

Request Components

Header Parameters

The request header must set the content-type to JSON, contain a current ThingSpace authorization token and a current VZ-M2M session token. For more details on how to get these tokens, visit  Getting Started.

Parameter Name Data Type Description
Authorization
required
string

HTTP Authorization bearer token:
Authorization: Bearer {token}

VZ-M2M-Token
required
string

A valid session token:
VZ-M2M-Token: {M2Mtoken}

Content-Type
required
string

Must be application/json:
Content-Type: application/json

HTTP Request

POST https://thingspace.verizon.com/api/m2m/v1/devices/profile/actions/download_enable

Request Parameters

Parameter Data Type Description

devices
required

array

An array of deviceIds. Each deviceId will contain:

  • id
  • kind
   id
string The numeric value of the device ID type.
   kind
string

The the type of device ID represented by the ID value. Only the following are supported by the request and both values must be present:

  • iccid - integrated circuit card ID (SIM card)
  • eid - electronic ID, a 32-digit unique ID of the device
  • imei - International Mobile Equipment Identifier 
accountName
required
string The name of the account.
servicePlan string The name of the service plan associated with the account.

Request Body

Example request:

{
    "devices": [
        {
            "deviceIds": [
                {
                    "kind": "eid",
                    "id": "32-digit EID"
                },
                {
                    "kind": "iccid",
                    "id": "20-digit ICCID"
                },
                {
                    "kind": "imei",
                    "id": "15-digit IMEI"
                }
            ]
        }
    ],
    "accountName": "0000123456-00001",
    "servicePlan": "service plan name",
}

Success Response

Status 200

A successful response shows a system generated request ID to track the request.

Example Response:

{
  "requestId": "d1f08526-5443-4054-9a29-4456490ea9f8"
}

Callback Response

These endpoints send responses asynchronously. In order to read the results a callback is required.To learn more about callbacks, please visit About Callback Services.

Example callback response:

{
    "requestId": "d1f08526-5443-4054-9a29-4456490ea9f8",
    "deviceIds": [
        {
            "id": "20-digit ICCID",
            "kind": "Iccid"
        },
        {
            "id": "15-digit IMEI",
            "kind": "Imei"
        },
        {
            "id": "32-digit EID",
            "kind": "Eid"
        },
        {
            "id": "10-digit phone number",
            "kind": "mdn"
        }
    ],
    "deviceResponse": {
        "deviceProfileResponse": {
            "deviceIdentifierCollection": [
                {
                    "id": "20-digit ICCID",
                    "kind": "Iccid"
                },
                {
                    "id": "15-digit IMEI",
                    "kind": "Imei"
                },
                {
                    "id": "32-digit EID",
                    "kind": "Eid"
                },
                {
                    "id": "10-digit phone number",
                    "kind": "mdn"
                }
            ],
            "state": "ACTIVE",
            "profileStatus": "ENABLE",
            "profileRole": "LOCAL"
        }
    },
    "status": "SUCCESS",
    "callbackCount": 1,
    "maxCallbackThreshold": 4
}

Callback Parameters

Parameter Data Type Description
requestId string The requestId being viewed. This is a system generated value from the request above.
deviceIds
array

An array of devices being queried by the request. Each deviceId will contain:

  • id
  • kind
   id
string The numeric value of the device ID.
   kind
string

The the type of device ID represented by the ID value. This could be:

  • imei
  • iccid
  • mdn
  • eid
deviceResponse array Contains the deviceProfileResponse, status and number of callback records returned.
deviceProfileResponse  array

Contains the details and status of the devices and the request.

   deviceIdentifierCollection array Similar to deviceIds above, but this lists the devices responding.
     state string The state of the device(s) responding.
     profileStatus string

Indicates the profile state and will show what request was made.

Note: The callback state can be download failed or download successful but show either enable failed or enable successful

     profileRole string This indicates if the profile is LEAD, LOCAL or DEFAULT.
status string The status of the deviceResponse callback.
callbackCount string The number of responses for deviceResponse found.
maxCallbackThreshold string The maximum number of responses for deviceResponse allowed.

Failure Responses

All error responses will be in the following format

{
  "errorCode": "The 3-digit HTML error code",
  "errorMessage": "string"
}