From 52793a7202f7f41512560ce95741720b0bc56c61 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 27 Jul 2026 16:21:06 +0800 Subject: [PATCH] feat: add update_workspace_page and update_project_page to Pages resource --- plane/api/pages.py | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/plane/api/pages.py b/plane/api/pages.py index dabc58d..eebe179 100644 --- a/plane/api/pages.py +++ b/plane/api/pages.py @@ -1,6 +1,6 @@ from typing import Any -from ..models.pages import CreatePage, Page, PaginatedPageResponse +from ..models.pages import CreatePage, Page, PaginatedPageResponse, UpdatePage from ..models.query_params import PaginatedQueryParams, RetrieveQueryParams from .base_resource import BaseResource @@ -117,6 +117,46 @@ def create_project_page( ) return Page.model_validate(response) + def update_workspace_page( + self, + workspace_slug: str, + page_id: str, + data: UpdatePage, + ) -> Page: + """Update a workspace page by ID. + + Args: + workspace_slug: The workspace slug identifier + page_id: UUID of the page + data: Updated page data + """ + response = self._patch( + f"{workspace_slug}/pages/{page_id}", + data.model_dump(exclude_none=True), + ) + return Page.model_validate(response) + + def update_project_page( + self, + workspace_slug: str, + project_id: str, + page_id: str, + data: UpdatePage, + ) -> Page: + """Update a project page by ID. + + Args: + workspace_slug: The workspace slug identifier + project_id: UUID of the project + page_id: UUID of the page + data: Updated page data + """ + response = self._patch( + f"{workspace_slug}/projects/{project_id}/pages/{page_id}", + data.model_dump(exclude_none=True), + ) + return Page.model_validate(response) + def delete_workspace_page(self, workspace_slug: str, page_id: str) -> None: """Delete a workspace page by ID.