For AI agents: markdown of this page — /docs-content-en/ai/models/get.md documentation index — /llms.txt

Get model

The response comes in raw OpenAI format.

The {success, data} envelope used across the other Vibecode endpoints — /v1/deals, /v1/tasks and others — is not present here.

This is done for compatibility with the OpenAI SDK. If you have a single client with an if (!response.success) check, add an exception for the AI Router.

GET /v1/models/:modelId

Returns the details of a single model by modelId. Used when you need to check a model's characteristics (context, price, capabilities) before a request to /v1/chat/completions. The response format is compatible with GET /v1/models/:id from the OpenAI API.

Parameters

Parameter Type Req. Description
modelId (path) string yes Model ID from GET /v1/models. May contain slashes: openai/gpt-4o, bitrix/bitrixgpt-5.5, bitrix/openai/gpt-oss-120b. The full path after /v1/models/ is treated as the modelId

Examples

curl — personal key

Terminal
curl https://vibecode.bitrix24.com/v1/models/bitrix/bitrixgpt-5.5 \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl https://vibecode.bitrix24.com/v1/models/bitrix/bitrixgpt-5.5 \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const modelId = 'bitrix/bitrixgpt-5.5'
const res = await fetch(`https://vibecode.bitrix24.com/v1/models/${modelId}`, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const model = await res.json()
console.log(`${model.name}: context ${model.context_length}, price ${model.pricing.prompt}/${model.pricing.completion} Vibe credits per 1M tokens`)

JavaScript — OAuth application

javascript
const modelId = 'bitrix/bitrixgpt-5.5'
const res = await fetch(`https://vibecode.bitrix24.com/v1/models/${modelId}`, {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const model = await res.json()
console.log('Vision support:', model.capabilities.vision === true)

Response fields

Field Type Description
id string Model ID
object string Always model
created number Unix timestamp of registration in the Vibecode catalog (0 for platform models)
owned_by string System name of the provider: bitrix, openai, anthropic, openrouter, google, etc. Platform models that we resell return vibecode.
name string Display name of the model
context_length number Maximum context size in tokens
max_output_tokens number Maximum tokens in the response
pricing.prompt number Cost of 1M input tokens
pricing.completion number Cost of 1M response tokens
pricing.perCall number Per-call fee in Vibe credits. Present only when greater than 0
pricing.perMinute number Per audio-minute fee in Vibe credits. Present only when greater than 0
pricing.unit string Pricing unit: vibes
capabilities object Model capabilities: streaming, vision, reasoning, audio, transcription, tools, structured_outputs, embeddings
replaced_by string Identifier of the successor model. Present only when the requested id has been retired and its calls are served by another model. In that case pricing shows the successor's price

This is what the response looks like for a retired model:

JSON
"pricing": { "prompt": 68.4, "completion": 342, "unit": "vibes" },
"replaced_by": "bitrix/bitrixgpt-5.5-agent"

Response example

JSON
{
  "id": "bitrix/bitrixgpt-5.5",
  "object": "model",
  "created": 0,
  "owned_by": "bitrix",
  "name": "BitrixGPT 5.5 (free)",
  "context_length": 262144,
  "max_output_tokens": 65536,
  "pricing": {
    "prompt": 0,
    "completion": 0,
    "unit": "vibes"
  },
  "capabilities": {
    "streaming": true,
    "vision": true,
    "structured_outputs": true
  }
}

Error response example

404 ai_model_not_found — model not found or the key has no access to it:

JSON
{
  "error": {
    "message": "Model \"openai/gpt-4o\" not found or disabled.",
    "type": "invalid_request_error",
    "code": "ai_model_not_found"
  }
}

Errors

HTTP Code Description
404 ai_model_not_found A model with this modelId does not exist, is disabled, or the key has no access
403 scope_missing The API key is missing the vibe:ai scope
401 MISSING_API_KEY The X-Api-Key header was not provided
401 INVALID_API_KEY The key was not found or has been revoked
429 rate_limit_exceeded The request limit for AI endpoints has been exceeded. Time until reset is in the Retry-After header

The full list of common API errors — Errors.

Known specifics

modelId with slashes. The endpoint accepts any number of segments after /v1/models/. For example, GET /v1/models/bitrix/openai/gpt-oss-120b is read as modelId = "bitrix/openai/gpt-oss-120b". There is no need to URL-encode the slashes.

Visibility matches the list. If a model is not shown in GET /v1/models — a request to GET /v1/models/:modelId returns 404, even if the model formally exists in the platform catalog. This means your key has no access to it. Connect credentials via BYOK.

See also