ID を指定してバッチを取得します。
GET /api/v1/forward/batches/{batch_id}
バッチオブジェクトの全体を返します。現在のタスクカウンタと、終端状態到達後は出力ファイル ID も含まれます。
Create Batch のレスポンス後、この API をポーリングすることで、リソースの事前検証、キュー待ち、実行、終端結果を確認できます。validating 状態のタスクはすでに永続化されていますが、まだ実行キューには入っていません。
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <PAT または SAT> |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
batch_id | string | Yes | バッチ ID。 |
Example request
Example response
HTTP 200 OK
Response fields
| Field | Type | Description |
|---|---|---|
id | string | バッチ ID。プレフィックスは batch_。 |
object | string | 常に batch。 |
status | string | バッチステータス。 |
input_file_id | string | 入力 JSONL ファイル ID。 |
output_file_id | string | 成功行の結果ファイル ID。生成前は省略されます。 |
error_file_id | string | 失敗行の結果ファイル ID。失敗行がない場合は省略されます。 |
completion_window | string | 完了ウィンドウ。 |
ignore_idle_window | boolean | 常に返されます。アイドルウィンドウを無視するかどうかを示します。過去の Batch、および作成時にこのフィールドを省略した Batch では false です。 |
queue_reason | string | 現在のキュー待ち理由を示す任意の動的スナップショット。validating または queued の場合にのみ返ることがあります。 |
created_at | string | 作成時刻。RFC 3339。 |
expires_at | string | 有効期限。 |
request_counts | object | タスクカウンタの集計値。 |
usage | object/null | 永続化済みサブタスクの現在の使用量集計。有効な使用量がない場合は null。非終端 Batch では現時点の部分集計を、終端 Batch では最終集計を返します。 |
usage.total_credits | number | 各サブタスクの最終または現在の CAS Session の total_credits 合計。単位は CAS Credit であり、token 数や金額ではありません。明示的なゼロ値は保持されます。 |
metadata | object | 呼び出し元のメタデータ。 |
error_message | string | バッチ単位のエラーメッセージ。failed の場合のみ返されます。 |
ステータスとカウンタ
リソースに関する通常のステータス遷移は次のとおりです。
validating: JSONL 構造の同期チェックと既存の無人実行ポリシーチェックが完了し、Template/Identity の有効なリソースとファイルリソースをバックグラウンドで検証しています。Scheduler はこの状態の Batch を起動しません。queued: リソースの事前検証が完了し、実行可能なタスクが存在します。アイドルウィンドウと同時実行枠を待っています。processing: Scheduler がqueued → processingのゲートを通過し、実行可能なpendingタスクだけがキューに入ります。- 事前検証ですべてのタスクが失敗した場合、Session を作成せずに
validatingから直接finalizingに移行します。
request_counts は現在の永続化済みスナップショットで、常に次の式を満たします。
validating 状態の pending は、受け付け済みでリソースの事前検証を待っているタスクを示し、すでにキューに入ったことを意味しません。非同期の事前検証で無効なリソースが見つかると、pending が減り、同じ数だけ failed が増えます。total は変わりません。
タスク単位のリソースエラーによって Batch 全体が failed になることはありません。失敗したタスクも output/error ファイルに含まれます。入力ファイルを読み取れない、永続化に失敗した、リソース検証処理を復旧できないなど、Batch 単位のエラーだけが Batch の failed 状態と error_message を生成します。
スケジューリングフィールド
owner は認証情報に対応するビジネス上の所有範囲です。PAT は現在のユーザー単位、管理者 SAT は organization と workspace の組み合わせで判定されます。
ignore_idle_window=true は Batch をアイドルウィンドウ外でも実行対象にしますが、即時実行や高い優先度を意味しません。同一 owner の排他制御、グローバル Batch 容量、グローバル Task 容量、validating → queued ゲート、FIFO 順序は引き続き適用されます。アイドルウィンドウ内では、通常の Batch とウィンドウを無視する Batch が created_at と ID に基づく同じ FIFO 順序を共有し、ウィンドウを無視しても順番は繰り上がりません。completion_window は引き続き created_at から起算され、検証、キュー待ち、実行の時間を含みます。延長やリセットはされません。
queue_reason は読み取り時点の動的スナップショットで、レスポンス直後に変わる可能性があります。スナップショットの読み込みに失敗した場合は省略されますが、詳細 API の成功には影響しません。次の優先順で最初に一致した理由が返されます。
| 優先度 | 値 | 意味 |
|---|---|---|
| 1 | idle_window | 現在がアイドルウィンドウ外で、この Batch がウィンドウを無視する設定ではありません。 |
| 2 | owner_processing | 同じ owner の別の Batch がすでに processing です。 |
| 3 | global_capacity | グローバルの processing Batch 数が容量上限に達しています。 |
| 4 | scheduler_pending | Batch は queued で、最初の 3 条件には該当せず、Scheduler の起動を待っています。 |
validating では、最初の 3 つの確定済み外部ブロッカーだけが返ります。該当しない場合は省略され、scheduler_pending は返りません。processing、finalizing、cancelling、expiring、すべての終端状態では queue_reason が省略されます。グローバル容量が上限に達していても Create Batch は validating を返せます。その後の待機理由は global_capacity で表されます。
Error codes
| HTTP | Type | Code | Trigger |
|---|---|---|---|
| 404 | not_found_error | batch_not_found | バッチが存在しない、または他ユーザーのものです。 |
| 401 | authentication_error | authentication_required | PAT または SAT が無効、もしくは期限切れです。 |
Notes
- 他ユーザーのバッチにアクセスすると
404 batch_not_foundが返ります。 404 batch_not_foundは、Batch が存在しない場合と現在の呼び出し元から見えない場合を区別しません。クライアントはこれを根拠にリソースの所有者を推測しないでください。ファイルリソースの事前検証で発生した 404 も、安全なconfig_errorとして処理されます。- クライアントはこの API をポーリングして、バッチが終端状態(
completed/failed/cancelled/expired)に達したかどうかを確認してください。

