BotRobotManageResult bot.robot-manage-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-manage-result.v1.json
bot.robot-manage-result@1: answers of bot.robot.manage on OpenVibe.Bot. POST /api/v1/robots → 201 { robot, pairing }; PATCH …/robots/:id and POST …/robots/:id/estop/clear → { robot }; DELETE …/robots/:id → 204 (no body); POST …/robots/:id/pairing-code → 201 { code, expires_at, installer }; POST …/robots/:id/operators → 201 { operators }; DELETE …/robots/:id/operators/:subject → { operators }; POST …/devices/:id/rotate and /revoke → bot.device-connect-result@1.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: created
{
"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"
},
"pairing": {
"code": "ABCD-EFGH",
"expires_at": "2026-09-29T19:20:00.000Z",
"installer": "curl -fsSL https://openvibe.bot/install.sh | sh -s ABCD-EFGH"
}
}Valid: device-rotated
{
"device": {
"id": "dev_01J8Z4N0A1B2C3D4E5F6G7H8J9",
"robot_ids": [
"rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X"
],
"name": "rover-pi",
"kind": "agent",
"agent_version": "0.1.0",
"drivers": [
"adeept"
],
"capabilities": {},
"last_seen": "2026-09-29T19:20:00.000Z",
"revoked_at": null,
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
},
"credential": "devc_secret",
"publish_key": "pk_secret"
}Valid: estop-cleared
{
"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": "usr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"at": "2026-09-29T19:20:00.000Z"
},
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
}
}Valid: operators
{
"operators": [
{
"subject": "usr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"role": "operator",
"added_by": "usr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A3",
"created_at": "2026-09-29T19:20:00.000Z"
}
]
}Rejected: operator-without-subject
{
"operators": [
{
"role": "operator"
}
]
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('bot.robot-manage-result@1', value); // { valid, errors: [{ path, message }] }