Create a project page
POST/api/v1/workspaces/{workspace_slug}/projects/{project_id}/pages/
Create a page in a project.
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
name:requiredstringThe page's name.
access:optionalinteger0- Public1- Private
color:optionalstringDisplay color.
is_locked:optionalbooleanWhether the page is locked.
archived_at:optionalstringWhen the page was archived.
view_props:optionalobjectView properties for the page.
logo_props:optionalobjectLogo settings used by the Plane editor.
external_id:optionalstringYour system's identifier for this record, for sync and import correlation.
external_source:optionalstringThe system external_id came from, for example github or jira.
description_html:requiredstringHTML content for the page body.
Scopes
projects.pages:write
Create a project page
bash
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/pages/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Name",
"access": 0,
"color": "Example Name",
"is_locked": true,
"archived_at": "2024-01-01",
"view_props": "example-value",
"logo_props": "example-value",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github",
"description_html": "<p>Example content</p>"
}'python
import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/pages/",
headers={"X-API-Key": "your-api-key"},
json={
"name": "Example Name",
"access": 0,
"color": "Example Name",
"is_locked": true,
"archived_at": "2024-01-01",
"view_props": "example-value",
"logo_props": "example-value",
"external_id": "550e8400-e29b-41d4-a716-446655440000",
"external_source": "github",
"description_html": "<p>Example content</p>"
}
)
print(response.json())javascript
const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-uuid/pages/",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Example Name",
access: 0,
color: "Example Name",
is_locked: true,
archived_at: "2024-01-01",
view_props: "example-value",
logo_props: "example-value",
external_id: "550e8400-e29b-41d4-a716-446655440000",
external_source: "github",
description_html: "<p>Example content</p>",
}),
},
);
const data = await response.json();Response201
json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example Name",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z",
"description_html": "<p>Example content</p>",
"owned_by": "550e8400-e29b-41d4-a716-446655440000",
"access": 0,
"color": "Example Name",
"is_locked": true,
"archived_at": "2024-01-01",
"workspace": "550e8400-e29b-41d4-a716-446655440000",
"created_by": "550e8400-e29b-41d4-a716-446655440000",
"updated_by": "550e8400-e29b-41d4-a716-446655440000"
}
