Аутентификация
Все запросы к API передают токен в заголовке:
Authorization: Bearer <token>
В API два типа доступа:
API-ключ hotdoc
Для программного доступа к обработке документов. Формат токена: hotdoc_<id>.<secret>. Создаётся в кабинете; полный токен показывается один раз, дальше хранится только в замаскированном виде (hotdoc_<id>). У ключа есть опциональный срок действия (expiresAt; без него ключ бессрочный) и время последнего использования (lastUsedAt); ключ можно отозвать.
Сессионный токен кабинета (JWT)
Для управления аккаунтом, ключами и биллингом из кабинета.
Методы обработки (/v1/jobs*) принимают и API-ключ, и JWT. Все управленческие методы (аккаунт, ключи, биллинг) требуют сессионного токена кабинета (JWT) — по API-ключу недоступны.
Эндпоинты управления ключами
| Метод | Эндпоинт | Назначение |
|---|---|---|
GET | /v1/account/api-keys | список ключей (в замаскированном виде) |
POST | /v1/account/api-keys | создать ключ; полный токен возвращается один раз |
DELETE | /v1/account/api-keys/{id} | отозвать ключ |
Безопасность ключей
- не размещайте ключ в клиентском коде и публичных репозиториях;
- при утечке немедленно отзовите ключ и создайте новый;
- отзыв ключа вступает в силу с задержкой до 5 минут (кэширование на сервере);
- ключ провайдера модели (BYOK) — отдельный секрет; в открытом виде не хранится (только зашифрованным) и удаляется вместе с задачей.