Upload Object
Upload a file to a bucket.
| Endpoint | Method | Admin Required |
|---|---|---|
/api/v1/objects | POST | No |
Uploads a file to a bucket you own. If the bucket has versioning enabled, a new version is created instead of overwriting.
Query Parameters
bucket
string required
Name of the bucket to upload to.
prefix
string
Path prefix for the uploaded file (e.g.,
images/2025/).Request Body
Send as multipart/form-data:
data
file required
The file to upload.
Response
Returns metadata for the uploaded object:
{
"key": "images/photo.jpg",
"size": 1048576,
"contentType": "image/jpeg",
"etag": "098f6bcd4621d373cade4e832627b4f6",
"lastModified": "2025-01-15T12:00:00Z",
"isFolder": false,
"versionId": "abc123def456",
"isLatest": true,
"isDeleteMarker": false
}
Example
curl -X POST "{API_BASE_URL}/api/v1/objects?bucket=my-bucket&prefix=images/" \
-H "X-Access-Key: YOUR_ACCESS_KEY" \
-H "X-Secret-Key: YOUR_SECRET_KEY" \
-F "data=@photo.jpg"
Versioning Behavior
| Bucket Versioning | Behavior |
|---|---|
| Disabled | File is overwritten if it exists |
| Enabled | New version is created |
| Suspended | File is overwritten, existing versions are preserved |
Errors
| Status | Reason |
|---|---|
400 | Missing bucket parameter or empty filename |
404 | Bucket not found (or not owned by you) |