Deploy Update

Deploy update

POST https://api.upswift.io/v1/deploy_update

Using this call, you can deploy update flows on your devices. This is useful for CI/CD integrations and when you would like to deploy updates on your device fleet automatically.

Request Body

{"message": "Success"}

Possible types and values:

  • devices_filter object:

    • filters key:

      • Possible values for the type key:

        • specific_device - Set this value if you want to filter one specific device. The value of the value key of this type is the ID of the device you want to filter (you can obtain the id on Upswift dashboard). The possible operand key values for this type are: is, is_not

        • tag - Set this value if you want to filter devices by a tag. The value of the value key of this type is the name of the tag you want to filter (you can obtain the tag name on Upswift dashboard). The possible operand key values for this type are: is, is_not

        • app - Set this value if you want to filter devices by the apps that are set to them. The value of the value key of this type is the app name. The possible operand key values for this type are: is, is_not.

        • device_state - Set this value if you want to filter devices by their state. The possible values of the value key of this type are: online, offline. The possible operand key value of this type is: is

        • update_status - Set this value if you want to filter devices by their last update status. The possible values of the value key of this type are: pending, in_progress, success, failed, aborted. The possible operand key value of this type is: is, is_not

All values must be of type: String.

Full payload example:

{
    "user_token": "<user token>",
    "flow_id": "73a7-1ft8",
    "devices_filter": {"project": {"name": "Demo"},
                       "groups": [{"name": "TestGroup1"}, {"name": "TestGroup2"}],
                       "filters": [{"type": "specific_device",
                                    "operand": "is",
                                    "value": "d-4ec7-1be9"}]},
    "metadata": {"comment": "test webhook 1",
                 "app": {"name": "default_app", "version": "v1.1"}}
}

Code Example

import json
import requests

#Upswift tokens
user_token = "<user token>"

json_content = {'user_token': user_token,
                'metadata': {'comment': 'test webhook 1',
                             'app': {'name': 'default_app', 'version': 'v1.1'}},
                'flow_id': '73a7-1ft8',
                'devices_filter': {'project': {'name': 'Demo'},
                                   'groups': [{'name': 'TestGroup1'}, {'name': 'TestGroup2'}],
                                   'filters': [{'type': 'specific_device',
                                                'operand': 'is',
                                                'value': 'd-4ec7-1be9'}]}
                }
                                
                             
                
call_request = requests.post("https://api.upswift.io/v1/deploy_update", json=json_content)
call_response = json.loads(call_request.text)

if call_request.status_code != 200:
    if call_request.status_code == 429:
        error = "API limit reached"
    else:
        error = call_response["error_message"]
    print(error)
else:
    response_message = call_response["message"]

Last updated