Skip to main content

Robots API

Endpoints for listing and retrieving robot information.

List Robots

GET /api/robots

Returns all robots in the fleet. Requires the viewer role; note this endpoint applies no per-robot filtering.

Query Parameters

ParameterTypeDefaultDescription
isOnlinebooleanFilter by online status; accepts true/false, 1/0, or a bare flag (= true). Other values return 400
withLocalizationbooleanfalseInclude localization data (pose) in response

Response

[
{
"id": "robot_abc123",
"name": "warehouse-bot-1",
"agentVersion": "1.2.0",
"agentOnline": true,
"updatedTs": 1710000000000
},
{
"id": "robot_def456",
"name": "warehouse-bot-2",
"agentVersion": "1.2.0",
"agentOnline": false,
"updatedTs": 1709999000000
}
]

With Localization

When withLocalization=true, each robot includes pose data:

[
{
"id": "robot_abc123",
"name": "warehouse-bot-1",
"agentVersion": "1.2.0",
"agentOnline": true,
"updatedTs": 1710000000000,
"localization": {
"pose": {
"x": 12.5,
"y": 3.2,
"theta": 1.57,
"frameId": "map",
"ts": 1710000000000
}
}
}
]

Example

# List all online robots with localization
curl -H "x-auth-api-key: YOUR_KEY" \
"http://localhost:3000/api/robots?isOnline=true&withLocalization=true"

Get Robot

GET /api/robots/{robotId}

Returns a single robot by ID.

Path Parameters

ParameterDescription
robotIdUnique robot identifier

Response

{
"id": "robot_abc123",
"name": "warehouse-bot-1",
"agentVersion": "1.2.0",
"agentOnline": true,
"updatedTs": 1710000000000
}

Errors

StatusCondition
403User lacks the viewer role ({"error": "User not authorized to access robots"} on the list endpoint)
404Robot not found (body is the bare JSON string "Not found")

Example

curl -H "x-auth-api-key: YOUR_KEY" \
http://localhost:3000/api/robots/robot_abc123

Get Robot Footprint

GET /api/robots/{robotId}/footprint

Returns the robot's resolved footprint: its own RobotFootprint config, falling back field-by-field to the system config, falling back to its reported outline (ISO 21423 robots only) when neither config defines a footprint or radius. See Maps: Robot footprint for the full resolution order. Requires the viewer role.

Path Parameters

ParameterDescription
robotIdUnique robot identifier

Response

Polygons as [x, y] pairs, in metres, in the robot's own frame (+x forward). Only the fields that resolved are present; an empty object {} means no configured or reported footprint (the widget falls back to its default 0.45 m ring).

{
"footprint": [[0.3, 0.2], [0.3, -0.2], [-0.3, -0.2], [-0.3, 0.2]],
"bufferFootprint": [[0.4, 0.3], [0.4, -0.3], [-0.4, -0.3], [-0.4, 0.3]],
"radius": 0.3
}

Errors

StatusCondition
403User lacks the viewer role
404Robot not found

Example

curl -H "x-auth-api-key: YOUR_KEY" \
http://localhost:3000/api/robots/robot_abc123/footprint

Response Fields

FieldTypeDescription
idstringRobot unique identifier
namestringHuman-readable robot name
agentVersionstringAgent software version
agentOnlinebooleanWhether the agent is currently connected
updatedTsnumberLast update timestamp (epoch milliseconds)
localizationobjectLocalization data (only with withLocalization=true)