Detach a property from a workspace type
Remove a property from a workspace-level work item type. The type stops carrying the property; nothing else changes.
Detaching is not deleting
The property stays in the workspace catalog and stays attached to every other type that uses it. To remove it from the workspace entirely, call Delete a workspace property instead.
Wrong mode is a 409, not a 404
If the workspace manages work item types at the project level, this route returns 409 with the code work_item_types_managed_at_project. Detach through the project-level route instead. See Work item type modes.
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.
type_id:requiredstring (uuid)The workspace work item type to detach the property from.
pk:requiredstring (uuid)The property's id. A property that is not attached to this type returns 404.
Scopes
workspaces.work_item_types:write
Errors
| Status | Code | Cause |
|---|---|---|
400 | validation_error | The request failed validation — most often a pk that isn't a valid UUID. |
401 | unauthorized | Missing or invalid credentials. |
403 | forbidden | Your role or token scope can't write workspace work item types. |
404 | resource_not_found | No such workspace, type, or property — or the property isn't on this type. |
409 | work_item_types_managed_at_project | This workspace manages work item types at the project level. |
429 | rate_limited | Throttled. Honor the Retry-After header before retrying. |
curl -X DELETE \
"https://api.plane.so/api/v2/workspaces/my-team/work-item-types/d1a0b7c6-2f83-4e19-9a55-3b6c8d0e4f27/properties/a7e3f1d0-5c92-4b68-8f31-2d4a6b9e0c15/" \
-H "X-Api-Key: $PLANE_API_KEY"import requests
response = requests.delete(
"https://api.plane.so/api/v2/workspaces/my-team/work-item-types/d1a0b7c6-2f83-4e19-9a55-3b6c8d0e4f27/properties/a7e3f1d0-5c92-4b68-8f31-2d4a6b9e0c15/",
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-types/d1a0b7c6-2f83-4e19-9a55-3b6c8d0e4f27/properties/a7e3f1d0-5c92-4b68-8f31-2d4a6b9e0c15/",
{
method: "DELETE",
headers: {
"X-Api-Key": "your-api-key",
},
}
);
console.log(response.status);No content{
"type": "https://api.plane.so/errors/work-item-types-managed-at-project",
"title": "Conflict",
"status": 409,
"code": "work_item_types_managed_at_project",
"detail": "This workspace manages work item types at the project level. Use the project-level endpoint instead."
}Re-attaching is a POST away
Detaching is reversible: send the same id back through Attach properties to a workspace type.

