Skip to main content
Yboard provides a file management system backed by Cloudflare R2 object storage. Files are scoped to your organization and app, with metadata tracked in a database.

Uploading files

Direct upload

Upload a file using a multipart/form-data POST request:
Required fields:
  • id — A unique identifier for the file.
  • file — The file binary.
  • fileName — Display name of the file.
Optional fields:
  • metadata — Arbitrary JSON metadata attached to the file.

Chunked upload

For large files, Yboard supports chunked uploads. Send file data in sequential base64-encoded chunks:
Chunks must arrive in order starting from index 0. The server tracks progress and assembles the file after all chunks are received. Progress response:
Completion response:

Listing files

Retrieve all files with their metadata:
Returns an array of file objects:
Use the /files/metadata endpoint for the same data without file content.

Downloading files

Returns the file binary with appropriate Content-Type and Content-Disposition headers.

Deleting files

Single file

Batch delete

Returns a report of deleted and failed items:

File metadata

Retrieve metadata for a specific file without downloading the content:

Storage details

  • Files are stored in Cloudflare R2 with keys in the format {organizationId}-{appId}-{fileId}.
  • Metadata (ID, filename, custom JSON) is stored in the database.
  • All file operations require a valid Bearer token matching the organization.