Skip to content

Create a wiki page

POST/api/v1/workspaces/{workspace_slug}/pages/

Create a workspace page. To create a child page, pass parent_id; Plane creates the page and inserts a page embed into the parent document. The parent must be visible, editable, unlocked, and active.

Path Parameters

workspace_slug:requiredstring

The workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.

Body Parameters

name:requiredstring

Name.

access:optionalinteger
  • 0 - Public
  • 1 - Private
color:optionalstring

Color.

is_locked:optionalboolean

Is locked.

archived_at:optionalstring

Archived at.

view_props:optionalobject

View props.

logo_props:optionalobject

Logo props.

external_id:optionalstring

External id.

external_source:optionalstring

External source.

description_html:requiredstring

HTML content for the page body. Plane sanitizes the HTML before storing it.

parent_id:optionalstring

UUID of the parent workspace page. Do not combine parent_id with collection_id.

Scopes

write or wiki.pages:write

Create a wiki page
bash
curl -X POST \
  "https://api.plane.so/api/v1/workspaces/my-workspace/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",
  "parent_id": "4d2f6f7e-9b4a-4d6a-8f4a-1c3f7c0f4a10",
  "description_html": "<p>Example content</p>"
}'
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"
}

Child-page responses

  • 201 Created: the child was created and linked in the parent document.
  • 202 Accepted: the child was created, but Plane is still retrying the parent link. Store the returned page ID and check the parent later. The response already contains the requested parent_id; only the parent document embed is pending.
  • 400 Bad Request: the parent is locked or archived, or parent_id conflicts with collection_id.
  • 403 Forbidden: the caller cannot edit the parent.
  • 404 Not Found: the parent is unavailable in this workspace.
  • 502 Bad Gateway: the parent link was rejected and the new child was removed.
  • 503 Service Unavailable: the collaborative document service is not configured.