List Commands
curl --request GET \
--url https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commandsimport requests
url = "https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands")
.asString();require 'uri'
require 'net/http'
url = URI("https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"commands": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"risk_level": "<string>",
"requires_approval": true,
"input_schema": {}
}
]
}Assets
List Commands
Return all commands available on an asset — PTZ moves, arm/disarm, mode changes, etc.
GET
/
api
/
kits
/
{kit_id}
/
assets
/
{asset_id}
/
commands
List Commands
curl --request GET \
--url https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commandsimport requests
url = "https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands")
.asString();require 'uri'
require 'net/http'
url = URI("https://argus.hoplynk.com/api/kits/{kit_id}/assets/{asset_id}/commands")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"commands": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"risk_level": "<string>",
"requires_approval": true,
"input_schema": {}
}
]
}UUID of the kit.
UUID of the asset.
Response
List of enabled command definitions.
Show Command fields
Show Command fields
Command UUID.
Command identifier used in Send Command (e.g.
ptz_move, arm, reboot).Human-readable description of what the command does.
low · medium · high — indicates how carefully the command should be confirmed before sending.If
true, the Argus dashboard will show an extra confirmation dialog before dispatching.JSON Schema object that describes the
payload required by Send Command. An empty object {} means no payload is needed.Example
result = client.get_commands(kit_id, asset_id)
for cmd in result["commands"]:
print(f"{cmd['name']} [{cmd['risk_level']}] {cmd['description']}")
curl https://argus.hoplynk.com/api/kits/$KIT_ID/assets/$ASSET_ID/commands \
-H "X-API-Key: hlk_..."
Response (drone)
{
"commands": [
{
"id": "a1b2c3d4-...",
"name": "arm",
"description": "Arm the vehicle motors.",
"risk_level": "high",
"requires_approval": true,
"input_schema": {}
},
{
"id": "b2c3d4e5-...",
"name": "disarm",
"description": "Disarm the vehicle motors.",
"risk_level": "medium",
"requires_approval": false,
"input_schema": {}
},
{
"id": "c3d4e5f6-...",
"name": "set_mode",
"description": "Set the flight mode.",
"risk_level": "medium",
"requires_approval": false,
"input_schema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": ["GUIDED", "AUTO", "LOITER", "RTL", "LAND"]
}
},
"required": ["mode"]
}
},
{
"id": "d4e5f6g7-...",
"name": "goto_waypoint",
"description": "Fly to a lat/lon/alt waypoint in GUIDED mode.",
"risk_level": "medium",
"requires_approval": false,
"input_schema": {
"type": "object",
"properties": {
"lat": { "type": "number" },
"lon": { "type": "number" },
"alt_m": { "type": "number" }
},
"required": ["lat", "lon", "alt_m"]
}
}
]
}
⌘I