Skip to main content
Большинство эндпоинтов /api/v1 требуют API-ключ. Ключ привязан к аккаунту: он даёт доступ ко всему, что доступно этому аккаунту.

Получение ключа

Ключ создаётся в веб-приложении, в разделе API-ключей на speshu.ai/profile.
  1. Откройте speshu.ai/profile и войдите в аккаунт.
  2. Откройте раздел API-ключей и создайте ключ с понятным вам названием.
  3. Сразу сохраните полное значение ключа — например, в менеджере секретов или переменной окружения.
Полный ключ показывается ровно один раз — в момент создания. Эндпоинта, который вернул бы его целиком, не существует: в интерфейсе хранится только маскированная форма (первые и последние четыре символа). Если ключ утерян, создайте новый.

Формат ключа

Ключ начинается с sk-, после которого идёт UUID:
Разделитель после sk — дефис, а не подчёркивание. Если в вашем коде или в старой документации встречалось sk_..., это опечатка: с таким ключом запрос будет отклонён.

Сколько ключей можно держать

На аккаунт допускается не больше 10 активных ключей. Это потолок одновременно действующих ключей, а не счётчик всех выданных за всё время.

Отзыв ключа

Отзыв действует немедленно и необратим: восстановить ключ после отзыва нельзя. Уже отозванный ключ со следующего запроса отвечает 401 с кодом invalid_api_key.

Истёкший ключ

Ключ с истёкшим сроком действия API не различает: он выглядит для сервера как несуществующий. Ответ тот же — 401, code: invalid_api_key, message: "Incorrect API key provided".

Передача ключа

Ключ передают одним из двух заголовков. Приоритет такой:
X-Api-Key нужен для /api/v1/messages: Anthropic SDK читает ключ именно из этого заголовка и не формирует Authorization. Все остальные SDK используют Authorization: Bearer.
Если не передан ни один из заголовков, запрос проходит через браузерную сессионную cookie.
Не полагайтесь на этот запасной путь. Cookie-сессия — не способ аутентификации интеграции: она не работает из серверного кода, у неё нет срока жизни, который вы контролируете, и её нельзя отозвать. В любом обращении к API отправляйте ключ явно.

Примеры

Что даёт ключ

Ключ даёт полные права аккаунта на базе /api/v1. У ключей нет:
  • областей видимости — один ключ видит ровно то же, что видит аккаунт;
  • списков разрешённых моделей — доступны все модели, доступные аккаунту;
  • собственных лимитов запросов.
Утечка ключа равносильна утечке доступа к аккаунту. С утёкшим ключом можно тратить ваш баланс, видеть ваши файлы в хранилище и вызывать любую доступную модель. Единственные ограничители — лимиты и тариф самого аккаунта, лимиты частоты запросов, IP-allow-list, если он настроен, и остаток кошелька.
Поэтому заводите по ключу на каждую интеграцию и на каждое окружение: прод, стенд, локальная разработка, отдельный пайплайн. Так при отзыве одного ключа вы не гасите остальные и точно знаете, куда идти разбираться.

Эндпоинты без ключа

Без ключа эти два эндпоинта отдают базовые цены; с ключом — цены вашего аккаунта. Остальным эндпоинтам ключ обязателен, при его отсутствии приходит 401 invalid_api_key.

Проверка ключа

Самый быстрый способ убедиться, что ключ рабочий — запрос баланса:
cURL
Ответ с суммами означает, что ключ принят. Ответ 401 с code: invalid_api_key — ключ недействителен, отозван или истёк; разбираться нужно в разделе API-ключей в профиле.

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

Полный разбор — на странице Ошибки.

Безопасность ключа

  • Храните ключ в переменной окружения или в менеджере секретов, а не в коде.
  • Никогда не отправляйте ключ из клиентского кода браузера, мобильного приложения или десктопного клиента. Всё, что попало в клиент, попадёт к пользователю.
  • Никогда не коммитьте ключ в репозиторий. Добавьте его в .gitignore заранее, до первой отправки.
  • Ротируйте ключ так: создайте новый, переведите на него интеграцию, проверьте и только потом отзовите старый.
  • Настройте IP-allow-list, если у вашей инфраструктуры есть стабильные адреса выхода. Это ограничивает круг источников, из которых ключ вообще работает.

Что дальше

Тарификация и оплата

Как считается стоимость и проверяется баланс

Модели и цены

Каталог моделей и цены за миллион токенов

Баланс

Остаток кошелька по валютам

Ошибки

Полная таблица кодов