dashdrop

API

Your keys

Everything you can do in the browser, you can do with curl. Authenticate with a bearer token from your keys page.

Authentication

curl -H "Authorization: Bearer dd_live_..." https://dashdrop.dev/api/pastes/ID

Your key identifies you as the owner, so private and password-protected pastes work without a password in the URL.

Create a paste

curl -X POST https://dashdrop.dev/api/pastes \
  -H "Authorization: Bearer dd_live_..." \
  --data-binary @notes.txt

Or with options as a form:

curl -X POST https://dashdrop.dev/api/pastes \
  -H "Authorization: Bearer dd_live_..." \
  -F "file=@list.txt" -F "visibility=private" -F "name=suppression-list" -F "expiry=1w"

Read metadata

curl -H "Authorization: Bearer dd_live_..." https://dashdrop.dev/api/pastes/ID
curl -H "Authorization: Bearer dd_live_..." "https://dashdrop.dev/api/pastes/ID?content=true"

Download the raw file

curl -H "Authorization: Bearer dd_live_..." https://dashdrop.dev/r/ID -o file.txt

Supports ETag / If-None-Match — poll cheaply and only download when the file changed:

curl -H "Authorization: Bearer dd_live_..." \
  -H 'If-None-Match: "abc123"' https://dashdrop.dev/r/ID
# 304 Not Modified when unchanged

Update, rename, change visibility

curl -X PATCH https://dashdrop.dev/api/pastes/ID \
  -H "Authorization: Bearer dd_live_..." \
  -H "content-type: application/json" \
  -d '{"content":"new content","name":"new-name","visibility":"private"}'

Delete

curl -X DELETE https://dashdrop.dev/api/pastes/ID -H "Authorization: Bearer dd_live_..."

Export everything

curl -H "Authorization: Bearer dd_live_..." https://dashdrop.dev/api/export -o backup.json

Rate limits

Requests are limited per minute by tier: anonymous 10/min, free account 30/min, Pro 120/min. Over the limit returns 429 with a Retry-After header — back off and retry. Use conditional requests (ETag / If-None-Match) when polling so unchanged files return 304 cheaply.

Errors

JSON with an error code and message. Common: 401 unauthorized, 403 forbidden, 404 not found, 413 too large, 429 rate limited.