Standard APIsGlobal IoT OrchestrationAPI EndpointsEnable a Device Profile for Download

API Reference

Download_Enable a Global eSIM Profile

POST /v1/devices/profile/actions/download_enable

This is a combined operation of download and enable for 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

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 NameData TypeDescription
Authorization (required)stringHTTP Authorization bearer token: Authorization: Bearer {token}
VZ-M2M-Token (required)stringA valid session token: VZ-M2M-Token: {M2Mtoken}
Content-Type (required)stringMust be application/json Content-Type: application/json

HTTP Request

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

Request Parameters

ParameterData TypeDescription
devices (required)arrayAn array of deviceIds. Each deviceId will contain: id, kind
idstringThe numeric value of the device ID type.
kindstringThe 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)stringThe name of the account. This is numeric and is in the format 0000123456-00001. Leading zeros must be included.
servicePlanstringThe 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

ParameterData TypeDescription
requestIdstringThe requestId being viewed. This is a system generated value from the request above.
deviceIdsarrayAn array of devices being queried by the request. Each deviceId will contain: id, kind
idstringThe numeric value of the device ID.
kindstringthe type of device ID represented by the ID value. This could be: imei, iccid, mdn or eid.
deviceResponsearrayContains the deviceProfileResponse, status and number of callback records returned.
deviceProfileResponsearrayContains the details and status of the devices and the request.
deviceIdentifierCollectionarraySimilar to deviceIds above, but this lists the devices responding.
statestringThe state of the device(s) responding.
profileStatusstringIndicates the profile state and will show what request was made. Note: The callback state can be "download failed" or "download successful" but profileStatus can show either "enable failed" or "enable successful".
profileRolestringThis indicates if the profile is LEAD, LOCAL or FALLBACK.
statusstringThe status of the deviceResponse callback.
callbackCountstringThe number of responses for deviceResponse found.
maxCallbackThresholdstringThe 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"
}

On this page