API reference

Websites

Sites, pages, templates, data sources, builds, deployments and experiments.

Scopes for this area: hosting:read, hosting:write and hosting:admin.

163 operations

data source

MethodRouteWhat it doesLevelCommand
GET/datasourcesThe databases linked to this project, read-only.readrivier hosting data source list
GET/datasources/{id}One link with its last snapshot (names, types, row estimates; never rows).readrivier hosting data source get
POST/datasources/{id}/refreshTake a fresh snapshot and check the link is still reachable.writerivier hosting data source refresh
PUT/datasources/{id}/allowChoose the tables the project may read (only tables the operator granted).writerivier hosting data source allow
PUT/datasources/{id}/write-rulesPer-table write rules; nothing writes without one and an approval.writerivier hosting data source write rules
POST/datasources/{id}/readA plan by default; with execute, up to 500 masked rows of one allowed table.writerivier hosting data source read
GET/datasources/{id}/mappingsProposed mappings of tables to contacts, products, orders and content.readrivier hosting data source mappings
POST/datasources/{id}/mappings/{mid}Accept or reject a proposed mapping.writerivier hosting data source decide mapping
POST/datasources/{id}/ingestCopy up to 100 rows of an allowed table into memory, on purpose.writerivier hosting data source ingest

usage

MethodRouteWhat it doesLevelCommand
GET/hosting/usageWhat the plan allows this project's hosting and what is in use.readrivier hosting usage get

site

MethodRouteWhat it doesLevelCommand
GET/hosting/sitesThe sites this project hosts.readrivier hosting site list
POST/hosting/sitesCreate a site with a generated address under the platform domain.writerivier hosting site create
GET/hosting/sites/{id}One site.readrivier hosting site get
DELETE/hosting/sites/{id}Remove the site, its previews, its domains and its settings.adminrivier hosting site remove
POST/hosting/sites/{id}/resumeAfter resubscribing: make a site that is kept read-only writable again.writerivier hosting site resume
POST/hosting/sites/{id}/unpublishTake the site offline (a production release with an offline page). Publishing again or rolling back brings it back. A person only.writerivier hosting site unpublish
POST/hosting/sites/{id}/publishPublish a preview, or ask for a production release (checks must pass; a person approves). A person can pass approve to do both at once.writerivier hosting site publish

deployment

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/deploymentsDeployments of a site, newest first.readrivier hosting deployment list
POST/hosting/sites/{id}/deploymentsDeploy the site from the request body: a gzip tar with index.html at its top. ?preview=1 makes a preview at its own address.writerivier hosting deployment create
GET/hosting/sites/{id}/deployments/{dep}One deployment.readrivier hosting deployment get
POST/hosting/sites/{id}/deployments/{dep}/promoteMake a preview the production site.writerivier hosting deployment promote
POST/hosting/sites/{id}/deployments/{dep}/rollbackServe an earlier production deployment again.writerivier hosting deployment rollback
DELETE/hosting/sites/{id}/deployments/{dep}Delete a preview deployment.adminrivier hosting deployment remove

env

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/envThe names of the variables set on a site. Values are never returned.readrivier hosting env list
PUT/hosting/sites/{id}/envSet a variable on a Next site. The value is sealed and delivered to the running site only.writerivier hosting env set
DELETE/hosting/sites/{id}/env/{name}Remove a variable.adminrivier hosting env remove

domain

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/domainsCustom domains of a site with their state, the reason in plain words and the one thing to do next.readrivier hosting domain list
GET/hosting/sites/{id}/domains/optionsThe ways to connect a name, best first (buy it, let Rivier run the DNS, connect a DNS account, one click at the registrar, add the records yourself), each with exact steps and records.readrivier hosting domain options
POST/hosting/sites/{id}/domainsConnect a name. Control is proven by the name pointing at the site; the certificate is obtained before the first visitor.writerivier hosting domain add
POST/hosting/sites/{id}/domains/quotePrice a name to buy through Rivier. Nothing is bought.readrivier hosting domain quote
POST/hosting/sites/{id}/domains/buyBuy the quoted name (a person only) and connect it.writerivier hosting domain buy
POST/hosting/sites/{id}/domains/{dom}/renew/quoteThe price to renew a name bought through Rivier for a year. Nothing is charged.readrivier hosting domain renew quote
POST/hosting/sites/{id}/domains/renewRenew the quoted name (a person only).writerivier hosting domain renew
PATCH/hosting/sites/{id}/domains/{dom}Change which form of a name is the address people see (www or apex), or whether a delegated name serves its subdomains.writerivier hosting domain update
POST/hosting/sites/{id}/domains/{dom}/checkLook at the name now and move it along.writerivier hosting domain check
DELETE/hosting/sites/{id}/domains/{dom}Stop serving the site on a name and delete the DNS records Rivier wrote for it.adminrivier hosting domain remove

