Skip to content

Detach a property from a type

DELETE/api/v2/workspaces/{slug}/projects/{project_id}/work-item-types/{type_id}/properties/{pk}/

Stop a work item type from exposing a custom property. This removes the link between the type and the property and returns 204 with an empty body.

Detaching is not deleting

The property definition survives. It stays in the project, stays attached to every other type that uses it, and can be attached again later with Attach a property to a type. To remove the definition itself, use Delete a work item property.

Values recorded on this type's work items are removed

The link is not the only thing that goes. Values already stored for this property on work items of this type are removed along with it, and re-attaching does not restore them. Export what you need before detaching a property that has been in use. Work items of other types keep their values for this property.

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.

project_id:requiredstring (uuid)

The project the work item type belongs to.

type_id:requiredstring (uuid)

The work item type to detach the property from.

pk:requiredstring (uuid)

The id of the property to detach — the property's own id, not a separate link id. It is the same value you passed in the properties array when you attached it.

Scopes

projects.work_item_types:write

Errors

StatusCodeCause
400validation_errorMalformed request — for example a pk that isn't a valid UUID.
401unauthorizedMissing or invalid credentials.
403forbiddenYour role or token scope can't edit this project's work item types.
404resource_not_foundThe property isn't attached to this type, or no such type, project, or workspace.
409work_item_types_managed_at_workspaceThis workspace manages work item types at the workspace level. See below.
429rate_limitedThrottled. Honor the Retry-After header before retrying.

Wrong mode is a 409, not a 404

Detaching is a project-mode write. If the workspace manages work item types at the workspace level, this endpoint returns 409 work_item_types_managed_at_workspace and nothing is changed. Detach on the workspace surface instead with Detach a property from a workspace type.

Branch on the code: a 409 means "wrong surface", a 404 means "that property isn't on this type". See Work item type modes.

Detach is not idempotent the way attach is

Attaching a property twice is harmless, but detaching one that is already gone returns 404 rather than 204. If you are replaying a request, treat a 404 as "already detached" instead of retrying.

Detach a property from a type
bash
curl -X DELETE \
  "https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-item-types/9d3c7f21-6b48-4e0a-8f52-2c1d7a904e66/properties/5e8b3417-2a6d-4c91-b0f7-8d2e14a6c395/" \
  -H "X-Api-Key: $PLANE_API_KEY"
Response204

No response body.

Response409
json
{
  "type": "https://api.plane.so/errors/work_item_types_managed_at_workspace",
  "title": "Work Item Types Managed At Workspace",
  "status": 409,
  "code": "work_item_types_managed_at_workspace",
  "detail": "Work item types are managed at the workspace level for this workspace."
}
Response404
json
{
  "type": "https://api.plane.so/errors/resource_not_found",
  "title": "Not Found",
  "status": 404,
  "code": "resource_not_found",
  "detail": "The requested resource was not found."
}