---
title: "Cancel Job"
method: POST
path: "/v1/jobs/{job_id}/cancel"
tags: ["jobs"]
---

# Cancel Job

`POST /v1/jobs/{job_id}/cancel`

## Request

- Base URL: `https://api.corent.tech` (the document declares no server; this is the origin it was published from)
- URL: `https://api.corent.tech/v1/jobs/{job_id}/cancel`
- Auth: HTTP bearer

Stop a job that has not finished, and release its money hold.

A video can run for minutes against a reserved balance, and until now
there was no stop button: a request sent by mistake had to be paid for and
waited out (parity audit 2026-08-30).

Two guarantees:
  - The transition is GUARDED on the row still being non-terminal, exactly
    like settlement's claim. Cancelling cannot resurrect or overwrite a job
    that already completed, so a clip that landed a moment earlier stays
    completed and stays billed for what was really delivered.
  - The hold is released, never charged. Cancelling costs nothing.

Cancelling is best-effort against the SUPPLIER: the render may already be
running on their side and we may still be invoiced for it. That is our
cost to absorb, not the customer's, which is why this bills zero rather
than pro-rating something unverifiable.

## Path parameters

- `job_id` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/corent/apis/corent-api.md) · [All operations](https://skmtc.dev/corent/apis/corent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/corent/apis/corent-api/revisions/57168ff53efe?raw)
