これは実験的なAPIです。リクエストとレスポンスの形式、レート制限、トークンのセマンティクスは変更される可能性があります。破壊的変更は新しい日付付きベータヘッダーバージョンの背後でリリースされ、以前の2つのヘッダーバージョンは引き続き動作するため、呼び出し元には移行のための時間が確保されます。
Claude CodeはAnthropicのエージェント型コーディングツールです。Claude Code on the webは、claude.aiのAnthropic管理クラウドインフラストラクチャ上でClaude Codeセッションを実行します。ルーチンはそこに保存された設定で、プロンプト、1つ以上のリポジトリ、コネクタをパッケージ化したものであり、スケジュールに従って、GitHubイベントに応答して、またはHTTP経由で呼び出されたときに無人で実行できます。
このエンドポイントはHTTPエントリポイントです。ここにPOSTすると、既存のルーチンの新しい実行が開始され、結果として得られるセッションIDとURLが返されます。典型的な呼び出し元は、Claude Codeセッションをプログラムで開始する必要があるアラートシステム、CIパイプライン、内部ツールです。
このエンドポイントを呼び出すには、Claude Code on the webが有効になっているPro、Max、Team、またはEnterpriseプランのclaude.aiアカウントが必要です。Claude APIキーではなく、Claude CodeのWeb UIで作成されたルーチンごとのベアラートークンで認証します。
ルーチン起動エンドポイントは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 CodeドキュメントのAPIトリガーの追加を参照してください。
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 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セッションの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文字を超えている、またはルーチンが一時停止されている。 |
| 401 | authentication_error | Authorizationヘッダーにベアラートークンがない、またはトークンがこのルーチンと一致しない。 |
| 403 | permission_error | アカウントまたは組織がこのエンドポイントへのアクセス権を持っていない。 |
| 404 | not_found_error | ルーチンが存在しない。 |
| 429 | rate_limit_error | アカウントのルーチン実行制限または使用量制限に達した。レスポンスには、ウィンドウがリセットされるタイミングを示すRetry-Afterヘッダーが含まれます。 |
| 500 | api_error | 予期しないサーバーエラー。 |
| 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ドキュメントの使用量と制限を参照してください。
このエンドポイントはAnthropic SDKには含まれていません。そのトークンモデルはAPIキー認証とは異なり、CIジョブやアラートWebhookなどの典型的な呼び出し元はリクエストを直接送信します。
Was this page helpful?