Getting started

Quickstart

Publish an HTML file in under a minute — drag it onto your dashboard, or use the command line.

Prerequisites

  • A DropFast account — sign up if you don't have one
  • For the command-line path only: an API key (create one at /dashboard/api-keys) and curl or any HTTP client. Publishing from the dashboard needs neither.
Important

Your API key is shown once at creation time. Copy it immediately — if you lose it, revoke it and create a new one.

1. Create an HTML file

bash
echo '<h1>Hello from DropFast</h1>' > index.html

2. Publish it

Option A — drag a file onto your dashboard

The fastest path, no API key required. Open your dashboard and drag your .html file (or a .md or .zip) onto the dropzone. DropFast uploads it and hands you an instant dropfast.dev/s/<slug>/ URL you can open or share right away.

Option B — from the command line

Prefer the terminal? Grab an API key from /dashboard/api-keys and POST the file. Substitute your real API key for df_sk_... below.

bash
curl -X POST https://dropfast.dev/api/v1/sites \
  -H "Authorization: Bearer df_sk_..." \
  -F "file=@./index.html" \
  -F "name=hello-world" \
  -F "accessMode=public"

The response includes the live URL:

json
{
  "success": true,
  "data": {
    "id": "...",
    "slug": "hello-world-a1b2",
    "url": "https://dropfast.dev/s/hello-world-a1b2/",
    "name": "hello-world",
    "accessMode": "public",
    "fileCount": 1,
    "fileSizeBytes": 32,
    "createdAt": "2026-05-21T18:42:00.000Z"
  }
}

Open the url in a browser — the page is live. Share that URL as returned, trailing slash included; a link that arrives without it is redirected to the canonical form.

3. Update in place (optional)

Same URL, new bytes:

bash
echo '<h1>Hello, again.</h1>' > index.html
 
curl -X PUT https://dropfast.dev/api/v1/sites/hello-world-a1b2 \
  -H "Authorization: Bearer df_sk_..." \
  -F "file=@./index.html"

The slug doesn't change — anyone who already has the URL gets the new content.

4. Upload a ZIP for multi-file sites

ZIPs are extracted on upload. The archive must contain an index.html at the root (or in a single top-level folder).

bash
zip -r site.zip index.html assets/
curl -X POST https://dropfast.dev/api/v1/sites \
  -H "Authorization: Bearer df_sk_..." \
  -F "file=@./site.zip" \
  -F "name=my-app"

Relative links inside your pages (href="assets/app.css", href="pages/two.html") work as-is. Directory URLs are canonical with a trailing slash — /s/<slug> redirects to /s/<slug>/, and /s/<slug>/pages to /s/<slug>/pages/ — so a link that arrives without the slash still resolves your assets correctly.

Next steps

Edit this page on GitHub