developers

The API

A small REST surface for automating uploads. Mint a key on the API keys page.

Authentication

Pass your key on every request, either header works:

X-Api-Key: fh_live_xxxxxxxxxxxxxxxxxxxx
# or
Authorization: Bearer fh_live_xxxxxxxxxxxxxxxxxxxx

Endpoints

POST/api/v1/files
GET/api/v1/files
GET/api/v1/files/{slug}
DELETE/api/v1/files/{slug}

Example — upload

curl -X POST "https://filehoe.com/api/v1/files?name=report.pdf" \
  -H "X-Api-Key: fh_live_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/pdf" \
  --data-binary @report.pdf

# → 201 Created
# { "slug": "9xQ2Kb", "sizeBytes": 184320, "scanStatus": "Pending",
#   "downloadUrl": "https://filehoe.com/api/files/9xQ2Kb/download",
#   "pageUrl": "https://filehoe.com/f/9xQ2Kb" }

Resumable uploads (tus)

Big files? The dashboard uploader speaks the tus protocol at /api/upload with a Bearer JWT — chunked and resumable up to 10 GB.