Головна/Каталог/Повний каталог одним запитом ENУКРРУС API-довідник (ReDoc) ↗

Повний каталог одним запитом

GET /v1/catalog повертає кожного видимого вендора з повністю деталізованими провайдерами — без обходу N+1.

Споживач, якому треба все — конструктор форм, picker провайдерів, експортований знімок — раніше обходив каталог у стилі N+1: список вендорів, а далі кожен провайдер окремо заради його схем. GET /v1/catalog замінює це одним запитом:

curl -s "$CREDS_BASE/v1/catalog" -H "Authorization: Bearer $TOKEN"
{
  "vendors": [
    {
      "code": "deepl",
      "name": "DeepL",
      "website": "https://www.deepl.com",
      "status": "active",
      "lifecycle": null,
      "providers": [
        {
          "code": "deepl_api",
          "name": "DeepL API",
          "category": "mt",
          "status": "active",
          "credential_resolution": {"...": "..."},
          "credential_schema": {"...": "..."},
          "configuration_schema": {"...": "..."},
          "capabilities": {"...": "..."},
          "technical_info": {"...": "..."},
          "lifecycle": null
        }
      ]
    }
  ],
  "catalog_version": "2026.08.24"
}

Кожен вузол провайдера несе всі його каталожні дані — ті самі поля, що й деталі провайдера, мінус надлишкова вкладеність вендора.

Три властивості, на які можна спиратися:

  • Нічого про збережені credentials. Навіть про те, чи існує бодай один. Відповідь — чистий каталог; для «чи щось налаштовано?» є Credential Status.
  • Видимість — звична матриця. Звичайні ролі отримують active/deprecated вендорів і провайдерів; provider_admin/auditor — ще й disabled; include_removed=true (лише admin/auditor, інакше 403) додає removed на обох рівнях. Див. Vendors and Providers.
  • Без пагінації. Payload обмежений розміром YAML-каталогу, який сервіс і так тримає в пам'яті. Якщо викликаєте часто — кешуйте за ключем catalog_version: він змінюється лише з деплойментом.