Pages

single static HTML page hosting

Publish one self-contained HTML document per page; it is served publicly at /<owner>/<page_id> (up to 10 MB). Hosted pages run in a CSP sandbox with an opaque origin: no cookies, no same-origin requests, no credentialed CORS against the platform.

Publish a page

Anonymous publishing: pages land under /anon/, expire after 30 days, 10 publishes/hour per IP. The result shows a one-time claim_token — save it; it is the only way to manage the page afterwards. Signed-in publishing (permanent, owner-scoped) is API-only: POST /api/pages with a Bearer PAT/JWT — deliberately no cookie login on this origin, it hosts untrusted HTML.

Manage a page

Works for anonymously published pages (/anon/…) only; signed-in pages are managed via the API with a Bearer PAT/JWT.

LLM / agent navigation — how to call pages

Host a single self-contained static HTML page per id, served publicly under a sandbox CSP (opaque origin — hosted pages get no platform credentials). 10MB per page.

Base URL: https://pages.shuyuli.com — paths below are relative to it.

methodpathauthpurpose
POST/api/pagesPAT/JWT or anonymouspublish a page — body {html, title?}; returns id + public url; anonymous publishes land under /anon/, expire after 30 days, and return a one-time claim_token
GET/api/pagesPAT/JWT (read)list your pages (limit, offset)
GET/api/pages/{id}owner / X-Claim-Tokenone page's metadata
PUT/api/pages/{id}owner / X-Claim-Tokenreplace html and/or title — same public url
DELETE/api/pages/{id}owner / X-Claim-Tokendelete a page
GET/{owner}/{page_id}publicthe hosted page itself (text/html, sandbox CSP)
GET/api/admin/pagesadminlist all pages
POST/publishnone (form)human form publish (urlencoded html/title) — always anonymous; agents use the JSON API
POST/manageclaim token (form)human form update/delete (urlencoded page_id/claim_token/action)
Bearer PAT/JWT, or fully anonymous (rate-limited; anon pages expire and are managed with the X-Claim-Token returned once at publish). Signed-in publishing is API-only; the landing page's interactive forms cover the anonymous flow only — deliberately no cookie web UI on this origin.

Other platform services: GET https://registry.lishuyu.app/llm.txt (public how-to), or authenticate and query GET https://registry.lishuyu.app/api/services/discover/{capability} to find a capability, then call that service directly.