Getting started

DevStorage is file upload infrastructure backed by Cloudflare R2. Your server (or ours) issues short-lived presigned URLs, the file bytes go straight from the client to storage, and DevStorage verifies and records the result — zero egress fees, zero bandwidth through your servers.

1. Create a project

Sign up and create a project from the dashboard. Each project has its own files, API keys, usage metering, and webhook settings.

2. Get an API key

Open your project → API Keys and create a key. Keys look like dsk_live_… and are shown once, so store yours in your environment:

.env
DEVSTORAGE_API_KEY=dsk_live_xxxxxxxxxxxxxxxx
API keys authenticate server-to-server calls and must never reach a browser. The Next.js package reads DEVSTORAGE_API_KEY automatically; the Node SDK takes it as a constructor option. Both keep it server-side.

3. Pick an integration

How uploads work

Every integration uses the same three-step flow:

  1. Presign — your server asks DevStorage for a presigned URL, after checking whatever you like (auth, file type, size).
  2. Upload — the client PUTs the file bytes directly to Cloudflare R2. Your server never touches them.
  3. Complete — DevStorage verifies the object, records the file, meters usage, and fires your webhook.

Files of 100 MiB or more are automatically chunked and uploaded through the multipart API, so large uploads don't time out and parts can transfer in parallel.