DropBin

Developers

HTTP API

Version 2 · updated 4 September 2026

The API is available on Plus and Team plans. Keys are created on the account page; each key is scoped to one workspace and can be revoked without touching the others.

Authentication

curl https://dropbin.example/v2/transfers \
  -H "Authorization: Bearer db_live_9f2c…" \
  -H "Content-Type: application/json"

Create a transfer

POST /v2/transfers reserves a transfer and returns upload targets. Files are sent directly to storage with short-lived signed URLs, so the API never buffers payloads.

{
  "name": "q3-drawings",
  "expires_in": 604800,
  "max_downloads": 0,
  "password": null
}

Objects

FieldTypeNotes
idstringStable transfer id, also used in the public URL.
statestringpending, ready, expired or deleted.
expires_attimestampUnix seconds. Maximum 90 days on Team.
bytesintegerSum of stored object sizes.
downloadsintegerIncremented on the first byte of each response.

Rate limits

60 requests per minute per key, burst 120. Exceeding the window returns 429 with a Retry-After header. Upload and download traffic is not counted.

Webhooks

Team workspaces can subscribe to transfer.ready, transfer.expired and transfer.downloaded. Deliveries are signed with HMAC-SHA256 over the raw body using the workspace secret.

Errors

Errors are JSON with a stable machine code and a human message. Nothing is returned in the body of a 5xx that could leak storage internals.