Delete a work item page
DELETE/api/v2/workspaces/{slug}/projects/{project_id}/work-items/{work_item_id}/pages/{pk}/
Remove the link between a work item and a page. A successful delete returns 204 with an empty body. The call doesn't delete or change the page itself, and the page's other links stay in place.
{pk} is the link id, not the page id. If you have only the page id, find the link first with List work item pages and ?page_id=.
Unlinking a page adds an entry to the work item's activity.
Path Parameters
slug:requiredstringThe workspace slug. It appears in your Plane URLs. In https://app.plane.so/my-team/projects/, the slug is my-team.
project_id:requiredstringThe work item's project. Accepts the project UUID or its bare identifier, for example ENG.
work_item_id:requiredstringThe work item. Accepts the work item UUID or its ENG-123 identifier.
pk:requiredstring (uuid)The id of the link to delete.
Scopes
projects.work_items:write
Errors
| Status | Code | Cause |
|---|---|---|
400 | invalid_request | The request could not be processed. |
401 | unauthorized | Missing or invalid credentials. |
402 | payment_required | The feature this endpoint belongs to isn't enabled on your plan, or is switched off. |
403 | forbidden | Your role or token scope can't delete pages in this project. |
404 | not_found | No such project, work item, or link, the link belongs to another work item, or you can't see the work item. |
406 | not_acceptable | The Accept header asks for a representation the API can't produce. |
409 | conflict | All write endpoints declare this status. This endpoint has no conflict case of its own. |
413 | payload_too_large | The request body is over the size limit. |
415 | unsupported_media_type | The Content-Type isn't one this endpoint accepts. |
429 | rate_limited | Throttled. Honor the Retry-After header before retrying. |
Delete a work item page
bash
curl -X DELETE \
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-items/5d2a8e47-1c3b-4f96-b0e8-7a4c9d2f1b63/pages/c4e8a1f2-7b3d-4e59-9a06-2f1d8c5b7e34/" \
-H "X-Api-Key: $PLANE_API_KEY"python
import requests
response = requests.delete(
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b"
"/work-items/5d2a8e47-1c3b-4f96-b0e8-7a4c9d2f1b63/pages/c4e8a1f2-7b3d-4e59-9a06-2f1d8c5b7e34/",
headers={"X-Api-Key": "your-api-key"},
)
print(response.status_code)javascript
const response = await fetch(
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b" +
"/work-items/5d2a8e47-1c3b-4f96-b0e8-7a4c9d2f1b63/pages/c4e8a1f2-7b3d-4e59-9a06-2f1d8c5b7e34/",
{
method: "DELETE",
headers: {
"X-Api-Key": "your-api-key",
},
},
);
console.log(response.status);Response204
No response body.
Response404
json
{
"type": "not_found",
"code": "not_found",
"detail": "The requested resource was not found."
}
