Workspace pages overview
Workspace pages are the wiki documents that live outside any project.
The workspace page object
Attributes
accessintegerWho can see this.
archived_atstring (date-time)When the record was archived, or
nullif it is active.collection_idstringThe related collection.
colorstringHex color used wherever this is rendered, for example
#3f76ff.created_atstring (date-time)When the workspace page was created.
updated_atstring (date-time)When the workspace page was last updated.
created_by_idstring (uuid)The user who created the workspace page.
updated_by_idstring (uuid) or nullThe user who last updated the workspace page.
nulluntil someone updates it.description_htmlstringRich-text body as HTML. This is the field the Plane editor round-trips.
description_strippedstringThe description stripped.
external_idstringYour system's identifier for this record, for sync and import correlation.
external_sourcestringThe system
external_idcame from, for examplegithuborjira.idstring (uuid)Unique identifier.
is_globalbooleanWhether this lives at the workspace level rather than inside a project.
is_lockedbooleanPrevents further edits to the content. A locked page can still be archived and unarchived.
logo_propsstringEditor-owned logo descriptor. Pass back what you read rather than composing it by hand.
namestringDisplay name.
owned_by_idstring (uuid)The related owned by.
parent_idstring (uuid)The related parent.
project_idsarray of string (uuid)The projects the page belongs to. Always empty for a workspace (wiki) page. List rows omit this field by default. Request it with
?fields=.sort_ordernumberManual ordering weight. Lower sorts first.
view_propsstringEditor-owned layout descriptor. Pass back what you read.
{
"access": 0,
"archived_at": null,
"collection_id": "f960d3c2-8524-4a41-b8eb-055ce4be2a7f",
"color": "#3f76ff",
"created_at": "2026-01-14T09:22:41.478363Z",
"created_by_id": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"description_html": "<p>Details go here.</p>",
"description_stripped": "example",
"external_id": null,
"external_source": null,
"id": "b7e42a19-3c5d-4f80-9a26-8d1c0f4e7b53",
"is_global": true,
"is_locked": false,
"logo_props": null,
"name": "Example name",
"owned_by_id": "f960d3c2-8524-4a41-b8eb-055ce4be2a7f",
"parent_id": "f960d3c2-8524-4a41-b8eb-055ce4be2a7f",
"project_ids": [],
"sort_order": 65535,
"view_props": null
}Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v2/workspaces/{slug}/pages/ | List workspace pages |
GET | /api/v2/workspaces/{slug}/pages/{pk}/ | Get a workspace page |
POST | /api/v2/workspaces/{slug}/pages/ | Create a workspace page |
PATCH | /api/v2/workspaces/{slug}/pages/{pk}/ | Update a workspace page |
DELETE | /api/v2/workspaces/{slug}/pages/{pk}/ | Delete a workspace page |
POST | /api/v2/workspaces/{slug}/pages/{pk}/archive/ | Archive a workspace page |
POST | /api/v2/workspaces/{slug}/pages/{pk}/unarchive/ | Unarchive a workspace page |
Archiving and deleting
You must archive a page before you can delete it. Archive a workspace page archives the page and its nested pages, and unpublishes the page if it was published. Unarchive a workspace page restores them. An archived page stays readable, with archived_at set.
Response shaping
Every workspace page read accepts ?fields= for sparse responses. See Sparse fields. Errors follow the shared problem+json contract.

