Create a work item
Create a new work item in the specified project with the provided details.
Path parameters
project_id:requiredstringThe unique identifier of the project.
workspace_slug:requiredstringThe workspace slug. It appears in your Plane URLs. In https://app.plane.so/my-team/projects/, the slug is my-team.
Body parameters
assignees:optionalarrayIDs of the users assigned to the work item.
labels:optionalarrayIDs of the labels applied to the work item.
type_id:optionalstringID of the work item type.
parent:optionalstringID of the parent work item.
deleted_at:optionalstringWhen the work item was deleted.
point:optionalintegerPoint.
name:requiredstringThe work item's name.
description_html:optionalstringThe description as HTML.
description_stripped:optionalstringThe description as plain text, with HTML removed.
priority:optionalstringurgent- Urgenthigh- Highmedium- Mediumlow- Lownone- None
start_date:optionalstringThe work item's start date.
target_date:optionalstringThe work item's target date.
sequence_id:optionalintegerThe work item's sequence ID.
sort_order:optionalnumberPosition used for manual ordering.
completed_at:optionalstringWhen the work item was completed.
archived_at:optionalstringWhen the work item was archived.
last_activity_at:optionalstringWhen the work item last had activity.
is_draft:optionalbooleanWhether the work item is a draft.
external_source:optionalstringThe system external_id came from, for example github or jira.
external_id:optionalstringYour system's identifier for this record, for sync and import correlation.
created_by:optionalstringID of the user who created the work item.
state:optionalstringID of the work item's state.
estimate_point:optionalstringThe work item's estimate point.
type:optionalstringThe work item type.
Scopes
projects.work_items:write
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-items/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Name",
"description": "Example description",
"priority": "medium",
"state": "550e8400-e29b-41d4-a716-446655440000",
"assignees": [
"550e8400-e29b-41d4-a716-446655440000"
],
"labels": [
"550e8400-e29b-41d4-a716-446655440000"
],
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github"
}'import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-items/",
headers={"X-API-Key": "your-api-key"},
json={
"name": "Example Name",
"description": "Example description",
"priority": "medium",
"state": "550e8400-e29b-41d4-a716-446655440000",
"assignees": [
"550e8400-e29b-41d4-a716-446655440000"
],
"labels": [
"550e8400-e29b-41d4-a716-446655440000"
],
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github"
}
)
print(response.json())const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/work-items/",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Example Name",
description: "Example description",
priority: "medium",
state: "550e8400-e29b-41d4-a716-446655440000",
assignees: ["550e8400-e29b-41d4-a716-446655440000"],
labels: ["550e8400-e29b-41d4-a716-446655440000"],
external_id: "550e8400-e29b-41d4-a716-446655440000",
external_source: "github",
}),
},
);
const data = await response.json();{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example Name",
"description": "Example description",
"sequence_id": 1,
"priority": "high",
"assignees": ["550e8400-e29b-41d4-a716-446655440000"],
"labels": ["550e8400-e29b-41d4-a716-446655440000"],
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