event

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/eventsThe site's record: deploys, domain and variable changes, health checks.readrivier hosting event list

log

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/logsRecent runtime log lines of a Next site.readrivier hosting log list

health

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/healthFetch the site now and report whether it answers.readrivier hosting health get

data

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/dataYour data in plain words: whether it is backed up and when, where it is kept, how much of the plan it uses, and anything that needs you.readrivier hosting data get
GET/hosting/sites/{id}/data/restore-pointsThe earlier moments your data can be restored to.readrivier hosting data restore points
POST/hosting/sites/{id}/data/restorePrepare your data as it was at an earlier moment beside your current data. Nothing changes until you confirm.writerivier hosting data restore
POST/hosting/sites/{id}/data/restore/{rid}/confirmSwitch the site to the restored data. What it had before is kept briefly.writerivier hosting data restore confirm
DELETE/hosting/sites/{id}/data/restore/{rid}Cancel a prepared restore and discard the prepared copy.adminrivier hosting data restore cancel
POST/hosting/sites/{id}/data/exportExport my data: the site's records and a dump of what it stores, checked after writing. Kept 30 days.writerivier hosting data export
POST/hosting/sites/{id}/data/eraseFirst step of deleting my data: makes an export and answers a token good for 15 minutes. Nothing is removed.writerivier hosting data erase request
DELETE/hosting/sites/{id}/data/eraseSecond step: present the token. The site's stored data and backups are removed; the export stays 30 days.adminrivier hosting data erase confirm

export

MethodRouteWhat it doesLevelCommand
GET/hosting/exportsThe exports this project holds.readrivier hosting export list
GET/hosting/exports/{eid}One export with its parts and checksums.readrivier hosting export get
GET/hosting/exports/{eid}/downloadDownload one part of an export.readrivier hosting export download

mail

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/mailEmail in plain words: how many emails the site sent today against its daily limit, and for each live domain how many days of authentication reports have been seen and whether the DMARC policy can tighten.readrivier hosting mail get

preview

MethodRouteWhat it doesLevelCommand
POST/hosting/sites/{id}/deployments/{dep}/shareA link to a preview on its own address, signed and expiring, kept out of search results.writerivier hosting preview share
DELETE/hosting/sites/{id}/deployments/{dep}/shareCancel every link already given out for a preview.adminrivier hosting preview revoke

build

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/buildsBuilds of a site, newest first.readrivier hosting build list
GET/hosting/sites/{id}/builds/{bid}One build with its state, log and the deployment it made.readrivier hosting build get
POST/hosting/sites/{id}/buildsBuild a static site from an allow-listed repository. The build runs in a sandbox with no network and no secrets; the result is a preview to promote.writerivier hosting build start
POST/hosting/sites/{id}/builds/uploadBuild a static site from source sent as a gzip tar in the request body.writerivier hosting build upload
POST/hosting/sites/{id}/builds/{bid}/cancelCancel a build that has not started.writerivier hosting build cancel

block

MethodRouteWhat it doesLevelCommand
GET/hosting/blocksThe block registry: every block a page can be built from, with its props, slots, bindings, permissions, accessibility notes, tokens and an example.readrivier hosting block list

settings

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/settingsThe site's settings: name, address, theme tokens, languages, AI disclosure line, measurement mode.readrivier hosting settings get
PUT/hosting/sites/{id}/settingsChange the site's settings. Theme values are validated against the token list.writerivier hosting settings save

