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 also removes its coverage. Every work item that resolved to this context falls through to the next most specific context. If none matches, the property stops appearing on those work items. 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 not_found.

pk:requiredstring (uuid)

The id of the context to delete.

Response shaping ​

fields:optionalstring

Comma-separated list of fields to return. Fields you don't request are left out of the response instead of coming back as null, so a missing key means you didn't ask for it and null means the value is null. id is always included, whether or not you name it.

Pass all to get every requestable field. An unknown field name returns 400 with the list of valid names and the closest match, so a typo is caught instead of being silently ignored.

Requestable here: applies_to_all_projects, applies_to_all_work_item_types, created_at, default_value, external_id, external_source, id, is_default, is_multi, is_required, issue_type_ids, name, options, project_ids, settings, sort_order, updated_at, updated_by_id.

See Sparse fields.

Scopes ​

workspaces.work_item_properties:write

Errors ​

StatusCodeCause
400invalid_requestA path segment is not a valid UUID.
401unauthorizedMissing or invalid credentials.
402payment_requiredThe feature this endpoint belongs to isn't enabled on your plan, or is switched off.
403forbiddenYour role or token scope can't change workspace property settings.
404not_foundNo such context, property, or workspace, or it's outside your tenant.
406not_acceptableThe Accept header asks for a representation the API can't produce.
409conflictThis workspace manages work item types per project, so workspace-level property writes are refused.
413payload_too_largeThe request body is over the size limit.
415unsupported_media_typeThe Content-Type isn't one this endpoint accepts.
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, because the same capability is 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": "conflict",
  "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 removes more than the context row:

  • The context's options are deleted. Options belong to a context, not to the property, so deleting the context deletes the choices it offered and clears any value recorded against one of those options.
  • Values are removed where no context applies anymore. 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 for every work item that no other context covers. Deleting it doesn't delete the property, but the property becomes invisible everywhere your narrower contexts don't reach.

Only one context per property may set applies_to_all_projects, so deleting this context frees the slot when you want a different context to be the catch-all. To avoid a gap, create the replacement first, 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.

In the other order, there's a window where the property is unreachable in those projects, and Plane removes the values recorded there instead of keeping them.