# Cancel a Render Job

> Cancel an async render job that has not started yet. Running renders complete and bill normally.

- **URL**: https://orshot.com/docs/api-reference/async-render-job-cancel

---

Cancel an [async render job](https://orshot.com/docs/api-reference/async-render-start) that is still `queued`.

```markdown tab="Endpoint"
POST https://api.orshot.com/v1/studio/render-jobs/:id/cancel
```

Only **queued** jobs can be canceled: nothing has rendered, so nothing is billed. The response is the [job object](https://orshot.com/docs/api-reference/async-render-start#the-job-object) with `status: "canceled"`.

## When cancel is refused

| Job state | Response | Meaning |
| --------- | -------- | ------- |
| `processing` | `409` `job-not-cancelable` | The render is already running. It completes and is billed normally; poll it, or simply ignore the result. |
| `succeeded` / `failed` / `canceled` | `409` `job-already-finished` | The job already finished; there is nothing to cancel. |
| not in your workspace | `404` `job-not-found` | Unknown id (job ids are workspace-scoped). |