Secure report delivery

Upload an HTML report, share a protected URL, and keep every delivery organized.

Upscale Reports gives your team a lightweight way to host client-facing HTML reports with a random share link, a 6-digit passcode, and an admin dashboard for tracking every upload.

1 link
Per upload
Randomized protected URL
6 digits
Access control
Simple passcode gate
1 admin
Google auth
Restricted dashboard access
100%
Hosted in GCP
Cloud Run + GCS + Firestore

What the product does

Deliver reports securely

Upload a single HTML file and get a hosted URL plus a 6-digit passcode you can share with clients or internal stakeholders.

Keep delivery simple

No custom portal or manual file handling. Reports are accessible in-browser behind a lightweight passcode screen.

Track everything centrally

The admin dashboard shows every uploaded file, its hosted URL, passcode, and upload date in one place.

How it works

  1. Upload an HTML report file from the upload page.
  2. The app stores the file, creates a random slug, and generates a 6-digit passcode.
  3. You receive a hosted link that can be shared immediately.
  4. Viewers enter the passcode to unlock the report.
  5. Admins sign in with Google to review all uploads and passcodes.

Publish from code

Get an API key

One click. No sign-in. The key shows once, so copy it now.

  • Upload-only: publish reports, nothing else.
  • Expires after 30 days.
  • 20 uploads per key per day. 5 new keys per day.

Endpoints

  • POST/api/upload
    Multipart field report: an .html file, or a .zip with index.html at the root. 25 MB max.
  • POST/mcp
    MCP server (streamable HTTP). Tool: publish_report.
  • POST/api/keys
    Issues a key. No auth.

Auth: Authorization: Bearer <key> or X-API-Key: <key>.

Upload a report

curl -X POST https://demoupscale.com/api/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "report=@report.html;type=text/html"

Response

{
  "slug": "abc123def456",
  "passcode": "123456",
  "url": "https://demoupscale.com/p/abc123def456",
  "shareUrl": "https://demoupscale.com/p/abc123def456?passcode=123456"
}

Share shareUrl. It opens the report with the passcode filled in.

Connect Claude Code

claude mcp add --transport http upscale-reports \
  https://demoupscale.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Errors

  • 401 Missing, wrong, or expired key.
  • 400 / 422 No file, wrong type, or bad ZIP.
  • 413 File over 25 MB.
  • 429 Daily limit reached.

Ready to deliver your next report?

Use the upload flow to publish a branded HTML report in seconds, then manage access from the admin dashboard.