К содержимому
Claude Code с 0:полный курс
Уровень 0 · Первый запрос к Claude 4 мин

Ключ, эндпоинт и заголовки

Минимальный запрос к /v1/messages: обязательные заголовки x-api-key и anthropic-version. Ключ всегда живёт в переменной окружения, а не в коде.

В этом уроке нет практического задания — просто прочитай и ответь на вопросы.

Куда и с чем стучимся

Любой запрос идёт на POST https://api.anthropic.com/v1/messages и несёт три обязательных заголовка:

  • x-api-key — твой API-ключ (не Authorization: Bearer, а именно x-api-key).
  • anthropic-version — версия API, всегда строка 2023-06-01.
  • content-typeapplication/json.

Вот тот же запрос в виде сырого curl:

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-8",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

Ключ — в переменной окружения

Обрати внимание: в команде стоит $ANTHROPIC_API_KEY, а не сам ключ. Это не каприз — это правило безопасности. Ключ нельзя писать прямо в коде или коммитить в git: утёкший ключ — это деньги с твоего счёта в чужих руках.

В Python это выглядит так — SDK сам читает ключ из окружения:

from anthropic import Anthropic

client = Anthropic()  # берёт ключ из переменной ANTHROPIC_API_KEY

Если в ответ прилетает 401 — это почти всегда проблема ключа: он не задан, неверный или отозван. 401 бесполезно ретраить, пока не починишь ключ.

Дальше соберём тело запроса детальнее: что такое model, max_tokens и messages.

Проверь себя

Отвечено 0/3
Режим:

Какой заголовок несёт API-ключ в запросе к Claude API?

Какое значение должно быть у заголовка anthropic-version?

Почему ключ хранят в переменной окружения, а не прямо в коде?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Листай уроки клавишами · поиск по ⌘K