site page

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/pagesThe pages of a site.readrivier hosting site page list
POST/hosting/sites/{id}/pagesCreate a page at a path, optionally with its block tree.writerivier hosting site page create
GET/hosting/sites/{id}/pages/{page}A page as a flat block tree with its version and its validation issues.readrivier hosting site page get
PATCH/hosting/sites/{id}/pages/{page}Change a page's title, path (a page that was published leaves a 301 from the old path; a translation may take its own path), search settings or language group (not its blocks: use patch).writerivier hosting site page update
DELETE/hosting/sites/{id}/pages/{page}Delete a page. A page that is live, has translations, sub-pages or links to it answers 409 with what is affected; repeat with ?confirm=1 (and ?translations=keep|delete when it has translations). Unapproved translations that are kept become staff-only.adminrivier hosting site page remove
POST/hosting/sites/{id}/pages/{page}/validateCheck a page against the blocks' rules; every issue says what to change.readrivier hosting site page validate
POST/hosting/sites/{id}/pages/{page}/patchApply operations (set, unset, insert, remove, move) to blocks by id against a version. Answers applied, preview, proposed (an AI edit of a live page), refused (locks), clash (choose ours or theirs per field) or invalid.writerivier hosting site page patch
POST/hosting/sites/{id}/pages/{page}/widgetsPlace a widget block (form, newsletter, reviews, ratings, booking, buy button, cookie consent, language switcher, chat) on a page. The answer says whether the widget is live yet.writerivier hosting site page widget
GET/hosting/sites/{id}/pages/{page}/canvasWhat a visual editor needs for a page: every block with its place, author, locks, editable props (type, limits, options), slots (what they take, how many) and text values, plus the blocks that can be added. Pair it with the preview rendered with ?annotate=1, whose elements carry the same ids.readrivier hosting site page canvas
GET/hosting/sites/{id}/pages-pathWhether a path is free for a page (in a language) and why not when it is taken.readrivier hosting site page path check
PUT/hosting/sites/{id}/pages-orderSet the order and nesting of pages: the list gives each page its parent (null: top level) and its place among siblings by position. Refuses loops and parents in another language.writerivier hosting site page order
GET/hosting/sites/{id}/pages/{page}/translations/{locale}/unitsEvery translatable string of the page in a language: original, translation, and fresh, stale or human.readrivier hosting site page translation units
PATCH/hosting/sites/{id}/pages/{page}/translations/{locale}/unitsA person writes or corrects one translated string; it is kept as a human edit when the original changes.writerivier hosting site page edit translation unit
GET/hosting/sites/{id}/pages/{page}/translationsThe language versions of a page: which exist, whether a person approved them, how many strings changed in the original since, and which languages are missing.readrivier hosting site page translations
POST/hosting/sites/{id}/pages/{page}/translationsMake a draft of the page in another language of the site (same blocks, prose translated, hidden until a person approves). For a language that exists it refreshes that translation.writerivier hosting site page translate
POST/hosting/sites/{id}/pages/{page}/translation/refreshBring a translation up to date with its original: changed strings are re-translated, new blocks added, what a person edited is kept.writerivier hosting site page refresh translation
POST/hosting/sites/{id}/pages/{page}/translation/approveLet a language version go live with the next release (or withdraw it with approved false). A person only.writerivier hosting site page approve translation
GET/hosting/sites/{id}/pages/{page}/commentsNotes left on a page or on one of its blocks (open ones; ?resolved=1 for all).readrivier hosting site page comments
POST/hosting/sites/{id}/pages/{page}/commentsLeave a note on a page or on one block, or reply to a note.writerivier hosting site page comment
POST/hosting/sites/{id}/pages/{page}/comments/{comment}/resolveMark a note done (or open it again).writerivier hosting site page resolve comment
POST/hosting/sites/{id}/pages/{page}/presenceA heartbeat while editing: who else is on the page and on which block, and the page's current version.writerivier hosting site page presence
POST/hosting/sites/{id}/pages/{page}/undoUndo one change, or the caller's newest, as a new version.writerivier hosting site page undo
GET/hosting/sites/{id}/pages/{page}/historyThe changes made to a page, newest first, with who, what and the diff.readrivier hosting site page history
GET/hosting/sites/{id}/pages/{page}/previewThe page rendered from the working copy, as HTML (?annotate=1 marks each block for the designer).readrivier hosting site page preview
POST/hosting/sites/{id}/pages/{page}/changes/{change}/decisionApprove or send back an AI's proposed change to a published page.writerivier hosting site page decide

project

