---
title: "ai.model-read-result@1 · OpenVibe.Services"
canonical: "https://openvibe.services/docs/contracts/ai.model-read-result"
updated: null
---

# ai.model-read-result@1 · OpenVibe.Services

HTML: [ai.model-read-result@1 · OpenVibe.Services](https://openvibe.services/docs/contracts/ai.model-read-result)

# AiModelReadResult `ai.model-read-result@1`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

- Version: 1.0.0
- Owner: ai
- Visibility: first-party
- Status: active
- Compatibility: backward
- Schema: [`https://openvibe.network/contracts/ai/model-read-result.v1.json`](/docs/contracts/ai.model-read-result.json)

ai.model-read-result@1: response from GET /v1/models (a list) or GET /v1/models/:id (a single model).

## Fields

This schema has no named fields.

## Examples

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

 Valid: list

~~~~
{
  "models": [
    {
      "provider_key": "qwen",
      "model_key": "qwen3-9b-abliterated",
      "type": "chat",
      "status": "active",
      "cost": {
        "in_per_mtok": 3,
        "out_per_mtok": 15,
        "cached_per_mtok": 0.3
      },
      "supports": {
        "json": true,
        "tools": true,
        "streaming": true,
        "vision": false
      },
      "id": "qwen/qwen3-9b-abliterated:q4_k_m@3f2a1c9"
    }
  ],
  "count": 1,
  "cursor": null
}
~~~~

Valid: single

~~~~
{
  "provider_key": "qwen",
  "model_key": "qwen3-9b-abliterated",
  "type": "chat",
  "status": "active",
  "cost": {
    "in_per_mtok": 3,
    "out_per_mtok": 15,
    "cached_per_mtok": 0.3
  },
  "supports": {
    "json": true,
    "tools": true,
    "streaming": true,
    "vision": false
  },
  "id": "qwen/qwen3-9b-abliterated:q4_k_m@3f2a1c9",
  "availability": "available"
}
~~~~

Rejected: bad-list

~~~~
{
  "models": [
    {
      "provider_key": "qwen",
      "model_key": "qwen3-9b-abliterated",
      "type": "chat",
      "status": "active",
      "cost": {
        "in_per_mtok": 3,
        "out_per_mtok": 15,
        "cached_per_mtok": 0.3
      },
      "supports": {
        "json": true,
        "tools": true,
        "streaming": true,
        "vision": false
      },
      "retail_rate": {
        "input_nano_usd_per_m": 3000
      }
    }
  ],
  "count": 1,
  "cursor": null
}
~~~~

Rejected: missing-required

~~~~
{
  "provider_key": "qwen",
  "model_key": "qwen3-9b-abliterated",
  "type": "chat",
  "status": "active",
  "supports": {
    "json": true,
    "tools": true,
    "streaming": true,
    "vision": false
  },
  "id": "qwen/qwen3-9b-abliterated:q4_k_m@3f2a1c9"
}
~~~~

Rejected: neither

~~~~
{
  "cursor": null
}
~~~~

## Validate

~~~~
const contracts = require('openvibe-contracts');
contracts.validate('ai.model-read-result@1', value);   // { valid, errors: [{ path, message }] }
~~~~
