Claude Platform Docs

Запуск рутины через API

Запускайте сеанс рутины Claude Code по требованию, отправляя аутентифицированный POST-запрос.

Claude Code — это агентный инструмент Anthropic для написания кода. Claude Code в веб-версии запускает сеансы Claude Code в облачной инфраструктуре под управлением Anthropic по адресу claude.ai/code, а «routine» (рутина) — это сохранённая там конфигурация: рутина включает подсказку, один или несколько репозиториев и коннекторы, упакованные так, чтобы её можно было запускать без участия человека по расписанию, в ответ на события GitHub или при вызове по HTTP.

Эта конечная точка является точкой входа по HTTP. Отправка POST-запроса на неё запускает новое выполнение существующей рутины и возвращает идентификатор и URL получившегося сеанса. Типичные вызывающие стороны — системы оповещений, конвейеры CI и внутренние инструменты, которым нужно программно запускать сеанс Claude Code.

Для вызова этой конечной точки требуется учётная запись claude.ai с планом Pro, Max, Team или Enterprise и включённым Claude Code в веб-версии. Для аутентификации используйте bearer-токен, созданный для конкретной рутины в веб-интерфейсе Claude Code, а не ключ API Claude.

Отличия от Claude Platform

Конечная точка запуска рутины относится к продуктовой поверхности Claude Code, которая отличается от API и SDK Claude Platform в нескольких аспектах:

АспектЭта конечная точкаAPI Claude Platform
АутентификацияAuthorization: Bearer с токеном для конкретной рутины (sk-ant-oat01-...), созданным на claude.ai/code/routinesx-api-key с ключом API Claude из Claude Console
Область действия токенаТолько одна рутина; без доступа на чтениеУровень рабочего пространства
Поддержка SDKОтсутствуетДоступна во всех клиентских SDK
ОплатаИспользование подписки Claude Code на claude.aiИспользование Claude Platform
Пространство имён путей/v1/claude_code/.../v1/...
СтабильностьЭкспериментальнаяСтабильная или стандартная бета

Прежде чем начать

Для вызова этой конечной точки вам потребуется:

  1. Рутина, созданная на claude.ai/code/routines.
  2. Bearer-токен, сгенерированный для этой рутины: откройте рутину для редактирования, нажмите Add another trigger в разделе Select a trigger, выберите API, затем нажмите Generate token в модальном окне. Токен отображается один раз и не может быть получен позже.

Полное пошаговое руководство по настройке см. в разделе Добавление триггера API документации Claude Code.

Запуск рутины

POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fire

Веб-интерфейс Claude Code предоставляет полный URL вместе с токеном при добавлении триггера API, поэтому большинство интеграций сохраняют оба значения как секреты и вызывают конечную точку напрямую. В следующих примерах показаны вызов из командной оболочки и шаг GitHub Actions, который запускает рутину при сбое CI.

cURL
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
  -H "Authorization: Bearer $ROUTINE_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
GitHub Actions
- if: failure()
  env:
    ROUTINE_FIRE_URL: ${{ secrets.ROUTINE_FIRE_URL }}
    ROUTINE_FIRE_TOKEN: ${{ secrets.ROUTINE_FIRE_TOKEN }}
  run: |
    curl -X POST "$ROUTINE_FIRE_URL" \
      -H "Authorization: Bearer $ROUTINE_FIRE_TOKEN" \
      -H "anthropic-version: 2023-06-01" \
      -H "Content-Type: application/json" \
      -d "{\"text\": \"CI failed: $GITHUB_WORKFLOW run $GITHUB_RUN_ID on $GITHUB_REF\"}"

Запрос возвращает ответ, как только сеанс создан. Он не выполняет потоковую передачу вывода сеанса и не ожидает завершения сеанса.

Заголовки

ИмяОбязательныйОписание
AuthorizationДаBearer <token>. Токен для конкретной рутины, созданный в веб-интерфейсе Claude Code, с префиксом sk-ant-oat01-.
anthropic-versionДаВерсия API. Единственное допустимое значение — 2023-06-01.
Content-TypeПри наличии тела запросаapplication/json.

