Skip to content

Delete a property context

DELETE/api/v2/workspaces/{slug}/work-item-properties/{property_id}/contexts/{pk}/

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:requiredstring

The 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

StatusCodeCause
400validation_errorA path segment is not a valid UUID.
401unauthorizedMissing or invalid credentials.
403forbiddenYour role or token scope can't change workspace property settings.
404resource_not_foundNo such context, property, or workspace — or it's outside your tenant.
409work_item_types_managed_at_projectThis workspace manages work item types per project, so workspace-level property writes are refused.
429rate_limitedThrottled. 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.

Delete a property context
bash
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"
Response204

No response body.

Response409
json
{
  "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:

  1. List the property's contexts and work out which context each covered project and work item type will fall back to.
  2. If the fallback is the wrong rule, update it — or create the replacement context — before deleting anything.
  3. 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.