v1

Publish AI reports as URLs.
Review them like docs.

One API call turns any HTML output into a hosted link — with inline comments, password protection, and a dashboard of everything you've published.

The problem

AI agents generate rich, interactive HTML — charts, tables, formatted analyses. Then that output gets saved as report.html, pasted into Slack, and forgotten.

Someone downloads it. Their browser opens a local file with no styles. They screenshot it and paste the screenshot back into Slack. Now you have a JPEG of a table in a thread nobody will find next week.

No URL to link to. No comments. No way to know if anyone actually read it. Files are the wrong primitive for output that deserves a review.

The fix

POST HTML to /api/publish from anywhere. Get a URL back. No account required.

curl
curl -X POST https://folio.ac/api/publish \
  -H "Content-Type: application/json" \
  -d '{"title": "Q2 Revenue", "html": "<html>...</html>"}'

# { "url": "https://folio.ac/r/abc123" }
python
r = requests.post("https://folio.ac/api/publish", json={
    "title": "Weekly Analysis",
    "html": generate_report(),
})
print(r.json()["url"])  # → https://folio.ac/r/abc123
claude code — mcp
// Native tool in every Claude Code session after MCP setup:
publish_report({ html: "...", title: "Q2 Revenue" })
// → "Published: https://folio.ac/r/abc123"

What you get

Shareable URL
Permanent for 7 days. No login required to view.
Slack / Notion previews
OG metadata on every Folio so links unfurl correctly.
Scripts run
Sandboxed iframe with allow-scripts. Chart.js, D3, Recharts — all work.
Inline comments
Sign in and click anywhere to drop a comment. Numbered pins, Figma-style.
Password protection
Gate a Folio with a password at publish time. One extra field.
Dashboard
All your published Folios — views, expiry, lock status.
Multipart upload
POST JSON or a raw .html file. Works with any HTTP client.
API key auth
Lock down who can publish to your instance with a server-side key.

Built for review

Comment anywhere
Sign in with Google and click anywhere on a Folio. Numbered pins appear at the exact position — like Figma.
Visible to all
Comments are public to anyone with the link. Only signed-in users can add them.
Password gate
Add a password at publish time. Verified via cookie — viewers enter it once.

Integrations

Claude CodeInstall the MCP server from /mcp. Native publish_report tool in every session.
ChatGPTPoint a Custom GPT Action at /api/openapi. Schema auto-imports.
Any agentStandard HTTP POST. If it can make a network request, it can publish.
Publish your first Folio →