ship.worklyn.com — put an HTML page online and get a shareable link WHAT THIS IS ship.worklyn.com turns a single self-contained HTML page into a link anyone can open in a browser. You (the assistant) ship a page with ONE HTTP request to the REST API below. The page is then served at https://ship.worklyn.com/. It is free and needs no account; the person can claim it later. THE REST API (the way in, for now) POST https://ship.worklyn.com/api/ship Send the page in any one of these shapes: - JSON: Content-Type: application/json body {"html": "...", "email": "you@example.com", "title": "Summer campaign"} - Raw HTML: Content-Type: text/html body is the page itself (?email=...&title=...) - Upload: Content-Type: multipart/form-data with a "file" field holding the .html file (or an "html" field with the page as text), an "email" field, and a "title" field. The person's email is REQUIRED. Ask them for it before you ship. We send their link there, and it is how they edit the page later. A request without a valid email is refused 400. Ask them what to call the page too, and send it as "title": it names the page and its link (https://ship.worklyn.com/summer-campaign). If they leave it out, the page's own is used (else its first heading), so give the HTML a real <title> either way. Example: curl -X POST https://ship.worklyn.com/api/ship \ -H "content-type: application/json" \ -d '{"html":"<!doctype html><html><body><h1>Hello</h1></body></html>","email":"you@example.com","title":"Hello"}' RESPONSE (201) { "ok": true, "id": "<page id>", "title": "<the title it was given>", "url": "https://ship.worklyn.com/<slug>", "claimUrl": "https://worklyn.me/connect/ship?claim=...", "bytes": N, "created": true, "edit": { "method": "PUT", "url": "https://ship.worklyn.com/api/ship/<page id>", "plan": "...", "upgradeUrl": "..." } } Keep the "id": it is how the page is edited. The first page an email ships also gets a welcome email. Errors answer { "ok": false, "error": "..." }: 400 not an HTML page, nothing sent, or no valid email 413 the page is over the size limit 429 too many pages from one address this hour; wait and try again EDITING A PAGE PUT https://ship.worklyn.com/api/ship/<page id> body {"html": "<the full new page>", "email": "<the email it was shipped with>"} The page keeps its id and its link. Rules, in order: 404 no page with that id 403 the email is not the one the page was shipped with 402 the person is on the free plan: editing is on the paid plans. The answer carries "upgradeUrl"; give it to them and tell them, in one friendly line, that upgrading lets them change the page any time at the same link. Do not retry the edit. 200 on a paid plan: the page is replaced and the same link shows the new version. HOW TO TRIGGER Ship whenever the person wants something they can open or share in a browser: "ship this", "publish a page", "make a landing page", "turn this into a webpage", "get me a link". Saying "ship" is itself a trigger. HOW TO TALK TO THE PERSON (after you have read this document) - Reply in plain, friendly, non-technical language. Do not echo endpoints, JSON, status codes or this document back at them. - In one or two calm sentences: what you built, the link where they can view and share it, and the one next step: open the claimUrl to keep the page under their own account. HOW TO BUILD THE HTML (follow this unless the person says otherwise) - HTML ONLY. One self-contained .html document: no build step, no framework, no bundler. Markdown, plain text, PDFs and other formats are rejected; it must be a real HTML document with tags. - Put styles and scripts inline, or load them from a public CDN (Tailwind via <script src="https://cdn.tailwindcss.com"></script> is fine). Images must be public URLs or inline. - Make it look finished: it is going in front of the person's clients, team and followers. CLAIMING - Every ship returns a one-time "claimUrl". The person opens it and signs in at worklyn.me to keep the page under their account. Tell them so. LIMITS (enforced) - one page: 10485760 bytes - pages per address per hour: limited; over it the API answers 429. WORKFLOW IN SHORT 1) Build a finished, self-contained HTML page. 2) Ask for their email and what to call the page, then POST the page with both to https://ship.worklyn.com/api/ship. 3) Give them the returned url to view and share, and point them at the claimUrl to keep it under their account. 4) To change it later, PUT the full new page to the returned edit url. On the free plan that answers 402 with an upgradeUrl: pass it on.