API経由でルーティンをトリガーする
認証済みのPOSTリクエストを送信して、オンデマンドでClaude Codeルーティンセッションを開始します。
Claude CodeはAnthropicのエージェント型コーディングツールです。Claude Code on the webは、claude.ai/codeでAnthropic管理のクラウドインフラストラクチャ上でClaude Codeセッションを実行し、ルーティンはそこに保存された設定です。プロンプト、1つ以上のリポジトリ、コネクタをパッケージ化したもので、スケジュールに従って、GitHubイベントに応答して、またはHTTP経由で呼び出されたときに無人で実行できます。
このエンドポイントはHTTPのエントリポイントです。これにPOSTすると、既存のルーティンの新しい実行が開始され、結果として得られるセッションIDとURLが返されます。典型的な呼び出し元は、アラートシステム、CIパイプライン、およびプログラムでClaude Codeセッションを開始する必要がある内部ツールです。
このエンドポイントを呼び出すには、Pro、Max、Team、またはEnterpriseプランのclaude.aiアカウントで、Claude Code on the webが有効になっている必要があります。認証には、Claude APIキーではなく、Claude CodeのWeb UIで作成したルーティンごとの「bearer token」(ベアラートークン)を使用します。
Claude Platformとの違い
ルーティン発火エンドポイントはClaude Code製品サーフェスに属しており、いくつかの点でClaude PlatformのAPIおよびSDKとは異なります。
| 項目 | このエンドポイント | Claude Platform API |
|---|---|---|
| 認証 | claude.ai/code/routinesで作成したルーティンごとのトークン(sk-ant-oat01-...)を使用したAuthorization: Bearer | Claude Consoleで取得したClaude APIキーを使用したx-api-key |
| トークンのスコープ | 1つのルーティンのみ。読み取りアクセスなし | ワークスペースレベル |
| SDKサポート | なし | すべてのクライアントSDKで利用可能 |
| 課金 | claude.aiでのClaude Codeサブスクリプションの使用量 | Claude Platformの使用量 |
| パスの名前空間 | /v1/claude_code/... | /v1/... |
| 安定性 | 実験的 | 安定版または標準ベータ |
始める前に
このエンドポイントを呼び出すには、以下が必要です。
- claude.ai/code/routinesで作成されたルーティン。
- そのルーティン用に生成されたベアラートークン。ルーティンを編集用に開き、Select a triggerの下のAdd another triggerをクリックし、APIを選択してから、モーダルウィンドウでGenerate tokenをクリックします。トークンは一度だけ表示され、後で取得することはできません。
完全なセットアップの手順については、Claude CodeドキュメントのAdd an API triggerを参照してください。
ルーティンをトリガーする
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fireClaude CodeのWeb UIは、APIトリガーを追加するときにトークンとともに完全なURLを提供するため、ほとんどの統合では両方をシークレットとして保存し、エンドポイントを直接呼び出します。次の例は、シェル呼び出しと、CI失敗時にルーティンをトリガーするGitHub Actionsステップを示しています。
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のWeb UIで作成した、sk-ant-oat01-で始まるルーティンごとのトークンです。 |
anthropic-version | はい | APIバージョン。受け付けられる値は2023-06-01のみです。 |
Content-Type | ボディがある場合 | application/json。 |
anthropic-beta: experimental-cc-routine-2026-04-01ヘッダーを送信する既存の統合は影響を受けません。エンドポイントは、このヘッダーの有無にかかわらずリクエストを受け付けます。
パスパラメータ
| 名前 | 型 | 説明 |
|---|---|---|
routine_id | string | ルーティンの識別子。パラメータ名にもかかわらず、値にはroutine_ではなくtrig_というプレフィックスが付きます。APIトリガーを追加するときにモーダルウィンドウが表示するURLに含まれています。 |
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
text | string | いいえ | この実行の初期コンテキスト。アラート本文、失敗したログ行、gitの差分など。値は自由形式のテキストであり、解析されません。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セッションのID。 |
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ヘッダーにベアラートークンがない、またはトークンがこのルーティンと一致しない。 |
| 403 | permission_error | アカウントまたは組織がこのエンドポイントへのアクセス権を持っていない。 |
| 404 | not_found_error | ルーティンが存在しない。 |
| 429 | rate_limit_error | ルーティンまたはアカウントの1時間あたりの実行上限に達した。レスポンスには、ウィンドウがリセットされるタイミングを示すRetry-Afterヘッダーが含まれます。 |
| 500 | api_error | 予期しないサーバーエラー。指数バックオフを使用して再試行してください。エラーが解消しない場合は、リクエストIDを添えてサポートにお問い合わせください。 |
| 503 | overloaded_error | サービスが一時的に過負荷になっている。少し時間をおいてから再試行してください。Claude Platformはこのエラータイプに対して529を返しますが、このエンドポイントは503を返します。 |
認証
ベアラートークンは単一のルーティンにスコープされています。侵害されたトークンはそのルーティンをトリガーすることしかできません。読み取りアクセス、他のルーティンへのアクセス、アカウントデータへのアクセスは付与されません。
claude.ai/code/routinesのルーティンのAPIトリガー設定からトークンを生成および取り消します。トークン管理用の公開APIはありません。新しいトークンを生成すると、以前のトークンが取り消されます。
冪等性
成功した各リクエストは新しいセッションを作成します。冪等性キーはありません。Webhook呼び出し元が再試行すると、エンドポイントは複数のセッションを作成します。
レート制限
APIによる実行は1時間あたりの回数が制限されています。各ルーティンは1時間あたり最大30回の実行を受け付け(API経由の実行、Web UIのRun nowボタン、および単発の再設定で共有されます)、各アカウントはすべてのルーティンを合わせて1時間あたり最大100回のAPI実行を行えます。作成されたセッションは、対話型セッションと同じClaude Codeサブスクリプションの使用量を消費します。上限に達すると、エンドポイントはRetry-Afterヘッダーとともに429 rate_limit_errorを返します。
ルーティンの使用量がサブスクリプションの上限や追加使用量の課金とどのように関係するかについては、Claude Codeドキュメントの使用量と上限を参照してください。
SDKサポート
このエンドポイントはAnthropic SDKには含まれていません。そのトークンモデルはAPIキー認証とは異なり、CIジョブやアラートWebhookなどの典型的な呼び出し元はリクエストを直接送信します。
関連項目
- Claude Codeドキュメントのルーティンで作業を自動化する
- エラー
Was this page helpful?