Запуск рутины через 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/routines | x-api-key с ключом API Claude из Claude Console |
| Область действия токена | Только одна рутина; без доступа на чтение | Уровень рабочего пространства |
| Поддержка SDK | Отсутствует | Доступна во всех клиентских SDK |
| Оплата | Использование подписки Claude Code на claude.ai | Использование Claude Platform |
| Пространство имён путей | /v1/claude_code/... | /v1/... |
| Стабильность | Экспериментальная | Стабильная или стандартная бета |
Прежде чем начать
Для вызова этой конечной точки вам потребуется:
- Рутина, созданная на claude.ai/code/routines.
- 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 -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."}'- 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_id | string | Идентификатор рутины. Несмотря на имя параметра, значение имеет префикс trig_, а не routine_. Включён в URL, который отображается в модальном окне при добавлении триггера API. |
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
text | string | Нет | Начальный контекст для этого запуска, например текст оповещения, строка журнала с ошибкой или 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"
}| Поле | Тип | Описание |
|---|---|---|
type | string | Всегда routine_fire. |
claude_code_session_id | string | Идентификатор сеанса Claude Code, созданного для этого запуска. |
claude_code_session_url | string | Ссылка на сеанс на claude.ai. Откройте её в браузере, чтобы наблюдать за выполнением, просматривать изменения или продолжить разговор. |
Ошибки
Ошибки используют стандартную оболочку ошибок Anthropic:
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}| HTTP-статус | Тип ошибки | Причина |
|---|---|---|
| 400 | invalid_request_error | Отсутствует или не поддерживается заголовок anthropic-version, text превышает 65 536 символов, или рутина приостановлена (см. Редактирование и управление рутинами). |
| 401 | authentication_error | В заголовке Authorization нет bearer-токена, или токен не соответствует этой рутине. |
| 403 | permission_error | У учётной записи или организации нет доступа к этой конечной точке. |
| 404 | not_found_error | Рутина не существует. |
| 429 | rate_limit_error | Достигнут почасовой лимит запусков для рутины или учётной записи. Ответ содержит заголовок Retry-After, указывающий, когда окно будет сброшено. |
| 500 | api_error | Непредвиденная ошибка сервера. Повторите запрос с экспоненциальной задержкой; если ошибка сохраняется, обратитесь в службу поддержки, указав идентификатор запроса. |
| 503 | overloaded_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 и вебхуки систем оповещений, отправляют запрос напрямую.
См. также
- Автоматизация работы с помощью рутин в документации Claude Code
- Ошибки
Was this page helpful?