Register and manage devices
A device is any hardware endpoint connected to Cadreen — a robot, arm, drone, or sensor. Register it, track it, and keep it healthy.
What is a device?
A device is a hardware endpoint connected to Cadreen. It has a position, velocity, battery level, and status. Cadreen tracks all of this in real time.
Devices send telemetry through MQTT. Cadreen receives it, updates the device's state, and checks for faults.
What types of devices work?
Mobile robots
AMRs, AGVs, delivery robots
Industrial arms
Robotic arms, grippers, welders
Drones
UAVs, inspection drones
Sensors
Temperature, vibration, current monitors
Cameras
Visual inspection, quality control
LiDAR
3D mapping, obstacle detection
How do I manage devices?
/api/v1/cadreen/devicesRegister a new device with Cadreen. Give it an ID and a starting position.
{
"id": "robot-1",
"status": "connected",
"message": "Device added"
}Example
curl -X POST http://localhost:8080/api/v1/cadreen/devices \
-H "Content-Type: application/json" \
-d '{"id": "robot-1", "pose": {"position": {"x": 0.0, "y": 0.0, "z": 0.0}, "orientation": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0}}}'/api/v1/cadreen/devicesList all registered devices. Returns their position, velocity, battery, and last update time.
{
"devices": [
{
"id": "robot-1",
"pose": {"position": {"x": 1.5, "y": 2.0, "z": 0.0}},
"twist": {"linear": {"x": 0.5}},
"battery": {"percentage": 0.85, "voltage": 12.1},
"last_update": "2026-07-18T10:30:00Z"
}
],
"total": 1
}Example
curl http://localhost:8080/api/v1/cadreen/devices/api/v1/cadreen/devices/{deviceID}Get details for a specific device.
{
"id": "robot-1",
"pose": {"position": {"x": 1.5, "y": 2.0, "z": 0.0}},
"twist": {"linear": {"x": 0.5}},
"battery": {"percentage": 0.85, "voltage": 12.1},
"last_update": "2026-07-18T10:30:00Z"
}Example
curl http://localhost:8080/api/v1/cadreen/devices/robot-1/api/v1/cadreen/devices/{deviceID}Remove a device from Cadreen. The device can be re-registered later.
{
"id": "robot-1",
"status": "removed",
"message": "Device removed"
}Example
curl -X DELETE http://localhost:8080/api/v1/cadreen/devices/robot-1/api/v1/cadreen/devices/{deviceID}/statusGet a device's status. Cadreen checks battery level to determine if the device needs attention.
{
"id": "robot-1",
"status": "working",
"battery": {"percentage": 0.85, "voltage": 12.1},
"pose": {"position": {"x": 1.5, "y": 2.0, "z": 0.0}}
}Example
curl http://localhost:8080/api/v1/cadreen/devices/robot-1/status/api/v1/cadreen/devices/{deviceID}/stateUpdate a device's position, velocity, or sensor data. Typically called by the device itself.
{
"id": "robot-1",
"status": "updated",
"message": "Device state updated"
}Example
curl -X POST http://localhost:8080/api/v1/cadreen/devices/robot-1/state \
-H "Content-Type: application/json" \
-d '{"pose": {"position": {"x": 2.0, "y": 3.0, "z": 0.0}}}'