ActorAgentList actor.agent-list@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
actor
Visibility
public
Status
active
Compatibility
backward
Decision
ADR-044
Schema
https://openvibe.network/contracts/actor/agent-list.v1.json

actor.agent-list@1: GET /api/v1/agents for a signed-in person (capability actor.agent.manage): their own agent contacts, Vibe first. Vibe, the person's first agent, is created on this first read and cannot be deleted. Another person's agents are never in this list. The public agent-system catalog stays at GET /api/v1/agent-systems (actor.agent-list-result@2).

Fields

FieldTypeRequiredDescriptionConstraints
agentsactor.agentyes
  • maxItems 32

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: mine
{
  "agents": [
    {
      "id": "agt_01M4C49CW34NGX7TR2TNRVFWNW",
      "owner": "user:usr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A1",
      "name": "Vibe",
      "face": "preset:vibe",
      "voice": null,
      "model": {
        "engine": "runtime",
        "model": "smart"
      },
      "computer": null,
      "apps": [],
      "memory": null,
      "level": "ask",
      "created_at": "2026-11-07T09:30:00.000Z"
    }
  ]
}
Rejected: unknown-engine
{
  "agents": [
    {
      "id": "agt_01M4C49CW34NGX7TR2TNRVFWNW",
      "owner": "user:usr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A1",
      "name": "Vibe",
      "face": "preset:vibe",
      "voice": null,
      "model": {
        "engine": "toaster",
        "model": "smart"
      },
      "computer": null,
      "apps": [],
      "memory": null,
      "level": "ask",
      "created_at": "2026-11-07T09:30:00.000Z"
    }
  ]
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('actor.agent-list@1', value);   // { valid, errors: [{ path, message }] }