Это не затрагивает более старые интеграции, которые отправляют заголовок anthropic-beta: experimental-cc-routine-2026-04-01: конечная точка принимает запросы как с ним, так и без него.

Параметры пути

ИмяТипОписание
routine_idstringИдентификатор рутины. Несмотря на имя параметра, значение имеет префикс trig_, а не routine_. Включён в URL, который отображается в модальном окне при добавлении триггера API.

Тело запроса

ПолеТипОбязательноеОписание
textstringНетНачальный контекст для этого запуска, например текст оповещения, строка журнала с ошибкой или git diff. Значение представляет собой произвольный текст и не анализируется; если вы отправите JSON или другую структурированную полезную нагрузку, рутина получит её как буквальную строку. Передаётся рутине вместе с её сохранённой подсказкой. Максимум 65 536 символов.

Тело запроса необязательно. Неизвестные поля в теле игнорируются.

Ответ

Успешный запрос возвращает 200 OK с данными нового сеанса:

{
  "type": "routine_fire",
  "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
  "claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}
ПолеТипОписание
typestringВсегда routine_fire.
claude_code_session_idstringИдентификатор сеанса Claude Code, созданного для этого запуска.
claude_code_session_urlstringСсылка на сеанс на claude.ai. Откройте её в браузере, чтобы наблюдать за выполнением, просматривать изменения или продолжить разговор.

Ошибки

Ошибки используют стандартную оболочку ошибок Anthropic:

{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "<string>"
  }
}
HTTP-статусТип ошибкиПричина
400invalid_request_errorОтсутствует или не поддерживается заголовок anthropic-version, text превышает 65 536 символов, или рутина приостановлена (см. Редактирование и управление рутинами).
401authentication_errorВ заголовке Authorization нет bearer-токена, или токен не соответствует этой рутине.
403permission_errorУ учётной записи или организации нет доступа к этой конечной точке.
404not_found_errorРутина не существует.
429rate_limit_errorДостигнут почасовой лимит запусков для рутины или учётной записи. Ответ содержит заголовок Retry-After, указывающий, когда окно будет сброшено.
500api_errorНепредвиденная ошибка сервера. Повторите запрос с экспоненциальной задержкой; если ошибка сохраняется, обратитесь в службу поддержки, указав идентификатор запроса.
503overloaded_errorСервис временно перегружен. Повторите запрос после небольшой задержки. Claude Platform возвращает для этого типа ошибки код 529; эта конечная точка возвращает 503.

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

Bearer-токен ограничен одной рутиной. Скомпрометированный токен может только запускать эту рутину; он не даёт доступа на чтение, доступа к другим рутинам и доступа к данным учётной записи.

Генерируйте и отзывайте токены в настройках триггера API рутины на claude.ai/code/routines. Публичного API для управления токенами нет. Генерация нового токена отзывает предыдущий.

Идемпотентность

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

Ограничения скорости

Ограничения скорости для запусков через API действуют в пределах часа: каждая рутина принимает до 30 запусков в час (этот лимит общий для запусков через API, кнопки Run now в веб-интерфейсе и повторной активации одноразовых рутин), а каждая учётная запись может выполнить до 100 запусков через API в час по всем рутинам. Созданные сеансы расходуют ту же квоту подписки Claude Code, что и интерактивные сеансы. При достижении лимита конечная точка возвращает 429 rate_limit_error с заголовком Retry-After.

О том, как использование рутин соотносится с лимитами подписки и оплатой дополнительного использования, см. раздел Использование и лимиты документации Claude Code.

Поддержка SDK

Эта конечная точка отсутствует в SDK Anthropic. Её модель токенов отличается от аутентификации по ключу API, а типичные вызывающие стороны, такие как задания CI и вебхуки систем оповещений, отправляют запрос напрямую.

См. также

Was this page helpful?