Просмотрите каталог
Перечислите вендоров, отфильтруйте провайдеров по capability и прочитайте схему, под которую будете хранить.
Read-only разминка: найти провайдера, которого стоит настроить, и узнать, как должен выглядеть его credential. Всё здесь — каталожные данные, одинаковые для каждого вызывающего вашей роли.
Цель
Закончить, держа code одного провайдера и его credential_schema, пройдя путь: вендоры → отфильтрованные провайдеры → полная деталь.
Предварительные условия
export CREDS_BASE=...и токен пользовательской плоскостиexport TOKEN=...(User Plane Tokens), либо dev-auth-заголовки локально (Quickstart).
Шаги
1. Перечислите вендоров
Вызовите GET /v1/vendors:
curl -s "$CREDS_BASE/v1/vendors" -H "Authorization: Bearer $TOKEN"
Ожидаемый 200: items со сводками вендоров плюс catalog_version. Как обычная роль вы видите active и deprecated вендоров (Vendors and Providers).
2. Отфильтруйте провайдеров по тому, что они умеют
Вызовите GET /v1/providers с фильтром по capability:
curl -s "$CREDS_BASE/v1/providers?capability=translation&category=mt" \
-H "Authorization: Bearer $TOKEN"
Ожидаемый 200: только провайдеры, у которых capabilities.translation равно true, а категория — mt; total считает все совпадения до пейджинга.
3. Прочитайте одного провайдера целиком
Вызовите GET /v1/providers/{provider_code} для кода из шага 2:
import httpx
provider = httpx.get(
f"{CREDS_BASE}/v1/providers/{code}",
headers={"Authorization": f"Bearer {TOKEN}"},
).json()
assert provider["credential_schema"]["type"] == "object"
required = provider["credential_schema"].get("required", [])
Ожидаемый 200: полная карточка — вендор, обе схемы, возможности (capabilities), credential_resolution, технические заметки. required — это ровно тот список секретных полей, который должен отправить следующий сценарий (Provider Schemas).
4. Докажите границу видимости
Запросите код провайдера, которого не существует:
curl -s "$CREDS_BASE/v1/providers/no_such_provider" -H "Authorization: Bearer $TOKEN"
Ожидаемый 404 с error.code = "PROVIDER_NOT_FOUND" — тот же ответ, что removed-провайдер даёт обычной роли.
Проверено тестом test_s01_browse_the_catalog.