Links

Deploy Update

post
https://api.upswift.io/v1/
deploy_update
Deploy update
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

Python
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"]