# Stop a board run

`DELETE https://api.vidmoat.com/v1/storyboard-runs/{id}`

- Scope: `ai.agent`
- Cost: Free

Stop the scene building now; no further scene starts. Finished scenes keep their edits and verdicts.

### Path parameters

- `id` (string, required): The boardRunId.

## Response

Returns `200`.

### Response fields

- `stopped` (boolean): A live scene was stopped.
- `completedScenes` (array of strings): Scenes that finished.

## Errors

Besides the errors any request can get ([authentication](https://developer.vidmoat.com/developer/docs/authentication#when-a-request-is-refused), [rate limits](https://developer.vidmoat.com/developer/docs/rate-limits)):

| Status | Code | When |
| --- | --- | --- |
| 404 | [`not_found`](https://developer.vidmoat.com/developer/docs/errors#not_found) | No such board run on this account. |

## Request examples

```bash curl
curl -X DELETE https://api.vidmoat.com/v1/storyboard-runs/$BOARD_RUN_ID \
  -H "Authorization: Bearer $VIDMOAT_KEY"
```

```js Node
const BOARD_RUN_ID = 'REPLACE_ME';

const res = await fetch(`https://api.vidmoat.com/v1/storyboard-runs/${BOARD_RUN_ID}`, {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.VIDMOAT_KEY}`,
  },
});
const data = await res.json();
if (!res.ok) throw new Error(data.error?.message ?? `HTTP ${res.status}`);
console.log(data);
```

```python Python
import os
import requests

BOARD_RUN_ID = "REPLACE_ME"

res = requests.delete(
    f"https://api.vidmoat.com/v1/storyboard-runs/{BOARD_RUN_ID}",
    headers={"Authorization": f"Bearer {os.environ['VIDMOAT_KEY']}"},
    timeout=60,
)
res.raise_for_status()
print(res.json())
```

---

Source: https://developer.vidmoat.com/developer/docs/api/projects/stop-storyboard-run
Previous: [Get a board run](https://developer.vidmoat.com/developer/docs/api/projects/get-storyboard-run.md)
Next: [List workspaces](https://developer.vidmoat.com/developer/docs/api/workspaces/list-workspaces.md)
All documentation: https://developer.vidmoat.com/llms-full.txt
