Media API

Upload and query organization media for sites, shop products, campaigns, and reusable content.

List Media

GET/api/v1/media

Retrieve uploaded media files for the authenticated organization

Query Parameters

ParameterTypeDescription
groupstringFilter by media group slug
group_idstringFilter by media group ID
mime_typestringFilter by MIME type prefix, for example image
tagsstringComma-separated tags that each file must contain
searchstringSearch filename, title, and alt text
limitnumberMax results
Default: 50
offsetnumberSkip results for pagination
Default: 0
Request
curl -X GET "https://api.webkasa.app/api/v1/media?mime_type=image&tags=shop" \
  -H "Authorization: Bearer wk_live_xxx..."

Response

200 OK
{
  "data": [
    {
      "id": "media_abc123",
      "filename": "1719180000000-product-jar.jpg",
      "original_filename": "product-jar.jpg",
      "mime_type": "image/jpeg",
      "file_size": 184203,
      "title": "Golden Jar",
      "alt_text": "Golden jar product photo",
      "tags": ["shop", "jar"],
      "url": "https://..."
    }
  ],
  "meta": {
    "total": 1,
    "limit": 50,
    "offset": 0,
    "hasMore": false
  }
}

Upload Media

POST/api/v1/media

Upload one media file with multipart/form-data

Multipart Fields

ParameterTypeDescription
file requiredFileMultipart file upload. Maximum size is 25 MB.
titlestringHuman-readable media title. Defaults to the file name.
alt_textstringAccessible image description used by product and site UIs.
captionstringOptional caption for internal or public display.
tagsstring | string[]Comma-separated or repeated multipart tags.
group_idstringOptional media group ID owned by the API key organization.
Request
curl -X POST "https://api.webkasa.app/api/v1/media" \
  -H "Authorization: Bearer wk_live_xxx..." \
  -F "file=@./product-jar.jpg;type=image/jpeg" \
  -F "title=Golden Jar" \
  -F "alt_text=Golden jar product photo" \
  -F "tags=shop,jar"

Response

201 Created
{
  "data": {
    "id": "media_abc123",
    "organization_id": "org_abc123",
    "filename": "1719180000000-product-jar.jpg",
    "original_filename": "product-jar.jpg",
    "mime_type": "image/jpeg",
    "file_size": 184203,
    "storage_path": "org_abc123/1719180000000-product-jar.jpg",
    "title": "Golden Jar",
    "alt_text": "Golden jar product photo",
    "tags": ["shop", "jar"],
    "url": "https://..."
  }
}
413 Payload Too Large
{
  "error": "Uploaded file exceeds the 25 MB limit"
}