Базовый URL, схемы аутентификации, определение арендатора и модель ошибок для REST API CMS.
REST API Profound CMS обслуживается сервисом Rust translation_manager. Он предоставляет безголовые конечные точки чтения/потоковой передачи, используемые рендерером, а также конечные точки записи для контента, переводов и импорта CSV.
Во всех примерах используется {CMS_API_URL} как базовый URL вашего хоста CMS API (например https://cms.dev.tryprofound.com). Глобальный префикс пути отсутствует — маршруты монтируются в корень, например {CMS_API_URL}/routes.
Отправьте ключ в заголовке x-api-key или параметре запроса api_key:
curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
-H 'x-api-key: <ваш-api-ключ>'
Ключи проверяются через WorkOS и ненадолго кэшируются в памяти. Для конечных точек чтения ключ API требуется только в том случае, если сервер устанавливает require_schema_api_key = true; иначе допускается анонимное чтение. Upsert варианта (PATCH /dataset/{schema_name}) всегда требует допустимый ключ с разрешением content_write.
Использует аутентификацию по ключу API: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.
Конечные точки управления требуют пользовательский JWT WorkOS:
curl '{CMS_API_URL}/usage?orgId=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>'
Использует аутентификацию Bearer: /translation, /translations, /usage, /csv.
Конечные точки, использующие ключ API, определяют целевой веб-сайт в следующем порядке:
?websiteId=<uuid>Host, сопоставляемый с настроенным доменом веб-сайтаCMS_WEBSITE_ID (одиночный тенант / локальная разработка)Если ни один вариант не приводит к допустимому UUID, конечная точка возвращает 400.
| Статус | Значение |
|---|---|
400 | Неверный запрос — отсутствует/недопустимый websiteId, недопустимый UUID или ошибка валидации |
401 | Отсутствуют или недействительны учетные данные |
403 | Аутентификация пройдена, но отсутствует требуемое разрешение |
404 | Ресурс не найден |
500 | Внутренняя ошибка / ошибка базы данных |
GET {CMS_API_URL}/health возвращает { "status": "ok" } и не требует аутентификации — используйте его для проверок работоспособности.