Get a firmware list
# Get a list of available firmware images for an account #### `GET /firmware/{account}` Lists all device firmware images available for an account, based on the devices registered to that account. Comparing available firmware versions with the versions installed on devices can show you which devices should be scheduled for a firmware upgrade. You can request all available firmware images or only those applicable to a specified client type. ## Request Components #### HTTP Request `GET https://thingspace.verizon.com/api/fota/v1/firmware/{account}` ## Resource Path and Query Parameters You must include the account name in the path. | Parameter Name | Data Type | Description | |-----|-----|-----| | **account** *(required)* | string | The name of the account for which you want the list of available firmware. An account name is usually numeric, and must include any leading zeros.| ## 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` | ## Request Body None. ## Example Request Request the list of available firmware for an account: `curl https://thingspace.verizon.com/api/fota/v1/firmware/0402196254-00001 -H 'Authorization: Bearer $AUTH_TOKEN' -H 'VZ-M2M-Token: $M2M_TOKEN'` ## Success Responses **Status 200** A success response contains an array of firmware objects. Each object contains this information: | Parameter Name | Data Type | Description | |-----|-----|-----| **firmwareName** | string | The name of the firmware image, provided by the device manufacturer. You must use this name when scheduling an upgrade. **participantName** | string | Internal reference; can be ignored. **launchDate** | string | The release date of the firmware image. **releaseNote** | string | Additional information about the release. **model** | string | The device model that the firmware applies to. Must match the model of any devices that you want to apply this upgrade to. **make** | string | The device make that the firmware applies to. Must match the make of any devices that you want to apply this upgrade to. **fromVersion** | string | The firmware version that must currently be on the device to upgrade. Must match the firmware of any devices that you want to apply this upgrade to. **toVersion** | string | The firmware version that will be on the device after an upgrade. **clientType** | string | The device management protocol supported by the firmware, either “OMADM” or “LWM2M.” ## Example Success Response ```json [ { "firmwareName":"FOTA_Verizon_Model-A_01To02_HF", "participantName":"0402196254-00001", "launchDate":"0001-01-01 00:00:00 +0000 UTC", "releaseNote":"", "model":"Model-A", "make":"Verizon", "fromVersion":"VerizonFirmwareVersion-01", "toVersion":"VerizonFirmwareVersion-02", "clientType": "OMADM" } ] ``` ## Failure Responses **Status 400** All error messages are returned in this format: ```json { "errorCode": "error code string", "errorMessage": "error message string" } ``` Error codes and messages are listed on the [Error Messages](https://thingspace.verizon.com/documentation/api-documentation.html#/http/software-management/guides/error-messages) page, along with explanations and suggestions for corrective actions.