Skip to main content

Upload File

Upload a file to Cocobase storage.

Endpoint

POST /storage/upload

Request

Use multipart/form-data to upload files.
FieldTypeRequiredDescription
filefileYesThe file to upload
pathstringNoStorage path/folder

Response

{
  "success": true,
  "data": {
    "id": "file_abc123",
    "name": "image.jpg",
    "size": 1024000,
    "mimeType": "image/jpeg",
    "url": "https://storage.cocobase.buzz/files/abc123.jpg",
    "createdAt": "2024-01-15T10:30:00Z"
  }
}

Examples

cURL

curl -X POST https://api.cocobase.buzz/storage/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg" \
  -F "path=avatars"

JavaScript

const fileInput = document.getElementById("fileInput");
const file = fileInput.files[0];

const formData = new FormData();
formData.append("file", file);
formData.append("path", "avatars");

const response = await fetch("https://api.cocobase.buzz/storage/upload", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
  },
  body: formData,
});

const result = await response.json();
console.log(result.data.url);

Python

import requests

with open("/path/to/image.jpg", "rb") as f:
    response = requests.post(
        "https://api.cocobase.buzz/storage/upload",
        headers={"Authorization": "Bearer YOUR_API_KEY"},
        files={"file": f},
        data={"path": "avatars"},
    )

result = response.json()
print(result["data"]["url"])

File Limits

PlanMax File SizeStorage Limit
Free10 MB1 GB
Pro100 MB100 GB
Enterprise1 GBUnlimited

Error Responses

File Too Large

{
  "success": false,
  "error": {
    "code": "FILE_TOO_LARGE",
    "message": "File exceeds maximum size limit"
  }
}

Invalid File Type

{
  "success": false,
  "error": {
    "code": "INVALID_FILE_TYPE",
    "message": "File type not allowed"
  }
}

Storage Limit Exceeded

{
  "success": false,
  "error": {
    "code": "STORAGE_LIMIT",
    "message": "Storage limit exceeded"
  }
}