Skip to content

Get a work item type

GET/api/v2/workspaces/{slug}/projects/{project_id}/work-item-types/{pk}/

Retrieve one work item type by id. Use it to confirm a type still exists and is still active before you write a work item against it, or to refresh a cached name after someone renamed the type in the app.

This returns the type's own attributes only. It does not tell you which fields or custom properties a work item of this type accepts — that is Get a work item type schema.

Reads work in either work item type mode, so this call never needs to branch on how the workspace is configured.

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 type belongs to.

pk:requiredstring (uuid)

The id of the work item type to retrieve.

Scopes

projects.work_item_types:read

Errors

StatusCodeCause
401unauthorizedMissing or invalid credentials.
403forbiddenYour role or token scope can't read this project's work item types.
404resource_not_foundNo such type, project, or workspace — or the type belongs to another project.
429rate_limitedThrottled. Honor the Retry-After header before retrying.
Get a work item type
bash
curl -X GET \
  "https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-item-types/d1e7a4c9-2b58-4f36-9a0e-7c3b5d81f240/" \
  -H "X-Api-Key: $PLANE_API_KEY"
Response200
json
{
  "id": "d1e7a4c9-2b58-4f36-9a0e-7c3b5d81f240",
  "name": "Bug",
  "description": "Something is broken and needs a fix",
  "is_active": true,
  "is_default": false,
  "is_epic": false,
  "level": 0,
  "logo_props": {
    "in_use": "icon",
    "icon": {
      "name": "AlertCircle",
      "background_color": "#EF5974"
    }
  },
  "created_at": "2026-01-14T09:24:03.117482Z"
}
Response404
json
{
  "type": "https://api.plane.so/errors/resource_not_found",
  "title": "Not Found",
  "status": 404,
  "code": "resource_not_found",
  "detail": "No work item type matches the given query."
}

A type from another project is a 404

Type ids are scoped to the project path you call them on. Passing a valid type id under the wrong project_id returns 404 resource_not_found rather than 403 — existence outside your scope is never leaked.

Check is_active before offering a type

is_active: false means the type has been retired from pickers without being deleted. Existing work items keep it, but new ones should not be created with it.