Skip to content

Get work item type governance ​

GET/api/v2/workspaces/{slug}/work-item-types/{type_id}/governance/

Read how a governed workspace decides the workflow for one work item type. The response carries the governance mode, the mandated workflow under required, and the allowlist with the projects already using each workflow.

Read this before you change the mode. An allowlist entry with locked: true is a workflow some project's pick uses, so removing it from the allowlist needs acknowledge: true. See Work item type governance for the model.

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.

type_id:requiredstring (uuid)

The work item type. It can be any type in the workspace.

Scopes ​

workspaces.workflows:read

Errors ​

StatusCodeCause
401unauthorizedMissing or invalid credentials.
402payment_requiredWorkspace governance isn't on your plan.
403forbiddenYour role or token scope can't view workspace workflows. Plain workspace access, such as a guest's, isn't enough.
404not_foundNo such work item type in this workspace.
406not_acceptableThe Accept header asks for a representation the API can't produce.
409states_managed_at_projectThe workspace doesn't have governance turned on, so workflows are managed in each project.
429rate_limitedThrottled. Honor the Retry-After header before retrying.

Why guests can't read this

The response names the projects whose pick uses each workflow, and a workspace guest isn't a member of most of them. Reading governance therefore needs permission to view workspace workflows, not only access to the workspace.

Get work item type governance
bash
curl -X GET \
  "https://api.plane.so/api/v2/workspaces/my-team/work-item-types/d1e7a4c9-2b58-4f36-9a0e-7c3b5d81f240/governance/" \
  -H "X-Api-Key: $PLANE_API_KEY"
Response200
json
{
  "mode": "constrained",
  "required_workflow_id": null,
  "allowlist": [
    {
      "workflow_id": "a1f4c7e2-3b98-4d61-8e25-6c0b9d7f3a14",
      "name": "Standard delivery",
      "locked": true,
      "in_use_by_project_ids": [
        "4af68566-94a4-4eb3-94aa-50dc9427067b",
        "7c19e5b3-2d84-4f6a-b0e7-93a1c5d8f246"
      ]
    },
    {
      "workflow_id": "e6b2d9f1-48a7-4c3e-9f50-1d7a8c2b6e93",
      "name": "Regulated release",
      "locked": false,
      "in_use_by_project_ids": []
    }
  ]
}
Response200
json
{
  "mode": "any",
  "required_workflow_id": null,
  "allowlist": []
}
Response409
json
{
  "type": "conflict",
  "code": "states_managed_at_project",
  "detail": "Work item type governance is managed at the project level in this workspace."
}