AI Platform Docs
API

API Agent Registry

HTTP-интерфейс каталога, правила доступа, дрейф-отчёт и OpenAPI 3.1.2 для версии 2026.3.5.

Состояние контракта

АтрибутЗначение
Базовый путь/api/v2
OpenAPI3.1.2
JSON Schema2020-12
Версия контракта2.0-r2
Состояниеaccepted-by-ADR-0002-and-ADR-0003
УдостоверениеOIDC/JWT (Bearer) для защищённых операций
АвторизацияПрямая проверка разрешения в Platform AuthZ (SpiceDB)
Связь запросовW3C Trace Context и traceId в ответе

Скачать OpenAPI JSON

SHA-256 и путь нормативного источника опубликованы в манифесте артефактов.

Операции

Метод и путьНазначениеПраво
GET /api/v2/agentsСтраница активных агентов, видимых через agent#viewagent#view для каждой возвращаемой записи
GET /api/v2/agents/{agentId}Одна активная запись по UUIDv7agent#view
POST /api/v2/agents/searchГибридный поиск активных агентов, каждый кандидат фильтруется через agent#viewagent#view
GET /api/v2/driftТекущий дрейф платформы по allowlist наблюденийplatform#view_drift на ресурсе platform:agent-platform
GET /health/liveРаботоспособность процессаОпределяется политикой границы среды
GET /health/readyГотовность обслуживать запросыОпределяется политикой границы среды

Операции создания, изменения, удаления, развёртывания и вызова агента отсутствуют. Состояние формируется из наблюдения, а вызов выполняется через Platform Agent Gateway.

Просмотр списка

Возвращает только активные (lifecycleStatus = active) записи, видимые через agent#view. Поддерживаются фильтры протокола, типа реализации выбранной версии и прямого владельца. Ограничение размера страницы является ограниченным сервером числом.

Доступные параметры:

ПараметрЗначение
protocolМассив: a2a, mcp
implementationTypeМассив: sdk, low-code. SDK наблюдается при включённом профиле sdk-helm/v1; low-code публикуется через R2-адаптер CP
ownerTypeprincipal или service; должен передаваться вместе с ownerIssuer и ownerSubject
ownerIssuerURI издателя неизменяемой идентичности; вместе с ownerType и ownerSubject
ownerSubjectНеизменяемый subject у издателя; вместе с ownerType и ownerIssuer
cursorОpaque-курсор для постраничной навигации
limit1–100, по умолчанию 20

Курсор:

  • зашифрован и защищён от изменения;
  • связан с удостоверением и полным набором фильтров;
  • не содержит количество скрытых объектов;
  • становится недействительным после ротации ключа;
  • при ошибке возвращает cursor_invalid и не открывает страницу без фильтров.

Тип реализации sdk|low-code и протокол a2a|mcp применяются независимо и совместно. Значение mcp не является типом реализации.

Пример:

GET /api/v2/agents?protocol=a2a&implementationType=low-code&ownerType=principal&ownerIssuer=https%3A%2F%2Fidp.platform&ownerSubject=user-123&limit=20 Authorization: Bearer <platform-token>

Не передавайте идентификатор пользователя и готовое решение о правах в параметрах запроса.

Получение одной записи

agentId — непрозрачный UUID. Скрытая и отсутствующая запись возвращают одинаковый 404.

Ответ может содержать:

  • безопасное имя и описание;
  • идентификаторы агента и выбранной версии;
  • владельца, рабочую область и состояние;
  • протокол и тип реализации;
  • проверенные навыки или безопасные метаданные MCP;
  • канонический интерфейс вызова, если пользователь имеет право.

Ответ не содержит внутренний адрес Service или Pod, адрес получения карточки, полную исходную карточку, закрытые диагностические данные и учетные данные.

Интерфейс вызова

Если интерфейс доступен, его форма содержит:

ПолеЗначение
urlКанонический HTTPS-адрес Platform Agent Gateway для конкретных Agent и AgentVersion
protocolBindingПринятая привязка A2A HTTP+JSON или MCP Streamable HTTP
exposurepublic_gateway
authorizationplatform_oidc_spicedb

Клиент не подменяет агента, версию и внутреннюю службу через заголовок, параметр или тело. Известный URL без права не позволяет обойти Platform Agent Gateway.

Поиск

Запрос содержит текст, рабочую область, необязательный профиль, протоколы, типы реализации, topK и необязательный более строгий minScore. Поля userId, роли и решение о доступе запрещены.

Ответ содержит только разрешенные совпадения выше порога. Смысловая и лексическая оценки не обходят проверку SpiceDB. Если подходящих результатов нет, возвращается 200 и matches: [].

Краткий пример формы запроса:

{
  "query": "агент для подготовки краткого изложения",
  "workspaceId": "workspace-1",
  "protocols": ["a2a"],
  "implementationTypes": ["low-code"],
  "topK": 10
}

Текст запроса не должен сохраняться в PostgreSQL, OpenSearch, Redpanda, журнале аудита и телеметрии.

Ошибки

{
  "error": {
    "code": "authorization_unavailable",
    "message": "Authorization service is temporarily unavailable",
    "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
    "details": []
  }
}
HTTPКласс ошибки
400 или 422Неверная форма, фильтр, курсор или детерминированная проверка
401Отсутствует, недействительно или просрочено удостоверение
403Подтвержденному субъекту запрещена команда или диагностика
404Объект отсутствует либо намеренно скрыт
409Конфликт неизменяемой идентичности или жизненного цикла
429Превышено принятое ограничение частоты или параллельности
503Недоступна авторизация, векторизация или поиск
504Внешняя зависимость не ответила за установленное время
500Непредвиденная ошибка с очищенным сообщением

Ошибка не раскрывает стек, токен, внутренний URL, текст запроса или карточки и существование запрещенного кандидата.

Совместимость

Потребитель фиксирует SHA-256 OpenAPI и проверяет различия перед обновлением. Несовместимое изменение поля, пути или права требует новой версии API либо принятого периода перехода, проверок поставщика и потребителя и условия удаления прежней формы.

На этой странице