Get devices details
Devices details
GET
https://api.connect.jfrog.io/v1/devices_details
Using this call you will get all details of your devices. You can choose to get details of all devices or all devices in a specific project/group or get the details of just a single device.
Request Body
user_token*
string
This is your account token. You can find it under the Settings category on the dashboard.
device_token
string
This is the token of the device you want to get the details of. If you set the device_token
, other parameters will be ignored.
group_name
string
This is the group name of the group you would like to get all its device details. Using group_name
parameter will work only if project_name
is set.
project_name
string
This is the project name of the project you would like to get all its devices state.
limit
integer
The number of results per page.
The maximum limit
is 50.
Default is 20.
offset
integer
Offset to start pagination search results.
This should be the last device_id
from the previous request.
device_name
String
Returns the details of a specific device, defined by name.
the name must be exactly equal.
{
"more": false,
"message": [
{"device_id": 123456,
"device_uuid": "d-1234-1234",
"device_name": "My-Device-1",
"upswift_version": "5.1",
"project": "Test",
"group": "Production",
"device_ip": "10.10.10.10",
"last_keepalive": "2020-02-08 16:12:11",
"cpu_usage": 65,
"ram_usage": 15,
"disk_usage": 1022.1,
"address": "Nurenberg, Germany",
"lat": 49.4521,
"lng": 11.0767,
"is_update_trigger_set": false,
"description": "device description example",
"registered_date": "2020-02-07 16:12:11",
"tags": ["London", "Lab Device", "4inch-screen"],
"updates": [
{"update_id": 1234,
"update_status": "success",
"update_version": "v1.1",
"comment": "Some kind of a comment",
"deployment_schedule_time": "2020-02-08 16:12:11"
},
{
update_id": 5555,
"update_status": "pending",
"update_version": "v1.2",
"comment": "Some kind of a comment",
"deployment_schedule_time": "2020-03-09 19:12:11"
}
],
"updates_v2": [
{"flow_name": "Some Name",
"update_status": "success",
"comment": "Some kind of a comment",
"deployment_schedule_time": "2020-02-08 16:12:11",
"deployment_start_time": "2020-02-08 16:12:11",
"deployment_finish_time": "2020-02-08 16:12:11",
"apps_updated": [{"app_name": "app1", "app_new_version": "v1.1"}],
"deployment_type": "manual"
},
{
"flow_name": "Some Name2",
"update_status": "failed",
"comment": "Some kind of a comment",
"deployment_schedule_time": "2020-02-08 16:12:11",
"deployment_start_time": "2020-02-08 16:12:11",
"deployment_finish_time": "2020-02-08 16:12:11",
"apps_updated": [{"app_name": "app1", "app_new_version": "v1.1"}],
"deployment_type": "api-deployment"
}
],
"apps": [{"app_name": "default_app",
"version": "v1.1"}],
"mac_addresses": ["ff:ff:ff:ff:ff:ff", "ff:ff:ff:ff:ff:ff", "ff:ff:ff:ff:ff:ff"],
}
]
}
Example
import json
import requests
json_content = {'project_name': 'MYPROJECT',
'group_name': 'Production',
'user_token': 'YYYYYYYYYYYYYYY'}
call_request = requests.get("https://api.connect.jfrog.io/v1/devices_details", 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:
for device in call_response["message"]:
device_name = device["device_name"]
device_id = device["device_id"]
device_uuid = device["device_uuid"]
upswift_version = device["upswift_version"]
project = device["project"]
group = device["group"]
device_ip = device["device_ip"]
last_keepalive = device["last_keepalive"]
cpu_usage = device["cpu_usage"]
ram_usage = device["ram_usage"]
address = device["address"]
lat = device["lat"]
lng = device["lng"]
is_update_trigger_set = device["is_update_trigger_set"]
description = device["description"]
registered_date = device["registered_date"]
updates = device["updates"]
tags = device["tags"]
updates = device["updates_v2"]
apps = device["apps"]
mac_addresses = device["mac_addresses"]
Was this helpful?