MethodRouteWhat it doesLevelCommand
PUT/hosting/sites/{id}/pages/{page}/projectMake a page a portfolio project or change its details: cover, summary, year, client, roles, tags, links, order, and who can see it (draft, public, unlisted, expiring; password arrives with the gate). A project starts as a private draft; a person makes it visible.writerivier hosting project set
GET/hosting/sites/{id}/pages/{page}/gate-viewsWho opened a password-protected project and when (a time and a hash of the network, newest first). A manager only.readrivier hosting project gate views
DELETE/hosting/sites/{id}/pages/{page}/projectTurn a project back into a plain page (also: PUT the project route with {project: null}). A person only; the page then goes live with the next release like any page, and leaves every collection.adminrivier hosting project clear
GET/hosting/sites/{id}/projectsThe portfolio: every project with its details, standing (off, listed, unlisted) and collections, and the collections with their addresses.readrivier hosting project list

theme

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/themesThe portfolio themes: whole looks (colours, type, radius, spacing, width), each checked for contrast, and which one the site matches now. Dhivehi pages use the Dhivehi typeface with every theme.readrivier hosting theme list
POST/hosting/sites/{id}/themeApply a theme by id (a person only); the site's tokens become the theme's and the previous ones are returned so they can be set back.writerivier hosting theme apply

checks

MethodRouteWhat it doesLevelCommand
POST/hosting/sites/{id}/checks/deepStart the real-browser checks without waiting; the answer is a job id.writerivier hosting checks deep start
GET/hosting/sites/{id}/checks/deep/{job}State of a browser-check job (queued, running, done with the report, or failed).readrivier hosting checks deep job
GET/hosting/sites/{id}/checksThe publish checks over the whole site: accessibility, performance, structured data, plan and consent (?deep=1 adds the real-browser accessibility and speed audit, cached per build).readrivier hosting checks get

website usage

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/website-usageAI edits, AI builds and pages used against the plan, with the prompt to show.readrivier hosting website usage get

release

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/releasesPreviews and production releases of the site.readrivier hosting release list
POST/hosting/sites/{id}/releases/{release}/approveApprove a production release. When the site needs several approvers each different person approves once (with an optional comment); the exact checked files go live with the last one.writerivier hosting release approve
POST/hosting/sites/{id}/releases/{release}/rejectDecline a production release request.writerivier hosting release reject
POST/hosting/sites/{id}/releases/{release}/rollbackServe an earlier production release again.writerivier hosting release rollback

experiment

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/experimentsA/B tests of the site with their plans (goal, sample size, the rule for deciding) and readouts.readrivier hosting experiment list
POST/hosting/sites/{id}/experimentsPlan an A/B test of a page or a section: variants are patches, the goal is a click, a form submit or an event, and the baseline rate and the smallest change worth acting on fix how many page views each arm needs. It stays a draft until a person starts it.writerivier hosting experiment create
GET/hosting/sites/{id}/experiments/{exp}/readoutCounts per arm and, only once every arm reaches the planned number of page views, the comparison with the control and the decision the rule gives.readrivier hosting experiment readout
POST/hosting/sites/{id}/experiments/{exp}/startStart a planned test; visitors see it from the next production release (which a person approves). A person only.writerivier hosting experiment start
POST/hosting/sites/{id}/experiments/{exp}/stopStop a test; the control is served from the next production release. A person only.writerivier hosting experiment stop
POST/hosting/sites/{id}/experiments/{exp}/promoteMake a variant the page (one patch to the working copy that can be undone; it goes live with the next approved release). Without a winner by the test's own rule a reason is required. A person only.writerivier hosting experiment promote

library

