Skip to content

Get work item type schema ​

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

Returns the complete schema for a work item type including all standard fields and custom properties with their available options inline.

This endpoint enables LLMs and MCP integrations to understand what fields are available when creating/updating work items.

Standard fields are always included:

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

Custom fields are included when:

  • ISSUE_TYPES feature is enabled AND
  • A type_id is provided or a default type exists for the project

Options behavior:

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

Path Parameters ​

project_id:requiredstring

Project ID

slug:requiredstring

Workspace slug

Query Parameters ​

include:optionalstring

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

type_id:optionalstring

Work item type ID. If not provided, returns schema for default type (when types enabled) or standard fields only.

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/550e8400-e29b-41d4-a716-446655440000/work-item-types/schema/?include=members&type_id=550e8400-e29b-41d4-a716-446655440000" \
  -H "X-API-Key: $PLANE_API_KEY"
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"
        }
      ]
    }
  }
}