BotDeviceConnectResult bot.device-connect-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/device-connect-result.v1.json
bot.device-connect-result@1: answers of OpenVibe.Bot's device credential routes, which Bot gates with bot.robot.manage (bot.device.connect is reserved, not enforced). POST /api/v1/devices/:id/rotate → { device, credential, publish_key } (both secrets shown once); POST …/devices/:id/revoke → { device } (its socket closes at once).
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: revoked
{
"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": "2026-09-29T19:20:00.000Z",
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
}
}Valid: 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"
}Rejected: rotated-without-key
{
"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"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('bot.device-connect-result@1', value); // { valid, errors: [{ path, message }] }