MethodRouteWhat it doesLevelCommand
GET/hosting/design-library/entriesSearch the design library: palettes, type pairings, section patterns, flows, spacing sets, tones, designs, templates and app shells and screens. Tag filters (including surface: website or app) plus a plain-words query; says whether the ranking used meaning or words only.readrivier hosting library search
GET/hosting/design-library/facetsHow many entries carry each tag value, for the filter lists.readrivier hosting library facets
GET/hosting/design-library/featuredThe sets the library's maintainers have featured.readrivier hosting library featured
GET/hosting/design-library/entries/{entry}One entry in full, with its checks, provenance, usage and changelog. With ?version, that exact version, whatever its state.readrivier hosting library get
GET/hosting/design-library/entries/{entry}/similarEntries like this one.readrivier hosting library similar
POST/hosting/design-library/selectRanked picks per kind for a design brief, each with reasons; hard requirements remove entries first.readrivier hosting library select
POST/hosting/design-library/designA complete, coherent design choice from a brief alone (every field optional): palette, type pairing, spacing and shape, sections, flow, closest template, and for apps shell, screens and component style; plus alternatives with a reason each. A brand kit (colours, fonts, voice) acts as constraints: the palette is built from the brand colours with every contrast correction reported, brand fonts without a web licence are replaced by the nearest open pairing. Deterministic and versioned (selectionVersion).writerivier hosting library design
GET/hosting/design-library/brand-kitThe brand kit the library reads from the project's brand assets (colours, fonts and whether they have a web licence, voice words); null when there is none. The design call uses it without being given it.readrivier hosting library brand kit
POST/hosting/design-library/palette/evaluateJudge a palette being edited (seven colours, or brand colours with overrides): every contrast and colour-blind check with its result, the colours as seen with each kind of colour blindness, and the smallest change that fixes what fails. Stores nothing.readrivier hosting library evaluate palette
POST/hosting/design-library/starter-kitA first brand for someone with none: a text-mark logo, a palette and two open fonts. Always a draft.readrivier hosting library starter kit
POST/hosting/design-library/extract-coloursColours from a logo or a picture (sent as base64) and the readable palette built from them, with every contrast correction listed. Nothing is stored.readrivier hosting library extract colours

library favourite

MethodRouteWhat it doesLevelCommand
GET/hosting/design-library/favouritesThe caller's favourite entries.readrivier hosting library favourite list
PUT/hosting/design-library/favourites/{entry}Mark or unmark a favourite.writerivier hosting library favourite set

library rating

MethodRouteWhat it doesLevelCommand
PUT/hosting/design-library/ratings/{entry}Rate an entry from 1 to 5; one rating per project, shown to the maintainers only as an average.writerivier hosting library rating set

library apply

MethodRouteWhat it doesLevelCommand
POST/hosting/sites/{id}/design-library/previewWhat applying an entry to the site would change: before and after, contrast checks, fonts needed, the versions that would be pinned. Changes nothing.readrivier hosting library apply preview
POST/hosting/sites/{id}/design-library/applyApply an entry to the site. Needs a person with manager rights and approve: true; an assistant gets the preview and a request for approval (202). The site pins the version used and the change can be undone.writerivier hosting library apply apply
GET/hosting/sites/{id}/design-library/applicationsWhat has been applied to the site from the library, newest first.readrivier hosting library apply list
POST/hosting/sites/{id}/design-library/applications/{application}/undoPut back what an applied entry replaced.writerivier hosting library apply undo

library brand

MethodRouteWhat it doesLevelCommand
POST/hosting/sites/{id}/design-library/brand/previewWhat applying a palette built from the brand colours (the stored brand kit when none is passed) would change on the site: before and after tokens, every contrast correction listed, the checks. Changes nothing.readrivier hosting library brand preview
POST/hosting/sites/{id}/design-library/brand/applyApply the brand palette to the site with a person's approval; it can be undone.writerivier hosting library brand apply

library pin

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/design-library/pinsThe library entries the site uses, at the versions it uses.readrivier hosting library pin list

library upgrade

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/design-library/upgradesPinned entries with a newer version, or deprecated or retired, with the changes and the suggested move. Nothing changes on its own.readrivier hosting library upgrade list
POST/hosting/sites/{id}/design-library/upgrades/{entry}/previewPreview moving a pinned entry to its latest version or its replacement.writerivier hosting library upgrade preview
POST/hosting/sites/{id}/design-library/upgrades/{entry}/applyApply the upgrade after a person approved the preview; it can be undone.writerivier hosting library upgrade apply

library preset

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/design-library/presetsThe project's private style presets (the theme and the library picks a site used), for reuse on its own sites. Never shown to other projects.readrivier hosting library preset list
POST/hosting/sites/{id}/design-library/presetsKeep this site's theme and library picks as a private preset of the project.writerivier hosting library preset save
DELETE/hosting/sites/{id}/design-library/presets/{preset}Remove a private preset.adminrivier hosting library preset remove
POST/hosting/sites/{id}/design-library/presets/{preset}/previewWhat applying a private preset to a site would change.writerivier hosting library preset preview
POST/hosting/sites/{id}/design-library/presets/{preset}/applyApply a private preset to a site, with a person's approval; it can be undone.writerivier hosting library preset apply

