API Reference
# Activate or Reactivate an eSIM Profile ### `POST /devices/profile/actions/activate` The first step before activating global connectivity is to activate the device on the Verizon network. This API lets you activate the device on Verizon US or Global eSIM profiles based on the service plan. The same API can also reactivate previously deactivated eSIM profile(s). **Bulk operation**: Supported (The callback would be one for each eSIM profile). Bulk operations have a limit of 10,000 requests. **eSIM profiles**: Verizon (US), Global and Fallback. ## 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](https://thingspace.verizon.com/documentation/api-documentation.html#/http/session-management/guides/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/activate](/docs/standard-apis/global-iot-orchestration/api-endpoints/activate-or-reactivate-an-esim-profile/activateadeviceprofile) ## 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. This is numeric and is in the format **0000123456-00001**. Leading zeros must be included. | | **mdnZipCode** | string | The billing zip code of the account. | | **servicePlan** | string | Use the Verizon ServicePlan when performing an action on the Verizon network and use the Global ServicePlan when performing an action for Global. | ## Request Body Example request: ```json { "devices": [ { "deviceIds": [ { "kind": "eid", "id": "32-digit EID" }, { "kind": "iccid", "id": "20-digit ICCID" }, { "kind": "imei", "id": "15-digit IMEI" } ] } ], "accountName": "0000123456-00001", "mdnZipCode": "5-digit zip code", "servicePlan": "service plan name", } } ``` ## Success Response **Status 200** A successful response shows a system generated request ID to track the request. Example Response: ```json { "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](https://thingspace.verizon.com/documentation/api-documentation.html#/http/connectivity-management/guides/working-with-verizon-wireless/about-callback-services). Example callback responses: ```json { "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" }, { "id": "1+ 10-digit phone number", "kind": "msisdn" } ], "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" }, { "id": "1+ 10-digit phone number", "kind": "msisdn" } ], "state": "ACTIVE", "servicePlan": "service plan name", "deviceCredential": { "username": "user's email address", "password": "password" }, "profileStatus": "ENABLE", "euiccSubAddressUpdateStatus": "EXECUTED_SUCCESS", "euiccSubAddressUpdateStatusCode": "1", "euiccSubAddressUpdateStatusDesc": "Line processed successfully", "profileRole": "LEAD" } }, "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** or **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. | | **servicePlan** | string | The name of the service plan associated. | | **deviceCredential** | object | The login and password information needed to access the device. | | **username** | string | The user's login information. This is an email address. | | **password** | string | The user's password. | | **profileStatus** | string | Indicates the profile state and will show what request was made. | | **euiccSubAddressUpdateStatus** | string | Status of any address update requests. | | **euiccSubAddressUpdateStatusCode** | string | A system generated status code for an address update request. | | **euiccSubAddressUpdateStatusDesc** | string | A description of the status code from above. | | **profileRole** | string | This indicates if the profile is **LEAD**, **LOCAL**. or **FALLBACK**. Lead is for Verizon profiles, local is for global. Fallback is the profile used as a default if the Lead or Local profile fail. | | **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 ```json { "errorCode": "The 3-digit HTML error code", "errorMessage": "string" } ```