← Back to SwiftDrop

API Documentation

RESTful API for programmatic file transfers. Base URL: https://united-lightning.isgood.host/api/v1

Authentication

Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Get your API key from the dashboard. Free tier: 100 requests/hour.

Endpoints

POST /transfers

Initiate a new file transfer. Returns an upload URL and transfer ID.

{
  "filename": "backup-2026-06.tar.gz",
  "size": 5368709120,
  "expires_in": 86400,
  "password": "optional-password"
}
FieldTypeDescription
filenamestringOriginal filename (required)
sizeintegerFile size in bytes (required)
expires_inintegerLink TTL in seconds (default: 86400)
passwordstringOptional download password

POST /transfers/:id/upload

Upload file data. Supports chunked uploads for files over 100 MB.

curl -X POST https://united-lightning.isgood.host/api/v1/transfers/abc123/upload \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/octet-stream" \
  -H "Content-Range: bytes 0-104857599/5368709120" \
  --data-binary @chunk_001.bin

GET /transfers/:id

Get transfer status and download link.

{
  "id": "abc123",
  "filename": "backup-2026-06.tar.gz",
  "size": 5368709120,
  "status": "ready",
  "download_url": "https://united-lightning.isgood.host/d/abc123",
  "downloads": 3,
  "expires_at": "2026-06-20T12:00:00Z"
}

GET /transfers

List all your transfers. Supports pagination with ?page=1&limit=20.

DELETE /transfers/:id

Delete a transfer and its associated file data immediately.

Rate Limits

PlanRequests/hourMax file sizeStorage
Free10010 GB50 GB
Pro5,00050 GB2 TB
EnterpriseUnlimitedUnlimitedCustom

SDKs

Official client libraries:

npm install @swiftdrop/sdk        # Node.js / Browser
pip install swiftdrop             # Python
go get github.com/swiftdrop/sdk  # Go