実行中または待機中のバッチを取り消します。
POST /api/v1/forward/batches/{batch_id}/cancel
取消が発行されると、Forward はキューをドレインして pending タスクを cancelled にマークし、実行中の各タスクに対して CancelSession を呼び出します。
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <PAT または SAT> |
Idempotency-Key | No | 安全でないリクエスト向けの任意のべき等性キー。 |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
batch_id | string | Yes | バッチ ID。 |
Example request
Example response
HTTP 200 OK
status は中間状態の cancelling、残っていなければ直接 cancelled を返します。すでに終端状態にあるバッチはべき等に現在のオブジェクトを返します。usage は、その時点で永続化済みのサブタスクの CAS Credit 集計です。有効な使用量がまだない場合は null です。
Response fields
| Field | Type | Description |
|---|---|---|
| 戻り値 | object | バッチオブジェクト。 |
ignore_idle_window を boolean で返します。取消によって永続化された値は変更されません。過去の Batch、および作成時にこのフィールドを省略した Batch では false です。汎用の Batch オブジェクトでは任意の string queue_reason が返る場合がありますが、取消に成功したレスポンスは cancelling または終端状態になるため、このフィールドは省略されます。
取消フロー
- 終端状態のバッチ:
200をべき等に返し、操作は行いません。 - CAS がステータスを
validating|queued|processing → cancellingに遷移させます。 - Redis キューをドレインし、pending タスクを一括で
cancelledにマークします。 - 実行中の各タスクに対して
CancelSessionを呼び出します。 - 実行中タスクが残っていなければ即座に
finalizeを起動、残っていれば最後のCompleteTaskがfinalizeを駆動します。
Error codes
| HTTP | Type | Code | Trigger |
|---|---|---|---|
| 404 | not_found_error | batch_not_found | バッチが存在しない、または他ユーザーのものです。 |
| 401 | authentication_error | authentication_required | PAT または SAT が無効、もしくは期限切れです。 |
Notes
- 取消は非同期処理です。
cancellingはリクエストが受理されたことを意味します。詳細をポーリングして終端状態を確認してください。 - すでに終端状態のバッチへの取消はべき等で、
200を返します。

