Solved Docs

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

API-ключи, OAuth, принципал и модель scope.

Публичный API принимает два вида credential. API-ключи (Authorization: Bearer slv_live_…) работают сегодня и в REST, и в MCP. OAuth 2.1 (authorization code + PKCE) — только для MCP, для хостед-коннекторов вроде Claude.ai и ChatGPT, и появится в волне 2 — до этого такие клиенты не поддерживаются, а клиенты на API-ключах (Claude Code, Cursor, клиенты с кастомным заголовком) работают уже сейчас.

Любой credential приводится к одной идентичности аккаунта (GCID) и набору scope вида <продукт>:<ресурс>.<read|write> — например, link:links.write, artqr:qr.read, либо <продукт>:* на весь продукт. write включает удаление. Scope управления аккаунтом (выпуск своих ключей) ключу никогда не выдаётся — только сессии: утёкший ключ не может выпустить себе новые ключи.

Вызов без нужного scope отклоняется до выполнения:

{ "code": "insufficient_scope", "status": 403, "title": "Insufficient scope" }

Чувствительные действия требуют свежей сессии. Создание или ротация API-ключа, выдача согласия OAuth требуют сессию не старше 10 минут. Вошли раньше? Увидите step_up_required (401) и необходимость войти заново. Это намеренно: захваченная старая сессия сама по себе не может выпустить новые ключи.

Далее: API-ключи · Ошибки