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 | Upload a file. Raw body = bytes; name via ?name= or X-Filename header. |
| GET | /api/v1/files | List your files (paged: ?skip=&take=). |
| GET | /api/v1/files/{slug} | Metadata for one of your files. |
| DELETE | /api/v1/files/{slug} | Delete a file (storage + record). |
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.