Create or Update a Multi-Page Website
create_or_update_pageCreate a new single-page or multi-page website or update an existing site on wordy.page. Supports up to 10 pages per site, simple Light or Dark mode (theme: "light" or "dark"), one Unsplash header image per page (photo on the home page and on each section, which also renders a 50%-opacity blurred full-viewport background), plain-text formatting limited to ALL CAPS blue light-bold highlights (do NOT use bold Markdown asterisks) and space/tab indentation (blank lines stay blank, no dividers), safe plain-text HTML/code escaping, automatic URL/email linking, and an optional contact form on any page (cf: true on the home page or a section; Email + Message only). If authenticated with a matching session_token, publishes immediately (status: "live"); otherwise emails a one-tap verification/publish link to owner_email (status: "Verify email").
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Target web address slug (3-40 chars, lowercase letters/digits/hyphens), published at https://wordy.page/<slug>/. | |
| photo | No | Optional single header image for the home page: an Unsplash photo id from `search_photos`. Renders below the page name and above the text, with photographer credit. One image per page. | |
| theme | No | Visual theme ("light" or "dark"). | light |
| title | Yes | Site name displayed in the sticky top header bar (max 36 characters; stacks up to 2 lines on mobile without changing header height, and clicks back to the first home page). | |
| heading | Yes | Home page heading (H1, max 80 characters). | |
| sections | No | Optional additional sub-pages (up to 9 extra pages, home + 9 = 10 pages total, each given its own URL `/<slug>/<page-slug>/` and navigation menu item). | |
| from_slug | No | Optional old slug if renaming/moving an existing site you own to a new slug. | |
| description | Yes | Home page body text (max 20,000 chars). Formatting is plain text with ONLY two features: indentation (leading spaces/tabs are preserved) and ALL CAPS (contiguous sequences of 2+ uppercase letters render blue and lightly bold; do NOT use **bold** asterisks). Each \n is a line break and blank lines (\n\n) simply stay blank lines (no <hr> dividers). Plain URLs, emails and [anchor](https://...) links are auto-linked; HTML is escaped. Images are NOT placed in text: give each page one header image with its `photo` field. | |
| login_token | No | Optional 32-character one-time token from an emailed `https://wordy.page/pages?login=<token>` link to redeem and authenticate right away. | |
| owner_email | Yes | Owner email address (receives the one-tap verification link and any contact form messages; never displayed publicly). | |
| session_token | No | Optional 30-day session token (`st`) if already authenticated for `owner_email`. |