BotDevice bot.device@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/device.v1.json
bot.device@1: a paired device as the API presents it (domain.present.device): never a credential or publish-key hash; online is added when a robot's devices are listed.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
robot_ids | array of string | yes |
| |
name | string | null | |||
kind | string | yes | ||
agent_version | string | null | |||
drivers | array | |||
capabilities | object | |||
last_seen | string | null |
| ||
revoked_at | string | null |
| ||
created_at | string | yes |
| |
updated_at | string | yes |
| |
online | boolean |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: agent
{
"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"
}Rejected: bad-robot-id
{
"id": "dev_01J8Z4N0A1B2C3D4E5F6G7H8J9",
"robot_ids": [
"robot-1"
],
"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"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('bot.device@1', value); // { valid, errors: [{ path, message }] }