---
title: "Cancel Job"
method: DELETE
path: "/v2/jobs/{job_id}"
tags: ["jobs"]
---

# Cancel Job

`DELETE /v2/jobs/{job_id}`

Cancel/delete an indexing job.

Maps to POST /v1/index-stop/{job_id}

Behavior:
- If job is pending or running -> transition to cancelled
- If job is already completed/failed/cancelled -> return 200 with current state (idempotent)

Returns:
- job_id: The job identifier
- status: Current status after cancel attempt
- message: Human-readable description
- cancelled_at: Cancellation timestamp (RFC3339)

Authentication: Requires Bearer token in Authorization header

## Path parameters

- `job_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- JobCancelResponse
  - `cancelled_at` string, nullable
  - `cleanup_initiated` boolean, nullable
  - `job_id` string, required
  - `message` string, required
  - `status` string, required

---

[API](https://skmtc.dev/runcaptain/apis/api-reference.md) · [All operations](https://skmtc.dev/runcaptain/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/runcaptain/api-reference/revisions/fe4649e3f4aa/schema)
