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 thevalue
key of this type is the ID of the device you want to filter (you can obtain the id on Upswift dashboard). The possibleoperand
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 thevalue
key of this type is the name of the tag you want to filter (you can obtain the tag name on Upswift dashboard). The possibleoperand
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 thevalue
key of this type is the app name. The possibleoperand
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 thevalue
key of this type are:online
,offline
. The possibleoperand
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 thevalue
key of this type are:pending
,in_progress
,success
,failed
,aborted
. The possibleoperand
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"}}
}
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"]
Last modified 1yr ago