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": {}
}
]
}string
required
UUID of the kit.
string
required
UUID of the asset.
Response
array
List of enabled command definitions.
Show Command fields
Show Command fields
string
Command UUID.
string
Command identifier used in Send Command (e.g.
ptz_move, arm, reboot).string
Human-readable description of what the command does.
string
low · medium · high — indicates how carefully the command should be confirmed before sending.boolean
If
true, the Argus dashboard will show an extra confirmation dialog before dispatching.object
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"]
}
}
]
}