---
title: API経由でルーティンをトリガーする
url: https://platform.claude.com/docs/ja/api/claude-code/routines-fire
description: 認証済みのPOSTリクエストを送信して、オンデマンドでClaude Codeルーティンセッションを開始します。
---

<Warning>
  これは実験的なAPIです。リクエストとレスポンスの形式、レート制限、トークンのセマンティクスは変更される可能性があります。
</Warning>

[Claude Code](https://code.claude.com/docs)はAnthropicのエージェント型コーディングツールです。[Claude Code on the web](https://code.claude.com/docs/ja/claude-code-on-the-web)は、claude.ai/codeでAnthropic管理のクラウドインフラストラクチャ上でClaude Codeセッションを実行し、[ルーティン](https://code.claude.com/docs/ja/routines)はそこに保存された設定です。プロンプト、1つ以上のリポジトリ、コネクタをパッケージ化したもので、スケジュールに従って、GitHubイベントに応答して、またはHTTP経由で呼び出されたときに無人で実行できます。

このエンドポイントはHTTPのエントリポイントです。これにPOSTすると、既存のルーティンの新しい実行が開始され、結果として得られるセッションIDとURLが返されます。典型的な呼び出し元は、アラートシステム、CIパイプライン、およびプログラムでClaude Codeセッションを開始する必要がある内部ツールです。

このエンドポイントを呼び出すには、Pro、Max、Team、またはEnterpriseプランのclaude.aiアカウントで、[Claude Code on the web](https://code.claude.com/docs/ja/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](https://claude.ai/code/routines)で作成したルーティンごとのトークン（`sk-ant-oat01-...`）を使用した`Authorization: Bearer` | Claude Consoleで取得したClaude APIキーを使用した`x-api-key`                                       |
| トークンのスコープ | 1つのルーティンのみ。読み取りアクセスなし                                                                                                       | ワークスペースレベル                                                                            |
| SDKサポート   | なし                                                                                                                          | すべての[クライアントSDK](https://platform.claude.com/docs/ja/cli-sdks-libraries/overview)で利用可能 |
| 課金        | claude.aiでのClaude Codeサブスクリプションの使用量                                                                                         | Claude Platformの使用量                                                                   |
| パスの名前空間   | `/v1/claude_code/...`                                                                                                       | `/v1/...`                                                                             |
| 安定性       | 実験的                                                                                                                         | 安定版または標準ベータ                                                                           |

## 始める前に

このエンドポイントを呼び出すには、以下が必要です。

1. [claude.ai/code/routines](https://claude.ai/code/routines)で作成されたルーティン。
2. そのルーティン用に生成されたベアラートークン。ルーティンを編集用に開き、**Select a trigger**の下の**Add another trigger**をクリックし、**API**を選択してから、モーダルウィンドウで**Generate token**をクリックします。トークンは一度だけ表示され、後で取得することはできません。

完全なセットアップの手順については、Claude Codeドキュメントの[Add an API trigger](https://code.claude.com/docs/ja/routines#add-an-api-trigger)を参照してください。

## ルーティンをトリガーする

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

Claude CodeのWeb UIは、APIトリガーを追加するときにトークンとともに完全なURLを提供するため、ほとんどの統合では両方をシークレットとして保存し、エンドポイントを直接呼び出します。次の例は、シェル呼び出しと、CI失敗時にルーティンをトリガーするGitHub Actionsステップを示しています。

```bash 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."}'
```

```yaml 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のWeb UIで作成した、`sk-ant-oat01-`で始まるルーティンごとのトークンです。               |
| `anthropic-version` | はい       | [APIバージョン](https://platform.claude.com/docs/ja/api/versioning)。受け付けられる値は`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`を返します。

```json
{
  "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 [エラーエンベロープ](https://platform.claude.com/docs/ja/api/errors)を使用します。

```json
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "<string>"
  }
}
```

| HTTPステータス | エラータイプ                  | 原因                                                                                                                                                                        |
| --------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400       | `invalid_request_error` | `anthropic-version`ヘッダーが欠落しているかサポートされていない、`text`が65,536文字を超えている、またはルーティンが一時停止されている（[ルーティンの編集と制御](https://code.claude.com/docs/ja/routines#edit-and-control-routines)を参照）。 |
| 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](https://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ドキュメントの[使用量と上限](https://code.claude.com/docs/ja/routines#usage-and-limits)を参照してください。

## SDKサポート

このエンドポイントはAnthropic SDKには含まれていません。そのトークンモデルはAPIキー認証とは異なり、CIジョブやアラートWebhookなどの典型的な呼び出し元はリクエストを直接送信します。

## 関連項目

* Claude Codeドキュメントの[ルーティンで作業を自動化する](https://code.claude.com/docs/ja/routines)
* [エラー](https://platform.claude.com/docs/ja/api/errors)
