Change Campaign Dates and Time Windows

PUT /campaigns/firmware/{acc}/{campaignId}/dates

Allows you to change campaign dates and time windows.

Uses and Requirements

The following limitations apply to changing campaign dates and time windows:

  • Before the campaign starts, you can:

    • Change the campaign start date
    • Add or remove campaign time windows
    • Change the end date
  • After the campaign has begun, but before it ends, you can:

    • Change the end date to no earlier than +24 hours from now

Request Components

HTTP Request

PUT https://thingspace.verizon.com/api/fota/v3/campaigns/firmware/{acc}/{campaignId}/dates

Resource Path and Query Parameters

Parameter Name Data Type Description
acc
required
string The account name.
campaignId
required
string Software upgrade identifier, returned in the "id" value of the POST /campaigns/firmware/{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.

Parameter Name Data Type Description
Authorization
required
string HTTP Authorization request header containing a valid Bearer token.
VZ-M2M-Token
required
string A valid session token returned by a Connectivity Management POST /session/login request.
Content-Type
required
string Must be application/json.

Request Body

The request body identifies the devices that you want to upgrade.

Parameter Name Data Type Description
startDate
required
string($date) Campaign start date.
endDate
required
string($date) Campaign end date.
campaignTimeWindowList array An array of allowed download time windows
    startTime
required
integer Start hour in range [0-23], current hour >= startTime. When the current hour falls between the startTime and the endTime, it starts
    endTime
required
integer End hour in range [1-24], current hour < endTime.

Example Request if Modifying Existing Time Windows

curl --l --r PUT 'https://thingspace.verizon.com/api/fota/v3/campaigns/firmware/0000123456-00001/4e03b882-936a-11ec-931f-76f56843c393/dates' \
-H 'VZ-M2M-Token: {M2M token}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {bearer token}' \
--data-raw '{
 "startDate": "2022-02-23",
 "endDate": "2022-02-24",
 "campaignTimeWindowList": [
   {
     "startTime": 14,
     "endTime": 18
   }
 ]
}'

Example Request if Modifying Existing Start and End Dates

curl --l --r PUT 'https://thingspace.verizon.com/api/fota/v3/campaigns/firmware/0000123456-00001/4e03b882-936a-11ec-931f-76f56843c393/dates' \
-H 'VZ-M2M-Token: {M2M token}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {bearer token}' \
--data-raw '{
 "startDate": "2022-02-24",
 "endDate": "2022-02-25"
}
'

Success Responses

Status 200

Parameter Name Data Type Description
id string Upgrade identifier.
accountName string The account name.
campaignName string The campaign name.
firmwareName string The name of the firmware to which you are upgrading.
protocol string Valid values include:
  • LWM2M
  • OMA
  • HTTP
make string Applicable make.
model string Applicable model.
softwareFrom string The name of the old software on the device.
softwareTo string The name of the new software to which you are upgrading.
status string Software upgrade status
startDate string($date) Campaign start date.
endDate string($date) Campaign end date.
campaignTimeWindowList Array of startTime and endTime objects List of allowed download time windows.
    startTime
required
integer Start hour in range [0-23], current hour >= startTime. When the current hour falls between the startTime and the endTime, it starts.
    endTime
required
integer End hour in range [1-24], current hour < endTime.

Example Success Response

"id": "4e03b882-936a-11ec-931f-76f56843c393",
   "accountName": "0000123456-00001",
   "campaignName": "modify-campaign-test-1",
   "firmwareName": "NordicSemiconductorASA_nRF9160_ee58ac77-f1fd-4960-8dc4-4d32e118a6d4_4325d595-7b69-4474-ba39-9c177930aac3",
   "protocol": "LWM2M",
   "firmwareFrom": "ee58ac77-f1fd-4960-8dc4-4d32e118a6d4",
   "firmwareTo": "4325d595-7b69-4474-ba39-9c177930aac3",
   "make": "Nordic Semiconductor ASA",
   "model": "nRF9160",
   "status": "CampaignRequestQueued",
   "startDate": "2022-02-23",
   "endDate": "2022-02-24",
   "campaignTimeWindowList": [
       {
           "startTime": 14,
           "endTime": 18
       }
   ]
}

Failure Responses

Status 400

All error messages are returned in this format:

 {
   "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.