PrivateCloud API

Complete API Documentation

v1.0.0
Triple Encryption
No API Keys
Security Features
Triple-layer encryption and security measures

Layer 1: Content

AES-256-CBC file encryption

Layer 2: Metadata

Hash-encrypted metadata

Layer 3: Verification

SHA-256 integrity checking

POST /api/upload
Upload files with triple encryption

Parameters

file: File (required, max 50MB)
password: String (optional, for client-side encryption)
folder: String (optional, for organizing files)

Response

{
  "success": true,
  "fileId": "64-char-primary-hash",
  "downloadUrl": "/api/file/hash",
  "filename": "example.pdf",
  "size": 1234567,
  "encryptedMetadata": "encrypted-data",
  "isPasswordProtected": true,
  "folder": "documents/work",
  "secondaryHash": "32-char-hash",
  "tertiaryHash": "sha256-hash"
}

cURL Example

curl -X POST https://your-domain.com/api/upload -F "file=@example.pdf" -F "folder=documents/work"
GET /api/file/{fileId}
Download files using triple-encrypted access

URL Parameters

fileId: 64-character primary hash
metadata: Encrypted metadata string
password: Optional, for password-protected files

cURL Example

curl "https://your-domain.com/api/file/abc123...?metadata=encrypted"

Password Protection

For password-protected files, the decryption happens client-side using the Web Crypto API. The server never receives the password.

// JavaScript example for downloading password-protected files
const response = await fetch(`/api/file/${fileId}?metadata=${metadata}`);
const encryptedData = await response.arrayBuffer();
const decryptedData = await decryptFile(encryptedData, password);
// Use decryptedData...
Folder Management
Organize files in virtual folders

Creating Folders

Folders are virtual and created automatically when uploading files with a folder path.

POST /api/upload -F "file=@example.pdf" -F "folder=documents/work"

Moving Files

POST /api/move -d 'newFolder": "documents/archive'

Listing Folders

GET /api/folders
GET /api/docs
Get complete API documentation in JSON format
Encryption Implementation
Technical details of the encryption system

Primary Hash (64 chars)

Used as file ID and metadata encryption key

Password Protection

AES-GCM encryption with PBKDF2 key derivation (100,000 iterations)

Client-Side Encryption

Files are encrypted in the browser before upload using the Web Crypto API

File Content Encryption

AES-256-CBC with random 32-byte key and 16-byte IV