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.
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.
| method | path | auth | purpose |
|---|---|---|---|
POST | /api/pages | PAT/JWT or anonymous | publish 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/pages | PAT/JWT (read) | list your pages (limit, offset) |
GET | /api/pages/{id} | owner / X-Claim-Token | one page's metadata |
PUT | /api/pages/{id} | owner / X-Claim-Token | replace html and/or title — same public url |
DELETE | /api/pages/{id} | owner / X-Claim-Token | delete a page |
GET | /{owner}/{page_id} | public | the hosted page itself (text/html, sandbox CSP) |
GET | /api/admin/pages | admin | list all pages |
POST | /publish | none (form) | human form publish (urlencoded html/title) — always anonymous; agents use the JSON API |
POST | /manage | claim token (form) | human form update/delete (urlencoded page_id/claim_token/action) |
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.