BotRobotReadResult bot.robot-read-result@1
Generated at from
openvibe-contracts v0.97.0 and
openvibe-sdk v0.26.0.
- Version
- 1.0.0
- Owner
- bot
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/bot/robot-read-result.v1.json
bot.robot-read-result@1: answers of bot.robot.read on OpenVibe.Bot (a service token needs no acting subject: only GET …/robots needs ?owner=). GET /api/v1/robots?owner= → { robots }; GET …/robots/:id → { robot, role }; GET …/robots/:id/operators → { operators }; GET …/robots/:id/devices → { devices } (no hashes, with online); GET …/robots/:id/audit?limit=&before= → { audit, next_before } (newest first).
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: audit
{
"audit": [
{
"id": 42,
"robot_id": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
"device_id": "dev_01J8Z4N0A1B2C3D4E5F6G7H8J9",
"operator_subject": "usr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"operator_kind": "user",
"role": "operator",
"kind": "drive",
"value": {
"throttle": 0.6
},
"result": "ack",
"reason": null,
"latency_ms": 42,
"at": "2026-09-29T19:20:00.000Z"
}
],
"next_before": 42
}Valid: list
{
"robots": [
{
"id": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
"name": "Rover",
"profile_id": "adeept.adr036",
"profile_version": 1,
"access_policy": "private",
"limits": {
"max_command_ms": 300
},
"estop": {
"latched": false,
"by": null,
"at": null
},
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
}
]
}Valid: robot
{
"robot": {
"id": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
"name": "Rover",
"profile_id": "adeept.adr036",
"profile_version": 1,
"access_policy": "private",
"limits": {
"max_command_ms": 300
},
"estop": {
"latched": false,
"by": null,
"at": null
},
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
},
"role": "owner"
}Rejected: bad-audit-result
{
"audit": [
{
"id": 1,
"robot_id": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
"kind": "drive",
"result": "maybe",
"at": "2026-09-29T19:20:00.000Z"
}
],
"next_before": null
}Rejected: robots-not-a-list
{
"robots": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('bot.robot-read-result@1', value); // { valid, errors: [{ path, message }] }