API Reference
Change the eSIM Profile Service Plan
POST /v1/devices/profile/actions/serviceplan
This API allows customers to change the service plan on either Verizon US or global eSIM profiles.
Bulk operation: Supported (The callback would be one for each profile). Bulk operations have a limit of 10,000 requests. eSIM profiles: Both Verizon US and Global.
Note: When using SKU based activations, SIM OTA (Over-The-Air) must be performed prior to performing maintenance transactions (Service Plan change, feature change, ICCID change.)
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/serviceplan
Request Parameters
| Parameter Name | 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. |
| accountName (required) | string | The name of the account. |
| servicePlan | string | The name of the service plan the request is changing to. Use the Verizon servicePlan when performing an action on the Verizon network and use the Global servicePlan when performing action for Global. |
Request Body
Example request:
{
"devices": [
{
"deviceIds": [
{
"kind": "eid",
"id": "32-digit EID"
},
{
"kind": "iccid",
"id": "20-digit ICCID"
}
]
}
],
"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":"32-digit EID",
"kind":"Eid"
},
{
"id":"15-digit IMEI",
"kind":"Imei"
},
{
"id":"1+ 10-digit phone number",
"kind":"msisdn"
},
{
"id":"20-digit ICCID",
"kind":"Iccid"
}
],
"deviceResponse":{
"deviceProfileResponse":{
"deviceIdentifierCollection":[
{
"id":"32-digit EID",
"kind":"Eid"
},
{
"id":"15-digit IMEI",
"kind":"Imei"
},
{
"id":"1+ 10-digit phone number",
"kind":"msisdn"
},
{
"id":"20-digit ICCID",
"kind":"Iccid"
}
],
"state":"ACTIVE",
"profileStatus":"ENABLE",
"profileRole":"LOCAL"
}
},
"status":"SUCCESS",
"callbackCount":1,
"maxCallbackThreshold":4
}Callback Parameters
| Parameter Name | Data Type | Description |
|---|---|---|
| requestId | string | The requestId being viewed. This is a system generated value from the request above. |
| deviceIds | array | An array of device IDs associated with 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. |
| state | string | The state of the device(s) responding. |
| profileStatus | string | Indicates the profile state. A successful request will show ENABLE. |
| profileRole | string | This indicates if the profile is LEAD, LOCAL or DEFAULT. |
| status | string | The status of the deviceResponse. |
| 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"
}
