Skip to main content

Work Items API

Work items (also known as issues) are the core building blocks of project management in Plane. This API allows you to manage issues, their relationships, comments, attachments, and activities.

Endpoints

List Work Items

GET
Retrieve a list of work items in a project.

Path Parameters

string
required
Workspace slug identifier
uuid
required
Project UUID

Query Parameters

string
Comma-separated fields to expand: assignees, labels, state, cycle, module
Search term to filter work items
uuid
Filter by state ID
integer
default:"100"
Number of items per page
integer
default:"0"
Number of items to skip

Example Request

Response

Create Work Item

POST
Create a new work item in a project.

Path Parameters

string
required
Workspace slug identifier
uuid
required
Project UUID

Request Body

string
required
Work item title/name
string
HTML-formatted description (sanitized for security)
string
Binary description data (validated)
uuid
required
State ID (must belong to the project)
string
Priority level: urgent, high, medium, low, none
array
Array of user IDs to assign (must be project members with role ≥ 15)
array
Array of label IDs (must belong to the project)
date
Start date (YYYY-MM-DD). Cannot exceed target_date
date
Target/due date (YYYY-MM-DD)
uuid
Parent issue ID for sub-issues
uuid
Estimate point ID for story points
uuid
Issue type ID (defaults to project’s default type)
string
External integration source identifier
string
External system identifier for tracking

Example Request

Response

Get Work Item

GET
Retrieve a specific work item by ID.

Path Parameters

string
required
Workspace slug identifier
uuid
required
Project UUID
uuid
required
Work item UUID

Example Request

Update Work Item

PATCH
Update a work item’s properties.

Request Body

All fields from the create endpoint are supported. Only include fields you want to update.

Example Request

Delete Work Item

DELETE
Delete a work item.

Example Request

Work Item Comments

List Comments

GET

Create Comment

POST

Request Body

string
required
HTML-formatted comment (sanitized)
object
JSON representation of comment
string
default:"internal"
Access level: internal, external

Example Request

POST

Request Body

string
required
Link title/description
string
required
Valid HTTP/HTTPS URL

Example Request

Work Item Attachments

Upload Attachment

POST

Request Body

string
required
Original filename
integer
required
File size in bytes (max: 5MB by default)
string
MIME type of the file

Work Item Activities

List Activities

GET
Retrieve the activity history for a work item.

Search Work Items

GET
Search for work items across a workspace.

Query Parameters

string
required
Search query
uuid
Filter by specific project

Example Request

Get Work Item by Identifier

GET
Retrieve a work item using the human-readable identifier (e.g., PROJ-42).

Example Request

Validation Rules

  • HTML Content: All HTML fields are sanitized for XSS prevention
  • Date Range: start_date cannot exceed target_date
  • Assignees: Must be active project members with role ≥ 15
  • Labels: Must belong to the same project
  • State: Must belong to the same project
  • Parent: Must be an issue in the same project and workspace
  • Estimate Point: Must belong to the same project and workspace

Error Responses

Validation Error

Invalid HTML

Invalid State