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セッションを開始する必要がある内部ツールです。
このエンドポイントを呼び出すには、Claude Code on the webが有効になっているPro、Max、Team、またはEnterpriseプランのclaude.aiアカウントが必要です。Claude APIキーではなく、Claude CodeのWeb UIで作成されたルーティンごとのベアラートークンで認証します。
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/... |
| 安定性 | 実験的。anthropic-beta: experimental-cc-routine-2026-04-01が必要 | 安定版または標準ベータ |
始める前に
このエンドポイントを呼び出すには、以下が必要です。
- 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}/fireすべてのリクエストにはanthropic-beta: experimental-cc-routine-2026-04-01ヘッダーを含める必要があります。これがないリクエストは400 invalid_request_errorを返します。
Claude 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 "anthropic-beta: experimental-cc-routine-2026-04-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 "anthropic-beta: experimental-cc-routine-2026-04-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-beta | はい | experimental-cc-routine-2026-04-01を含める必要があります。 |
anthropic-version | はい | APIバージョン。例:2023-06-01。 |
Content-Type | ボディが存在する場合 | application/json。 |
パスパラメータ
| 名前 | 型 | 説明 |
|---|---|---|
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-betaヘッダーが欠落または無効、textが65,536文字を超えている、またはルーティンが一時停止されている(Edit and control routinesを参照)。 |
| 401 | authentication_error | Authorizationヘッダーにベアラートークンがない、またはトークンがこのルーティンと一致しない。 |
| 403 | permission_error | アカウントまたは組織がこのエンドポイントへのアクセス権を持っていない。 |
| 404 | not_found_error | ルーティンが存在しない。 |
| 429 | rate_limit_error | アカウントのルーティン実行制限または使用制限に達した。レスポンスには、ウィンドウがリセットされるタイミングを示すRetry-Afterヘッダーが含まれます。 |
| 500 | api_error | 予期しないサーバーエラー。指数バックオフで再試行してください。エラーが続く場合は、リクエストIDを添えてサポートにお問い合わせください。 |
| 503 | overloaded_error | サービスが一時的に過負荷状態です。短い遅延の後に再試行してください。Claude Platformはこのエラータイプに対して529を返しますが、このエンドポイントは503を返します。 |
認証
ベアラートークンは単一のルーティンにスコープされています。侵害されたトークンはそのルーティンをトリガーすることしかできません。読み取りアクセス、他のルーティンへのアクセス、アカウントデータへのアクセスは付与されません。
claude.ai/code/routinesのルーティンのAPIトリガー設定からトークンを生成および取り消します。トークン管理用の公開APIはありません。新しいトークンを生成すると、以前のトークンが取り消されます。
冪等性
成功した各リクエストは新しいセッションを作成します。冪等性キーはありません。Webhook呼び出し元が再試行すると、エンドポイントは複数のセッションを作成します。
レート制限
ルーティン実行は、プランによって異なるアカウントごとの1日の割り当てにカウントされ、結果として得られるセッションは、インタラクティブセッションと同じClaude Codeサブスクリプション使用量を消費します。いずれかの制限に達すると、エンドポイントはRetry-Afterヘッダーとともに429 rate_limit_errorを返します。追加使用量が有効になっている組織は、従量制の超過分で含まれる割り当てを超えて継続します。
残りの1日の実行回数はclaude.ai/code/routinesで確認できます。ルーティンの使用量がサブスクリプション制限および追加使用量の課金とどのように相互作用するかについては、Claude CodeドキュメントのUsage and limitsを参照してください。
SDKサポート
このエンドポイントはAnthropic SDKには含まれていません。そのトークンモデルはAPIキー認証とは異なり、CIジョブやアラートWebhookなどの典型的な呼び出し元はリクエストを直接送信します。
関連項目
- Claude CodeドキュメントのAutomate work with routines
- ベータヘッダー
- エラー
Was this page helpful?