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 }] }