Files.Baby for Developers

Build next-gen
apps with ease

Integrate secure, scalable cloud storage into your applications in minutes. Powerful APIs, comprehensive SDKs, and developer-first documentation.

Lightning Fast Integration

Drop-in SDKs for React, Node.js, Python, and Go. Get started in under 5 minutes.

Modular Architecture

Use only what you need. Auth, Storage, or Database - mix and match components seamlessly.

Sandboxed Environments

Test safely with dedicated sandbox environments for every branch and PR.

Developer Experience First

We've obsessed over every detail of the developer experience. From type-safe SDKs to helpful error messages.

  • Generic error types? Never heard of them.
  • Fully typed responses
  • Edge-ready client libraries
  • Webhooks that actually work
example.ts
import { FilesBaby } from '@files-baby/sdk';

const client = new FilesBaby(process.env.API_KEY);

// Upload a file
const { url } = await client.upload({
  file: myFile,
  path: '/uploads/images',
  onProgress: (progress) => {
    console.log(`Upload: ${progress}%`);
  }
});

console.log('File uploaded:', url);
01Authentication

secure access

Authenticate your users seamlessly. We support standard Bearer token authentication. Manage individual sessions with granular control.

POST/api/v1/auth/login

Obtain an access token

POST/api/v1/auth/register

Create a new user account

POST/api/v1/auth/logout

Invalidate current session

GET/api/v1/auth/user

Get current user details

auth.sh
# Login Request
curl -X POST https://api.files.baby/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "secure_password",
    "device_name": "MacBook Pro"
  }'

# Response
{
  "token": "23|abb...789",
  "user": {
    "id": 1,
    "email": "user@example.com"
  }
}
02File System

Core Management

Navigate the virtual file system with ease. Our folder-based hierarchy works just like your OS, but in the cloud.

GET/api/v1/file-entries

List files and folders

GET/api/v1/file-entries/{id}

Get specific file metadata

list_files.js
// List contents of a specific folder
const response = await fetch(
  '/api/v1/file-entries?parentId=5&orderBy=name', 
  {
    headers: {
      Authorization: `Bearer ${token}`
    }
  }
);

const data = await response.json();
console.log(data);
// [
//   { "id": 12, "name": "Report.pdf", "type": "file" },
//   { "id": 13, "name": "Images", "type": "folder" }
// ]
03Creation

Upload & Organization

Handle creation of new assets. We support standard multipart form uploads for files and simple JSON payloads for folders.

POST/api/v1/file-entries

Upload file or create folder

upload.py
import requests

# Upload a file
files = {'file': open('document.pdf', 'rb')}
data = {'parentId': 5}

r = requests.post(
    'https://api.files.baby/v1/file-entries',
    files=files,
    data=data,
    headers={'Authorization': 'Bearer ' + token}
)

# Create a folder
payload = {
    'type': 'folder', 
    'name': 'New Project', 
    'parentId': 5
}
r = requests.post(..., data=payload)
04Lifecycle

Manage & Maintain

Keep your data clean. Rename files, update descriptions, or delete obsolete assets. Bulk deletion is supported via comma-separated IDs.

PUT/api/v1/file-entries/{id}

Rename or update description

DELETE/api/v1/file-entries/{ids}

Delete one or multiple files

update.ts
// Rename a file
await client.put('/api/v1/file-entries/45', {
  name: "Final_Report_v2.pdf",
  description: "Updated with Q4 stats"
});

// Delete multiple files
// Accepts a comma-separated string of IDs
await client.delete('/api/v1/file-entries/45,46,47');
05Collaboration

Sharing & Permissions

Built for teams. Generate public links for external sharing or manage granular user permissions for internal collaboration.

POST/api/v1/file-entries/{id}/shareable-link

Create public link

POST/api/v1/file-entries/{id}/permissions

Add user access

share.js
// Create a public link
const link = await client.post(
  '/api/v1/file-entries/88/shareable-link',
  {
     password: "secure-share",
     expiresAt: "2025-12-31"
  }
);

// Add a collaborator
await client.post(
  '/api/v1/file-entries/88/permissions',
  {
     email: "colleague@example.com",
     view: true,
     edit: true
  }
);

Simple, Transparent Pricing

Start building for free. Scale as you grow.

MonthlyYearlySave 20%