Skip to main content

Method

POST /v1/gallery/upload

Multipart Form Fields

  • file (required) – Binary file upload.
  • folderId – UUID of destination folder.
  • fileName – Override the stored filename (defaults to the uploaded name).
  • publish – Truthy value (1, true, on, yes) keeps the file public; otherwise it remains private.
  • metadata – JSON string merged into file metadata.
  • width, height, duration – Optional numeric hints for images/videos.

JSON Body Parameters

Headers

Authorization
string
Bearer token (e.g. Authorization: Bearer YOUR_API_KEY)
content-type
string
multipart/form-data or application/json

Request Example

curl -X POST https://api.voyantcloud.com/v1/gallery/upload \
  -H "Authorization: Bearer $VOYANT_API_KEY" \
  -F "[email protected]" \
  -F "folderId=00000000-0000-0000-0000-000000000000" \
  -F "publish=true" \
  -F "metadata={\"campaign\":\"summer-2025\"}"

Response

{
  "fileId": "gal_file_123",
  "jobId": "gallery-job-456",
  "status": "processing",
  "publicUrls": {
    "primary": "https://cdn.voyantcloud.com/gallery/ws_abc/hero.jpg",
    "thumbnail": "https://cdn.voyantcloud.com/gallery/ws_abc/hero.jpg?w=200,h=200"
  }
}
The upload response is asynchronous. Poll /v1/gallery/files or subscribe to gallery.file.uploaded webhooks to know when processing finishes.