Create a module ​
POST/api/v1/workspaces/{slug}/projects/{project_id}/modules/
Create a new project module with specified name, description, and timeline.
Path Parameters ​
project_id:requiredstringProject ID
slug:requiredstringWorkspace slug
Body Parameters ​
name:requiredstringName.
description:optionalstringDescription.
start_date:optionalstringStart date.
target_date:optionalstringTarget date.
status:optionalstringbacklog- Backlogplanned- Plannedin-progress- In Progresspaused- Pausedcompleted- Completedcancelled- Cancelled
lead:optionalstringLead.
members:optionalarrayMembers.
external_source:optionalstringExternal source.
external_id:optionalstringExternal id.
Scopes ​
projects.modules:write
Create a module
bash
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/modules/" \
-H "X-API-Key: $PLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Name",
"description": "Example description",
"start_date": "2024-01-01",
"end_date": "2024-01-01",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github"
}'python
import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/modules/",
headers={"X-API-Key": "your-api-key"},
json={
"name": "Example Name",
"description": "Example description",
"start_date": "2024-01-01",
"end_date": "2024-01-01",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github"
}
)
print(response.json())javascript
const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/modules/",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Example Name",
description: "Example description",
start_date: "2024-01-01",
end_date: "2024-01-01",
external_id: "550e8400-e29b-41d4-a716-446655440000",
external_source: "github",
}),
}
);
const data = await response.json();Response201
json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example Name",
"description": "Example description",
"start_date": "2024-01-01",
"target_date": "2024-01-01",
"status": "in-progress",
"total_issues": 12,
"completed_issues": 5,
"cancelled_issues": 0,
"started_issues": 4,
"unstarted_issues": 3,
"backlog_issues": 0,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
