Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 41 additions & 1 deletion plane/api/pages.py
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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.

Expand Down