Developers

A small REST API over HTTPS. JSON in, JSON out, token authentication. No SDK required.

Base URL: https://zeonsilus.duckdns.org/api/v1 · Authentication: Authorization: Bearer <token>

Upload a file

curl -X POST https://zeonsilus.duckdns.org/api/v1/files \\
  -H "Authorization: Bearer $DROP_NEST_TOKEN" \\
  -F "file=@report.pdf" \\
  -F "expires=7d"

Responds with the transfer object:

{
  "id": "8f3a2c91d0",
  "name": "report.pdf",
  "size": 4404019,
  "url": "https://zeonsilus.duckdns.org/f/8f3a2c91d0",
  "created_at": "2026-11-11T09:14:02Z",
  "expires_at": "2026-11-18T09:14:02Z"
}

Endpoints

MethodPathDescription
POST/filesCreate a transfer
GET/filesList your transfers
GET/files/:idFetch one transfer
DELETE/files/:idDelete a transfer
GET/usageBandwidth and quota

Rate limits

60 requests per minute per token, 5 concurrent uploads. Responses include X-RateLimit-Remaining and Retry-After. Exceeding the limit returns 429.

Errors

{ "error": { "code": "file_too_large", "message": "Maximum size for this plan is 2 GB" } }

Status codes follow HTTP semantics: 400 validation, 401 authentication, 403 plan restriction, 404 unknown transfer, 413 too large, 429 rate limited.