# Cancel or Delete Video

`DELETE https://api.vultrinference.com/v1/videos/{id}`

A `pending` or `in_progress` job is cancelled and not billed; it answers with the job, now `cancelled`. A finished job is deleted with its video and answers `{id, object, deleted}`.

Cancelling stops billing at once. A render that has already started stops within about 10 seconds.

## Path parameters

- `id` (string, required): The video job's ID, `video_` followed by 24 hex characters.

## Responses

- `200`: OK
- `401`: The API key is missing, unknown or not active. Send it as Authorization: Bearer <key>. (error-payload)
- `404`: Not found (error-payload)
- `409`: The job changed state while being cancelled; try again (error-payload)

## Example

```bash
curl -X DELETE https://api.vultrinference.com/v1/videos/{id} \
  -H "Authorization: Bearer $VULTR_INFERENCE_API_KEY"
```

```python
import os
import requests

response = requests.delete(
    "https://api.vultrinference.com/v1/videos/{id}",
    headers={"Authorization": f"Bearer {os.environ['VULTR_INFERENCE_API_KEY']}"},
)
print(response.json())
```

```javascript
const response = await fetch("https://api.vultrinference.com/v1/videos/{id}", {
  method: "DELETE",
  headers: {
    Authorization: `Bearer ${process.env.VULTR_INFERENCE_API_KEY}`,
  },
});
console.log(await response.json());
```
