Skip to content

Get work item type schema ​

GET/api/v1/workspaces/{workspace_slug}/projects/{project_id}/work-item-types/schema/

Get the complete schema for a work item type: all standard fields, plus custom properties with their available options inline. LLMs and MCP integrations use it to find out which fields are available when they create or update work items.

The schema always includes these standard fields:

  • name, description_html, priority, state_id, assignee_ids, label_ids, start_date, target_date, parent_id

It includes custom fields when both of these are true:

  • The ISSUE_TYPES feature is enabled.
  • A type_id is provided, or the project has a default type.

Field options are included as follows:

  • state_id and priority options are always included.
  • assignee_ids and label_ids options require ?include=members,labels.
  • estimate_point_id options are included when the project has estimates configured.

Path parameters ​

project_id:requiredstring

The unique identifier of the project.

workspace_slug:requiredstring

The workspace slug. It appears in your Plane URLs. In https://app.plane.so/my-team/projects/, the slug is my-team.

Query parameters ​

include:optionalstring

Comma-separated list of additional options to include: members, labels.

type_id:optionalstring

Work item type ID. If you omit it, the response contains the default type's schema when work item types are enabled, or only the standard fields otherwise.

Scopes ​

projects.work_item_types:read

Get work item type schema
bash
curl -X GET \
  "https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-item-types/schema/?include=members&type_id=type-uuid" \
  -H "X-API-Key: $PLANE_API_KEY" \
  # Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN"
Response200
json
{
  "type_id": "550e8400-e29b-41d4-a716-446655440000",
  "type_name": "Bug",
  "type_description": "Example description",
  "type_logo_props": {},
  "fields": {
    "name": {
      "type": "string",
      "required": true,
      "max_length": 255
    },
    "priority": {
      "type": "option",
      "required": false,
      "options": [
        {
          "value": "urgent",
          "label": "Urgent"
        },
        {
          "value": "high",
          "label": "High"
        }
      ]
    },
    "state_id": {
      "type": "uuid",
      "required": false,
      "options": [
        {
          "id": "...",
          "name": "Example Name",
          "group": "backlog"
        }
      ]
    }
  },
  "custom_fields": {
    "custom_field_severity": {
      "id": "...",
      "type": "OPTION",
      "name": "Example Name",
      "display_name": "Example Name",
      "required": true,
      "is_multi": false,
      "options": [
        {
          "id": "...",
          "name": "Example Name"
        }
      ]
    }
  }
}