Cancel a scheduled firmware upgrade
# Cancel an Upgrade ### `DELETE /campaigns/{accountName}/{campaignId}` Allows you to cancel a software upgrade. A software upgrade can be canceled before the start date. After the start date, but before the end date, the software upgrade can be aborted, but not canceled. ## HTTP Request DELETE [https://thingspace.verizon.com/api/fota/v2/campaigns/{accountName}/{campaignId}](/docs/premium-apis/software-management/software-management-v2/api-endpoints/campaigns-v2/cancelcampaign) ## Resource Path Parameters | Parameter Name | Data Type | Description | |:----------------|:-----------|:-------------| | **accountName** <br> _required_ | string | Account identifier. | | **campaignId** <br> _required_ | string | Software upgrade identifier, returned in the "id" value of the `POST /{campaigns}/acc` response when the upgrade was scheduled. | ## Header Parameters The request header must 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** <br> _required_ | string | HTTP Authorization bearer token: <br> `Authorization: Bearer {token}` | | **VZ-M2M-Token** <br> _required_ | string | A valid session token: <br> `VZ-M2M-Token: {M2Mtoken}` | ## Request Body None ## Example Request Request a software upgrade. ```json curl -X DELETE https://thingspace.verizon.com/api/fota/v2/campaigns/$ACC/$CAMPAIGN_ID -H 'Authorization: Bearer $AUTH_TOKEN' -H 'VZ-M2M-Token: $M2M_TOKEN' -H 'Content-Type: application/json' -d ``` ## Success Responses **Status 200** | Parameter Name | Data Type | Description | |:----------------|:-----------|:-------------| | **success** | Boolean | True or false. | ## Example Success Response ```json { "success": true } ``` ## 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 page, along with explanations and suggestions for corrective actions.