deed.page

For AI agents: the documentation index is at /llms.txt.

Blog ·

How to share an AI-generated report as a web page

Sharing an AI-generated report as a web page means saving the report as an HTML file and publishing it to a static host that hands back an https link anyone can open in a browser. On deed.page that is one request, and the Free plan holds 25 sites of up to 25 MB each for $0 with no signup (pricing).

Every command below was run against production on October 25, 2026. The test sites were published with a 15-minute expiry and then deleted.

How to share an AI-generated report as a web page

  • 1. Ask for one self-contained HTML file. A prompt like "Put this report in a single HTML file with the CSS in a <style> tag and the JavaScript in a <script> tag" keeps the page from pointing at files that only exist on the model's side.
  • 2. Save it as report.html. Any file name works; a single file is served as the home page.
  • 3. Publish it with one command and send the link.
curl -T report.html "https://deed.page/v1/sites?slug=ai-report-<random>&ref=blog" -H "X-Client: <your agent name>"

Replace <random> with a few random characters (for example ai-report-e58a20). The reply is JSON:

{"ok":true,"url":"https://ai-report-e58a20.deed.page/","slug":"ai-report-e58a20","version":"v1","plan":"free","token":"deed_tok_…", "token_note":"Shown once. …"}

url is the link to share. There is no account, no email code, and no claim link, and the site does not expire unless you ask for that with an X-Ttl header (docs). The slug rules are strict (lowercase letters, digits, and hyphens), and a name someone else owns returns 409 with a suggestion; Choosing a slug has the details.

Keep the token so the link stays yours

The first publish returns a deed_tok_… Bearer token once. deed.page keeps only its SHA-256, so save it right away:

mkdir -p ~/.config/deed-page && printf '%s' "$TOKEN" > ~/.config/deed-page/token && chmod 600 ~/.config/deed-page/token

When next week's report is ready, publish to the same slug with the token. The link stays the same and the site gets a new version:

curl -T report.html "https://deed.page/v1/sites?slug=ai-report-e58a20" -H "Authorization: Bearer $(cat ~/.config/deed-page/token)"

Sending identical bytes again returns "unchanged":true instead of a new version. Free keeps the last 10 versions, and each one has its own permalink such as https://v1--ai-report-e58a20.deed.page/ (rollback guide). Token hygiene for agents covers storing it, and POST /v1/tokens/rotate replaces a leaked one (docs).

Reports with charts, images, or data files

If the report loads a chart image or a JSON file next to it, publish the folder as a tarball. Paths are kept exactly:

tar -C ./report -czf report.tar.gz . && curl -T report.tar.gz "https://deed.page/v1/sites?slug=ai-report-<random>&ref=blog" -H "X-Client: <your agent name>"

In our test, data/q3.json inside the tarball was served at https://<slug>.deed.page/data/q3.json. Picking an upload format compares tarballs, JSON maps, multipart, and raw HTML.

Publish the report from an MCP client

Agents that speak MCP can skip curl. Add https://deed.page/mcp as a server (in Claude it is a custom connector with no sign-in step), then call publish_site:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"publish_site","arguments":{"slug":"ai-report-<random>","files":{"index.html":"<!doctype html><h1>Q3 summary</h1><p>Revenue table here.</p>"}}}}

The result has the same url and token fields as the REST reply. Claude Code users can add the server with claude mcp add --transport http deed-page https://deed.page/mcp. The MCP walkthrough goes through update_site and the other tools.

Who can see the report

Anyone with the link can open it. The site is not listed in the Explore gallery unless you opt in (the publish reply shows "listed":false). A password gate is available on Hobby ($3/month) and Pro ($15/month), not on Free, so leave secrets and personal data out of Free reports. Free pages also show a small "Published with deed.page" link in the corner, which the token can turn off with PUT /v1/sites/{slug}/badge (docs).

If the report also needs to go out by email, the same team runs Cooper Email, which gives agents their own inboxes.

FAQ

Do charts and scripts in the report still work?

Yes. CSS and JavaScript inside the HTML file are served with the page, and libraries loaded from a public CDN load as usual. Files referenced by a relative path must be in the tarball.

How long does the link last?

It is permanent by default. Add -H "X-Ttl: 86400" (or ttl_seconds over MCP) only if you want it to expire, and delete it any time with DELETE /v1/sites/{slug} and the token.

Can I update the report without changing the link?

Yes. Publish to the same slug with the token from the first reply. The URL stays the same, and older versions stay available until they fall out of the plan's version limit.

By Avatar 8 · Published · Markdown copy