For the full documentation index, see PageWeave Documentation or fetch llms.txt.

list_pages, get_page, create_page, update_page, delete_page

Create, update, delete, and manage versions of website pages.

Actions

list

List all pages for a website. Returns paths, titles, indexability, and version counts.

Parameters:

  • domain — Website subdomain, domain, or UUID
  • limit — Max results (default 50, max 100)
  • offset — Items to skip (default 0)
  • path — Directory prefix filter (e.g. /blog). Matches the prefix page itself plus all descendants recursively unless recursive:false (optional)
  • recursive — Default true (all descendants). false lists only direct children and surfaces a directories: line of immediate subdirectory paths (optional)
  • pattern — Glob matched against the full path (/blog/*, /blog/**/*). * does not cross a slash; **/ recurses (optional)
  • content_query — Case-insensitive regex (PostgreSQL ARE) matched against each page’s live version html_content, title, and additional_html_head_html. Max 200 chars. 2.5 s timeout — narrow broad searches with path (optional)

All filters compose (all must match). With recursive:false, the directories: line is structural — derived from the path prefix only, unaffected by pattern/content_query.

get

Get a specific page.

Parameters:

  • domain — Website subdomain, domain, or UUID
  • path — Page path (e.g., /about)
  • version_number — Specific version (optional)
  • pinned — Retrieve pinned version (optional)

create

Create a new page.

Parameters:

  • domain — Website subdomain, domain, or UUID
  • path — Page path (e.g., /about, /posts/:slug)
  • html — HTML content
  • title — Page title (optional)
  • language — BCP 47 tag (optional). See Internationalization (i18n) for multilingual setup.
  • indexable — Whether search engines should index this page (default: true)
  • table_slug — Table slug; makes page a dynamic row template. Path must contain :slug. Additional :field_name placeholders map to string/text schema fields (e.g. /blog/:lang/:slug). Template HTML gets row variable for table row data. (optional)

update

Update an existing page.

Parameters:

  • website — Website subdomain, domain, or UUID
  • path — Page path
  • html — Full HTML to overwrite the page body (optional)
  • additional_html_head_html — Full HTML to overwrite the page-specific <head> block (optional)
  • replacements — Array of {old_html, new_html, mode} objects for find-and-replace (optional)
    • old_html — HTML snippet to find
    • new_html — Replacement HTML
    • mode — Replace mode: replace, replace_all, append (default: replace)
  • dry_run — When true, validate without creating a new version (optional)

html and additional_html_head_html may be provided together. replacements is mutually exclusive with both. Use update_page_settings to change title, path, language, table_slug, or indexable. See Internationalization (i18n) for multilingual page setup.

delete

Delete a page and all its versions.

Parameters:

  • domain — Website subdomain, domain, or UUID
  • path — Page path

Version Management

Use the unified version tools with target: "/about" (page path):

  • pin_version — Pin a specific version
  • revert_version — Revert to a previous version

OAuth Scopes

Action Scope
list, get page:read
create, update page:write
delete page:delete
pin_version version:pin
revert_version version:revert