Getting started

Introduction

Reupload is file infrastructure for AI apps and SaaS products. Choose how bytes reach storage: the CDN flow (session → signed URL PUT → complete) or server direct (one multipart POST from your backend). Reupload verifies the object and processes the file in the background.

Base URL

All public API requests use HTTPS and JSON.

base URL
https://api.reupload.dev/api/v1

Public API surface

Integrators use API keys (Authorization: Bearer ru_...) on these routes only. Workspace dashboard routes (cookies) are separate.

AreaRoutes
IdentityGET /public/whoami
UploadsPOST /uploads/session, POST /uploads/direct, POST /uploads/complete, GET|DELETE /uploads/session/:uploadId
FilesGET /files/:fileId, GET /files/:fileId/access, DELETE /files/:fileId
WebhooksConfigured in dashboard; delivered to your HTTPS URL

Full method list, permissions, and limits: API reference.

Upload flows

CDN flow

  1. Create session — metadata + signed CDN PUT URL.
  2. Upload file — browser or client PUTs to uploadUrl (not the Reupload API).
  3. Complete — your server confirms; we verify storage and finalize.

Server direct

  1. Browser → your API — user uploads to your backend (multipart).
  2. Your API → Reupload POST /uploads/direct with one or more files; returns 202 + fileId.

Both paths return 202 while background processing runs, then optional file.uploaded webhooks with path, url, and sizeBytes. Why direct upload does not return the file immediately → Details: Client-side uploads, Server-side uploads, or the Server-side upload guide.

What you need

  • A Reupload account and API key with files.write
  • A project ID from the dashboard
  • Server-side calls for session create/complete — never expose live API keys in client-side code
  • For browser PUTs, configure upload CORS origins on the project — see Browser uploads

Official packages

Prefer typed SDKs over raw HTTP: @reupload/sdk (Node), @reupload/client (browser), @reupload/react (React uploaders). See Packages overview.

Next steps

Follow the Quickstart, then read Authentication, Uploads (client / server), and Files.