Delete a property context
Remove a context from a property. A successful delete returns 204 with an empty body.
Deleting a context does not just remove a rule — it removes coverage. Every work item that resolved to this context falls through to the next most specific context, and if none matches, the property stops appearing on those work items entirely. Read What a delete takes with it before calling this on a context that is in use.
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.
property_id:requiredstring (uuid)The workspace-level property the context belongs to. A project-level property id is not addressable here and returns 404 resource_not_found.
pk:requiredstring (uuid)The id of the context to delete.
Scopes
workspaces.work_item_properties:write
Errors
| Status | Code | Cause |
|---|---|---|
400 | validation_error | A path segment is not a valid UUID. |
401 | unauthorized | Missing or invalid credentials. |
403 | forbidden | Your role or token scope can't change workspace property settings. |
404 | resource_not_found | No such context, property, or workspace — or it's outside your tenant. |
409 | work_item_types_managed_at_project | This workspace manages work item types per project, so workspace-level property writes are refused. |
429 | rate_limited | Throttled. Honor the Retry-After header before retrying. |
Workspace mode only
Deleting a context requires the workspace to manage work item types at the workspace level. In project mode the request returns 409 work_item_types_managed_at_project — the capability exists, it just lives on the project surface. Reads are unaffected. See Work item type modes.
curl -X DELETE \
"https://api.plane.so/api/v2/workspaces/my-team/work-item-properties/d1f7a3c9-5b62-4e08-9a41-7c3e2f8b6d05/contexts/6e2b90d4-1c73-4f58-a09e-3d8b5c14e7f2/" \
-H "X-Api-Key: $PLANE_API_KEY"import requests
response = requests.delete(
"https://api.plane.so/api/v2/workspaces/my-team/work-item-properties/d1f7a3c9-5b62-4e08-9a41-7c3e2f8b6d05/contexts/6e2b90d4-1c73-4f58-a09e-3d8b5c14e7f2/",
headers={"X-Api-Key": "your-api-key"},
)
print(response.status_code)const response = await fetch(
"https://api.plane.so/api/v2/workspaces/my-team/work-item-properties/d1f7a3c9-5b62-4e08-9a41-7c3e2f8b6d05/contexts/6e2b90d4-1c73-4f58-a09e-3d8b5c14e7f2/",
{
method: "DELETE",
headers: {
"X-Api-Key": "your-api-key",
},
}
);
console.log(response.status);No response body.
{
"type": "https://api.plane.so/errors/work-item-types-managed-at-project",
"title": "Conflict",
"status": 409,
"code": "work_item_types_managed_at_project",
"detail": "Work item types are managed at the project level for this workspace."
}What a delete takes with it
The delete is not limited to the context row:
- The context's options go with it. Options belong to a context, not to the property, so deleting the context deletes the choices it offered — and any value recorded against one of those options is cleared.
- Cells that lose their last covering context lose their values. For each project and work item type combination that this context covered, Plane re-resolves the property. If a less specific context still matches, work items there switch to its rules. If nothing matches, the property no longer applies in that combination and the values recorded there are removed.
There is no restore operation. Treat the 204 as final.
Deleting the all-projects context
The context Plane seeds with a property covers all projects and all work item types, which makes it the fallback that every uncovered work item lands on. Deleting it does not delete the property, but it does leave the property invisible everywhere your narrower contexts do not reach.
That slot also carries a constraint: only one context per property may set applies_to_all_projects. So deleting this context is how you free the slot when you want a different context to be the catch-all — create the replacement first if you would rather not have a gap, then move the flag with Update a context.
A safer teardown
When a context is in active use, retire it in this order:
- List the property's contexts and work out which context each covered project and work item type will fall back to.
- If the fallback is the wrong rule, update it — or create the replacement context — before deleting anything.
- Delete the context you are retiring.
Doing it in the other order leaves a window where the property is unreachable in those projects, and the values recorded there are cleaned up rather than parked.

