Аутентификация

Все запросы к API требуют аутентификации через Bearer-токен в заголовке Authorization.

Bearer-токен

Включите ваш API-ключ в заголовок Authorization каждого запроса.

curl https://api.samreshuuu.ru/api/v1/sessions \ -H "Authorization: Bearer sk-org-your_api_key"

Примеры на разных языках

import requests API_KEY = "sk-org-your_api_key" BASE_URL = "https://api.samreshuuu.ru/api/v1" headers = {"Authorization": f"Bearer {API_KEY}"} response = requests.get(f"{BASE_URL}/sessions", headers=headers)

Контекст организации

Если вы являетесь участником нескольких организаций, укажите заголовок X-Org-Id для выбора контекста.

curl https://api.samreshuuu.ru/api/v1/sessions \ -H "Authorization: Bearer sk-org-your_api_key" \ -H "X-Org-Id: org_abc123"

Формат токенов

API-ключи имеют префикс sk-org-. Полный секрет показывается только один раз — при создании, сохраните его надёжно. Эндпоинты списка и отзыва возвращают только префикс ключа, никогда не секрет.

Scopes

Каждый ключ несёт список scope, которые проверяются для каждого эндпоинта. Если у ключа нет нужного scope, запрос завершается ошибкой 403 AUTH_PERMISSION_DENIED. Ключ со scope admin обходит все проверки scope. Новые ключи по умолчанию получают write:tools, если scope не указаны явно.

ScopeДоступ
read:toolsЧтение метаданных инструментов и коннекторов
write:toolsВыполнение инструментов и коннекторов
read:dataЧтение данных вашей организации
chatВызов OpenAI-совместимого эндпоинта /v1/chat/completions
connector:gatewayПрямой доступ к шлюзу коннекторов
adminПолный доступ — обходит проверки scope

Управление ключами

Ключи выпускаются, перечисляются и отзываются в рамках организации. Каждый ключ истекает через expires_in_days (по умолчанию 90, диапазон 1–365).

# Создать ключ — полный секрет возвращается один раз curl -X POST https://api.samreshuuu.ru/api/v1/organizations/$ORG_ID/api-keys \ -H "Authorization: Bearer $ADMIN_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "production", "scopes": ["chat", "write:tools"], "expires_in_days": 90}' # Список ключей — только префикс, scopes и last_used_at curl https://api.samreshuuu.ru/api/v1/organizations/$ORG_ID/api-keys \ -H "Authorization: Bearer $ADMIN_TOKEN" # Отозвать ключ curl -X DELETE https://api.samreshuuu.ru/api/v1/organizations/$ORG_ID/api-keys/$KEY_ID \ -H "Authorization: Bearer $ADMIN_TOKEN"

Ошибки аутентификации

При неверном или истёкшем токене API вернёт ответ с кодом 401.

{ "detail": { "code": "AUTH_TOKEN_EXPIRED", "message": "The provided authentication token has expired.", "hint": "Generate a new API token in your dashboard." } }
Была ли страница полезна?