https://htmldrop.app/api/v1. Every endpoint here needs an
API token.
Most authenticated endpoints require a verified email and return
403 {"error":"email_not_verified"} otherwise. The exceptions — so a new
account can get one site live before confirming — are POST /sites,
GET /sites, GET /sites/{id}, DELETE /sites/{id}, POST /sites/{id}/upload
and POST /sites/{id}/upload-bundle. In practice this only affects dashboard
sessions: API tokens can only be created by an already-verified account.Create a site
slug for a random one, omit name to leave it
blank.
201:
Upload a single file
file field: .html/.htm is served as-is, .md is
rendered to HTML. Every upload creates a version and promotes it live.
201:
Upload a folder or .zip
- Files and paths
- A single .zip
Repeated
files fields with a parallel paths field giving each file’s
relative path. This is what the dashboard’s folder picker sends, and what
multipart clients that can’t preserve directory structure should use.index.html must exist at the root of the bundle. The response has
the same shape as a single-file upload.
List and read
GET /sites returns an array; GET /sites/{id} returns one site in the same
shape POST /sites returns.
Update settings
PATCH /sites/{id} changes a site’s configuration — name, slug, password,
analytics, and spa_fallback:
Delete
204. Deletion is immediate and permanent.
The authenticated account
Usage and export
usage reports consumption against your plan’s caps. export returns every
drop as a .zip — there is no lock-in and no export fee.