ActorAgentListResult actor.agent-list-result@1
Generated at from
openvibe-contracts v0.127.0 and
openvibe-sdk v0.37.0.
- Version
- 1.0.0
- Owner
- actor
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Decision
- ADR-044
- Schema
https://openvibe.network/contracts/actor/agent-list-result.v1.json
actor.agent-list-result@1: GET /api/v1/agents (capability actor.agent.read): every agent system Actor can route a task to. KIND is the backend class (ADR-044): openvibe-runtime (OpenVibe's own agent, acting through OpenVibe services), agent-platform (another platform's agent, called through its API), open-model (an open model on OpenVibe's own hardware), codes (coding work through OpenVibe.Codes), node and run (a person's machine or OpenVibe.Run). TRUST is ADR-046's class; private mode takes only first-party ones. CAN are the task classes and tools it takes (task:<class>, tool:<name>). RATE_CARD is the published price, revised by review and never written by a model (SOURCE says where it comes from, VERIFIED_AT when a person last checked it). AVAILABLE says whether it can take a task now and REASON why not.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
agents | array of object | yes |
| |
agents[].id | string | yes |
| |
agents[].name | string | yes |
| |
agents[].kind | enum | yes |
| |
agents[].provider | string | yes |
| |
agents[].model | string |
| ||
agents[].trust | enum | yes |
| |
agents[].can | array of string | yes |
| |
agents[].rate_card | object | yes |
| |
agents[].rate_card.input_usd_per_mtok | number | yes |
| |
agents[].rate_card.output_usd_per_mtok | number | yes |
| |
agents[].rate_card.per_call_usd | number | A fixed charge per tool call the platform bills (for example a web search). |
| |
agents[].rate_card.source | string | yes |
| |
agents[].rate_card.verified_at | string | yes |
| |
agents[].typical_latency_ms | integer |
| ||
agents[].available | boolean | yes | ||
agents[].reason | string |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: two
{
"agents": [
{
"id": "openvibe-runtime",
"name": "OpenVibe runtime",
"kind": "openvibe-runtime",
"provider": "OpenVibe",
"model": "deepseek-chat",
"trust": "first-party",
"can": [
"task:answer",
"task:research",
"tool:openvibe-search",
"tool:openvibe-tools"
],
"rate_card": {
"input_usd_per_mtok": 0.27,
"output_usd_per_mtok": 1.1,
"source": "https://api-docs.deepseek.com/quick_start/pricing",
"verified_at": "2026-10-08"
},
"available": true
},
{
"id": "openai-agent",
"name": "OpenAI agent",
"kind": "agent-platform",
"provider": "OpenAI",
"model": "gpt-5-mini",
"trust": "external",
"can": [
"task:answer",
"task:research",
"tool:web-search"
],
"rate_card": {
"input_usd_per_mtok": 0.25,
"output_usd_per_mtok": 2,
"per_call_usd": 0.01,
"source": "https://openai.com/api/pricing/",
"verified_at": "2026-10-08"
},
"available": false,
"reason": "no OpenAI key configured"
}
]
}Rejected: no-rate-card
{
"agents": [
{
"id": "openvibe-runtime",
"name": "OpenVibe runtime",
"kind": "openvibe-runtime",
"provider": "OpenVibe",
"model": "deepseek-chat",
"trust": "first-party",
"can": [
"task:answer",
"task:research",
"tool:openvibe-search",
"tool:openvibe-tools"
],
"available": true
}
]
}Rejected: unknown-kind
{
"agents": [
{
"id": "openvibe-runtime",
"name": "OpenVibe runtime",
"kind": "magic",
"provider": "OpenVibe",
"model": "deepseek-chat",
"trust": "first-party",
"can": [
"task:answer",
"task:research",
"tool:openvibe-search",
"tool:openvibe-tools"
],
"rate_card": {
"input_usd_per_mtok": 0.27,
"output_usd_per_mtok": 1.1,
"source": "https://api-docs.deepseek.com/quick_start/pricing",
"verified_at": "2026-10-08"
},
"available": true
}
]
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('actor.agent-list-result@1', value); // { valid, errors: [{ path, message }] }