---
title: "Soft-delete board"
method: DELETE
path: "/api/boards/{boardId}"
tags: ["Boards"]
---

# Soft-delete board

`DELETE /api/boards/{boardId}`

## Request

- Base URL: `https://cnvs.app`
- URL: `https://cnvs.app/api/boards/{boardId}`
- Auth: none declared

Marks the board as deleted and wipes all texts / strokes / images. The ID is tombstoned for 30 days (requests return 404 during that window); after 30 days the ID is eligible for reuse via `open_board`. A `board_erased` broadcast is pushed to any connected WebSocket clients so browsers refresh immediately.

## Response `200`

Board deleted.

- object
  - `ok` boolean, required

## Other responses

- `400`: Invalid input (missing or malformed board id).
- `401`: Board is access-locked and the request did not carry a valid key. `lockMode` tells the client whether to prompt for a code or just disable write UI.
- `429`: Rate limit exceeded. Standard REST/MCP: 60 requests/10s/board; valid X-Import-Token infrastructure tier: 600/10s/board; browser WebSocket always 60/10s/board. REST/MCP enforcement is soft per-isolate; WebSocket enforcement is strong per Durable Object.

---

[API](https://skmtc.dev/cnvs/apis/cnvs-app-http-api.md) · [All operations](https://skmtc.dev/cnvs/apis/cnvs-app-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cnvs/apis/cnvs-app-http-api/revisions/c8f2c3b7ff90?raw)
