REST API
File Uploads

File Uploads

All routes under /api/v1/uploads require authentication. Files are stored in MinIO (S3-compatible object storage).


POST /uploads

Upload a file.

Auth: Required

Request: Multipart form data

FieldTypeRequiredDescription
filefileYesMax 10MB
kindstringNoimage, logo, receipt, attachment
folderstringNoCustom folder path

Allowed Content Types:

  • image/jpeg
  • image/png
  • image/webp
  • image/gif
  • application/pdf

Response (201):

{
  "success": true,
  "data": {
    "url": "https://storage.ziadapos.com/uploads/uuid-filename.jpg",
    "key": "uploads/uuid-filename.jpg",
    "name": "product-photo.jpg",
    "size": 1024000,
    "content_type": "image/jpeg",
    "kind": "image"
  }
}

DELETE /uploads

Delete a file.

Auth: Required (must belong to caller's organisation)

Request Body:

{
  "key": "uploads/uuid-filename.jpg"
}

Response (200): {"success": true}