design

MethodRouteWhat it doesLevelCommand
POST/hosting/sites/{id}/design/turnOne turn of designing the site by conversation: describe it, answer the (at most two) questions, refine the plan, approve it to build the pages, then refine at site, page or block scope. Changes go through the patch API, so locks, undo and approval of changes to live pages hold.writerivier hosting design turn

design brief

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/design/briefThe site's design brief: goals, audience, voice, sitemap, decisions, constraints and rejected options, with its stage and version history.readrivier hosting design brief get
PATCH/hosting/sites/{id}/design/briefEdit the brief directly (goals, audience, voice, constraints, name, sitemap, navigation).writerivier hosting design brief update

design direction

MethodRouteWhat it doesLevelCommand
GET/hosting/sites/{id}/design/directionsSaved directions (snapshots of the brief, theme and pages) that can be restored.readrivier hosting design direction list
POST/hosting/sites/{id}/design/directionsSave the current direction under a name so it can be restored later.writerivier hosting design direction save
POST/hosting/sites/{id}/design/alternativesTwo or three clearly different looks for the built site (layouts and tokens), saved as directions flagged proposal with stable ids; nothing changes until a person restores one. A person only.writerivier hosting design direction alternatives
POST/hosting/sites/{id}/design/directions/{dir}/restoreGo back to a saved direction: brief, theme and page trees. The current state is saved first. A person only.writerivier hosting design direction restore

template

MethodRouteWhat it doesLevelCommand
GET/hosting/templatesThe template catalogue (platform starters and the project's own): filter by industry, goal and style, search in plain words; each card shows what the plan lacks.readrivier hosting template list
POST/hosting/templates/suggestThe templates closest to a description, with the words that matched.readrivier hosting template suggest
GET/hosting/templates/{tid}One template in full: plan, pages as block trees, tokens, manifest versions, what it needs.readrivier hosting template get
GET/hosting/templates/{tid}/previewA template page rendered with sample content, as HTML.readrivier hosting template preview
DELETE/hosting/templates/{tid}Remove a template the project saved.adminrivier hosting template remove
POST/hosting/sites/{id}/templates/{tid}/instantiateCopy a template's pages into the site as drafts (existing pages are never touched), with its tokens and plan; the answer lists what is still to connect.writerivier hosting template instantiate
POST/hosting/sites/{id}/templatesSave the site as the project's own template: structure, tokens and locks kept; pictures, specific entries and products and form ids removed.writerivier hosting template save
GET/hosting/sites/{id}/template-upgradesThe templates this site's pages came from, the version they were made from and the newest one.readrivier hosting template upgrades
POST/hosting/sites/{id}/templates/{tid}/upgrade/previewWhat moving to the newest version of a template would change block by block, and what it leaves alone because you changed it. Changes nothing.readrivier hosting template upgrade preview
POST/hosting/sites/{id}/templates/{tid}/upgrade/applyMerge the newest version of a template into the site: unedited blocks change, edited ones stay, new pages arrive; each changed page is one patch. A person only.writerivier hosting template upgrade apply
POST/hosting/sites/{id}/templates/{tid}/upgrade/undoTake the last upgrade of a template back, page by page. A person only.writerivier hosting template upgrade undo

site comment

MethodRouteWhat it doesLevelCommand
GET/public/site/commentsThe approved comments of a published page (name, text, time).readrivier hosting site comment list
POST/public/site/commentsA visitor's comment on a published page: checked for spam and abuse; doubtful ones wait for the owner.readrivier hosting site comment submit

site gate

MethodRouteWhat it doesLevelCommand
POST/public/site/gateOpen a password-protected project: the password in the body; right answers return the project's markup. Rate limited; the same answer for a wrong password and an unknown project.readrivier hosting site gate open

page

MethodRouteWhat it doesLevelCommand
GET/workspace/builtPages the business built.readrivier hosting page list
GET/workspace/built/{slug}One built page.readrivier hosting page get
POST/workspace/builtBuild a page.writerivier hosting page create
POST/workspace/built/publishPublish a built page.writerivier hosting page publish
POST/workspace/built/{slug}/restore/{version}Restore an earlier version.writerivier hosting page restore