Аутентификация
Создание и использование API-ключей OmniScout Cloud.
Все запросы Cloud API требуют Bearer-токен в заголовке Authorization.
Эндпоинтам поиска и ответов нужен только этот API-ключ. Командам сессий браузера и компьютера также требуется второй credential: session_secret, возвращаемый при создании сессии (см. Эндпоинты → Сессии браузера).
API-ключи
API-ключи создаются в дашборде. Каждый ключ:
- Начинается с
os_live_ - Привязан к вашему аккаунту Clerk
- Имеет независимый учёт использования
- Может быть отозван в любой момент
Authorization: Bearer os_live_abc123...Создание ключа
- Войдите на api.omniscout.xyz.
- Перейдите в Dashboard → API Keys.
- Нажмите Create key и скопируйте значение — оно показывается только один раз.
Храните ключи в переменных окружения, а не в исходном коде:
export OMNISCOUT_API_KEY=os_live_abc123...Пример запроса
curl -X POST https://api.omniscout.xyz/v0/search \
-H "Authorization: Bearer $OMNISCOUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "python async patterns"}'Секреты сессий
Маршруты сессий используют два credential:
| Credential | Заголовок | Когда |
|---|---|---|
| API-ключ | Authorization: Bearer os_live_... | Создание, команда, загрузка/скачивание файлов, удаление |
| Секрет сессии | x-session-secret: <secret> | Только команды, загрузка/скачивание файлов |
Секрет сессии возвращается один раз в ответе создания (session_secret). Храните его вместе с session_id — позже его нельзя получить.
# Создание (только API-ключ)
curl -X POST https://api.omniscout.xyz/v0/computer/sessions \
-H "Authorization: Bearer $OMNISCOUT_API_KEY"
# Команда (API-ключ + секрет сессии)
curl -X POST "https://api.omniscout.xyz/v0/computer/sessions/$SESSION_ID" \
-H "Authorization: Bearer $OMNISCOUT_API_KEY" \
-H "x-session-secret: $SESSION_SECRET" \
-H "Content-Type: application/json" \
-d '{"action":"computer.type","args":{"text":"hello"},"session":"default"}'Для удаления нужен только API-ключ (без секрета сессии).
Ответы с ошибками
| Статус | Значение |
|---|---|
401 | Отсутствующий или неверный API-ключ |
401 | Неверный x-session-secret в команде сессии или файловых маршрутах |
429 | Превышен дневной лимит |
Все ответы с ошибками включают request_id для отладки:
{
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"error": {
"type": "unauthorized",
"message": "Invalid API key"
}
}