Use the following APIs to manage Campaigns.
Create Campaign
- Required Permissions
-
You must have the Create Campaign permission to perform this operation.
- API
- /api/campaigns
- Method
- POST
- Required Parameters
-
Name Description name string
Name of the campaign. - Input Example
-
{ "name": "string", "description": "string", "packages": [ "string" ], "campaignSettings": { "settings": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" } } }
- Response
-
{ "uuid": "string" }
Edit Campaign
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}
- Method
- PUT
- Required Parameters
-
Name Description name string
Name of the campaign. description string
Campaign description. packages string
Update packages for the campaign. campaignSettings string
Campaign setting specifications. campaignId string
ID for the campaign.
Delete Campaign
Get Campaign
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}
- Method
- GET
- Required Parameters
-
Name Description campaignId string
ID of the campaign. - Response
-
{ "status": "string", "name": "string", "creationTime": "string", "packages": { "packages": [ "string" ] }, "id": "string", "description": "string" }
Start Campaign by ID
Stop Campaign by ID
Approve Campaign by ID
Register Completed Callback
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Register a completed callback. The callback runs after the OTA process ends for the campaign, and after adding every gateway to the campaign.
- API
- /api/campaigns/{campaign_id}/callbacks/completed
- Method
- PUT
- Required Parameters
-
Name Description notificationDestinationId string
callback destination. campaignId string
ID of the campaign.
Register Wake Up Callback
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Register a wake up callback. The callback is triggered whenever the server components need to notify a gateway about running a command. The gateway receives the notification and poll for commands.
- API
- /api/campaigns/{campaign_id}/callbacks/wake-up
- Method
- PUT
- Required Parameters
-
Name Description notificationDestinationId string
callback destination. campaignId string
ID of the campaign.
Notify Gateway
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Notify a gateway in the campaign to request or get tasks.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/notify
- Method
- PUT
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. campaignId string
ID of the campaign.
Assign Update Packages for the Target Gateway
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Assign Update Packages for a specific gateway to run packages for.Note: This API will override the globally assigned default campaign packages.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/packages
- Method
- PUT
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. packages string
Update package IDs to be assigned. campaignId string
ID of the campaign.
Get Updated Package Information for the Gateway in the Campaign
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/packages
- Method
- GET
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. campaignId string
ID of the campaign. - Response
-
{ "packages": [ "string" ] }
Get Gateways Added to the Campaign
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/devices
- Method
- GET
- Required Parameters
-
Name Description campaignId string
ID of the campaign. - Response
-
{ "pageResponse": { "totalPages": "string", "totalElements": "string", "page": 0, "pageSize": 0 }, "gateways": [ { "gatewayId": "string", "state": "string", "closed": true } ] }
List Campaigns
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns
- Method
- GET
- Optional Parameters
-
Name Description id string
Campaign ID. name string
Name of the campaign. status string
Status of the campaign: - STARTED
- CREATED
- STOPPED
- APPROVAL_NEEDED
- APPROVED
preDeliveryCallback string
Pre-delivery callback for the campaign. postDeliveryCallback string
Post-delivery callback of the campaign. description string
Description of the campaign. creationTime int64
Campaign creation time. packages string
Package IDs used for campaign updates. - Response
-
"name" - name-of-the-campaign; "status"-status-of-campaign (STARTED|CREATED|STOPPED); "page" - { "number" : int32, "size" :int32, "sort": "sort-direction" }
Add Gateways to a Campaign
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/devices
- Method
- POST
- Required Parameters
-
Name Description gatewayId string
List of gateway IDs. campaignId string
ID of the campaign. - Input Example
-
{ "gatewayIds": [ "string" ], "campaignId": "string" }
- Response
-
{}
Remove Gateways in a Campaign
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/devices
- Method
- PUT
- Required Parameters
-
Name Description gatewayIds string
List of gateway IDs. campaignId string
ID of the campaign. - Input Example
-
{ "gatewayIds": [ "string" ], "campaignId": "string" }
- Response
-
{}
Set Campaign Distribution List
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/distribution-list
- Method
- PUT
- Required Parameters
-
Name Description distributionListId string
Distribution list ID. reevaluationIntervalSeconds string
Re-evaluation interval in seconds for the distribution list. campaignId string
ID of the campaign.
Get Campaign Distribution List
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/distribution-list
- Method
- GET
- Required Parameters
-
Name Description campaignId string
ID of the campaign. - Response
-
{ "distributionListId": "string", "reevaluationIntervalSeconds": "string", "campaignId": "string" }
Schedule Download
- Required Permissions
-
You must have the Schedule Campaign permission to perform this operation.
- Description
-
Schedule a download of the update packages for a gateway in the campaign.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/scheduled-download
- Method
- PUT
- Required Parameters
-
Name Description - begin
- end
string
Represents a fixed slice of time where begin
andend
are seconds. (UNIX Epoc time with millisecond precision.)begin
: start of the time period.end
: End of the time period.
gatewayId string
ID of the gateway. campaignId string
ID of the campaign.
Schedule Activation
- Required Permissions
-
You must have the Schedule Campaign permission to perform this operation.
- Description
-
Schedule activation of the update packages for the gateway in a campaign.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/scheduled-activation
- Method
- PUT
- Required Parameters
-
Name Description - begin
- end
string
Represents a fixed slice of time where begin
andend
are seconds. (UNIX Epoc time with millisecond precision.)begin
: start of the time period.end
: End of the time period.
gatewayId string
ID of the gateway. campaignId string
ID of the campaign.
Schedule Execution
- Required Permissions
-
You must have the Schedule Campaign permission to perform this operation.
- Description
-
Schedule execution of the update packages for the gateway in a campaign.
- API
- api/campaigns/{campaign_id}/devices/{gateway_id}/scheduled-execution
- Method
- PUT
- Required Parameters
-
Name Description - begin
- end
string
Represents a fixed slice of time where begin
andend
are seconds. (UNIX Epoc time with millisecond precision.)begin
: start of the time period.end
: End of the time period.
gatewayId string
ID of the gateway. campaignId string
ID of the campaign.
Close Campaign for a Gateway
Get Campaign State
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- Description
-
Get the state of a specific gateway in the campaign.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/state
- Method
- GET
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. campaignId string
ID of the campaign. - Response
-
{ "state": "string" }
Register State Change Callback
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Register a state change callback. The callback runs when there is a change in the state of the gateway in the campaign.
- API
- /api/campaigns/{campaign_id}/callbacks/state-change
- Method
- PUT
- Required Parameters
-
Name Description notificationDestinationId
Notification destination ID. campaignId
Campaign ID.
Register Execution Progress Callback
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Register an execution progress callback. The callback runs when the execution progress is set.
- API
- /api/campaigns/{campaign_id}/callbacks/execution-progress
- Method
- PUT
- Required Parameters
-
Name Description notificationDestinationId
Notification destination ID. campaignId
Campaign ID.
Register Download Progress Callback
- Required Permissions
-
You must have the Edit Campaign permission to perform this operation.
- Description
-
Register a download progress callback. The callback runs when the download progress is set.
- API
- /api/campaigns/{campaign_id}/callbacks/download-progress
- Method
- PUT
- Required Parameters
-
Name Description notificationDestinationId
Notification destination ID. campaignId
Campaign ID.
Get Execution Progress
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- api/campaigns/{campaign_id}/devices/{gateway_id}/progress/execution
- Method
- GET
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. campaignId string
ID of the campaign. - Response
-
{ "progress": [ "string" ] }
Get Download Progress
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/progress/download
- Method
- GET
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. campaignId string
ID of the campaign. - Response
-
{ "packagesProgress": [ { "progress": "string", "total": "string", "id": "string" } ] }
Get Active Campaigns for a Gateway
Get Overall Campaign Status
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/status
- Method
- GET
- Required Parameters
-
Name Description campaignId string
ID of the campaign. - Response
-
{ "status": "string", "name": "string", "campaignId": "string", "numberOfGatewaysInActivationCompleteState": "string", "numberOfGatewaysInExecutionCompleteState": "string", "creationTime": "string", "modificationTime": "string", "totalNumberOfGateways": "string", "totalNumberOfPackages": "string", "numberOfGatewaysInDownloadCompleteState": "string", "description": "string" }
Get Campaign Status Per Gateway
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaigns/{campaign_id}/devices/{gateway_id}/status
- Method
- GET
- Required Parameters
-
Name Description gatewayId string
ID of the gateway. campaignId string
ID of the campaign. - Response
-
{ "campaignId": "string", "campaignState": { "state": "string" }, "timestamp": "string", "downloadProgress": { "packagesProgress": [ { "progress": "string", "total": "string", "id": "string" } ] }, "executionProgress": [ "string" ], "gatewayId": "string" }
Get Campaign Count by Status
- Required Permissions
-
You must have the View Campaign permission to perform this operation.
- API
- /api/campaign-status/campaigns
- Method
- GET
- Required Parameters
- None
- Response
-
{ "aprovedNotStartedCount": "string", "startedCount": "string", "stoppedCount": "string", "waitingApprovalCount": "string", "noApprovalNeededReadyToStartCount": "string" }
Get Package Information
- Required Permissions
-
You must have the View Package permission to perform this operation.
- Description
- This API provides information about the package.
- API
- /api/programs/{uuid}/file-info
- Method
- GET
- Required Parameters
-
Name Description uuid string
IoTC ID. - Response
-
{ "description": "string", "id": "string", "createdBy": "string", "createdOn": "string", "name": "string" }
List Packages
- Required Permissions
-
You must have the View Package permission to perform this operation.
- API
- /api/programs
- Method
- GET
- Optional Parameters
-
Name Description name string
Name of the program. page string
- number
- size
- sort
- Response
-
{ "description": "string", "id": "string", "createdBy": "string", "createdOn": "string", "name": "string" }
Delete a Package
Upload Package Multipart
- Required Permissions
-
You must have the Create Package permission to perform this operation.
- Description
- Use this API to upload a reprogramming package. The request size is limited to 1 GB. This API consumes only multipart requests.
- API
- /api/programs/
- Method
- POST
- Required Parameters
-
Name Description file file
The file that is being uploaded. - Optional Parameters
-
Name Description description string
Description of the uploaded file. Maximum length of characters is 128. - Input Example
-
Accept "application/zip" { "description": "A" }
The request is not multipart and its body contains the file.
- Response
-
{ "uuid": "string" }
Upload Package Streaming
- Required Permissions
-
You must have the Create Package permission to perform this operation.
- Description
- Use this API to upload a reprogramming package. The request size is unlimited.
- API
- /api/programs/
- Method
- POST
- Required Parameters
-
Name Description file file
The file that is being uploaded. - Optional Parameters
-
Name Description description string
Description of the uploaded file. Maximum length of characters is 128. - Input Example
-
Accept "application/zip" { "description": "A" }
The request is not multipart and its body contains the file.
- Response
-
{ "uuid": "string" }
Run a Campaign on Thing Devices
- API
- /{campaign_id}/devices/things
- Method
- POST
- Parameters
-
Name Description campaign_id string
ID of the campaign. gateway_things string
List of connected Thing devices in a gateway. gateway_id string
ID of the gateway. thing_id string
ID of the Thing devices that are connected to the gateway. state string
State of the gateway in a campaign. not_processed_thing_ids string
ID of the connected Thing devices in a gateway that are not processed in the campaign. closed boolean
Denotes that the gateway is closed for updates. causedBy string
Contains the cause of failure if a gateway is in failed state. download_progress string
List of campaigns that are being downloaded. execution_progress string
List of campaigns that are running. timestamp string
Time stamp. - Input Example
-
{ "gateway_things": [ { "gateway_id": "gw1_id", "thing_ids": [ "thing1_id", "thing2_id" ] } ] }