Media
Read and upload a location's media library.
Returns the logo, photos, and videos on file for one location, grouped by category.
Get location media
/api/v1/media{
"data": {
"locationId": "loc_456",
"logoUrl": "https://cdn.synup.com/logos/loc_456.png",
"mediaByCategory": {
"EXTERIOR": [
{
"url": "https://cdn.synup.com/media/1.jpg",
"kind": "PHOTO",
"source": "user_upload",
"starred": true
}
]
},
"photosSummary": {
"total": 12,
"byCategory": [
{
"category": "EXTERIOR",
"count": 4
}
]
}
}
}The fixed set of category values accepted by POST/DELETE /api/v1/locations/{id}/media (COVER, LOGO, INTERIOR, ...).
List media categories
/api/v1/media/categories{
"data": {
"categories": [
"COVER",
"PROFILE",
"LOGO",
"EXTERIOR",
"INTERIOR",
"PRODUCT",
"FOOD_AND_DRINK",
"MENU",
"AT_WORK",
"TEAMS",
"ROOMS",
"COMMON_AREA",
"ADDITIONAL"
]
}
}Updates an asset's overlay metadata — tags, folder membership, assigned locations — and, for uploads only, its title. Synced/generated sources ignore title; it's read-only there.
Update an asset
/api/v1/media/{id}{
"data": {
"asset": {
"key": "upload:abc123",
"source": "upload",
"id": "abc123",
"title": "Storefront photo",
"filename": "storefront.jpg",
"mime": "image/jpeg",
"kind": "image",
"sizeBytes": 482913,
"url": "https://cdn.synup.com/media/abc123.jpg",
"thumbnailUrl": "https://cdn.synup.com/media/abc123-thumb.jpg",
"tags": [
"VIP"
],
"folderIds": [
"folder_1"
],
"locationIds": [
"loc_456"
]
}
}
}Archives one uploaded photo/file from the Asset library — this API never permanently deletes it. The bytes, record, tag/folder memberships, and share links all stay in place; it just stops appearing anywhere in the library. Only uploads can be archived this way.
Archive a media asset
/api/v1/media/{id}{}Regenerates a Sydekick-generated asset's image (or text) in place from a text prompt — the same "Edit with AI" action available in the Data tab. Sydekick-generated assets only; uploads and synced media return a 409. Runs a background job that can take a minute or more on a cold start.
AI-edit an asset
/api/v1/media/{id}/edit{
"data": {
"asset": {
"key": "upload:def456",
"source": "upload",
"id": "def456",
"title": "Storefront photo (edited)",
"filename": "storefront-edited.jpg",
"mime": "image/jpeg",
"kind": "image",
"sizeBytes": 511204,
"url": "https://cdn.synup.com/media/def456.jpg",
"thumbnailUrl": "https://cdn.synup.com/media/def456-thumb.jpg",
"tags": [
"VIP"
],
"folderIds": [
"folder_1"
],
"locationIds": [
"loc_456"
]
}
}
}Adds a new photo or video to the agency's media library from a URL or base64-encoded payload, optionally scoped to an account, client, location, or brand.
Upload a media asset
/api/v1/media/upload{
"data": {
"asset": {
"key": "upload:ghi789",
"source": "upload",
"id": "ghi789",
"title": "New storefront photo",
"filename": "new-storefront.jpg",
"mime": "image/jpeg",
"kind": "image",
"sizeBytes": 398211,
"url": "https://cdn.synup.com/media/ghi789.jpg",
"thumbnailUrl": "https://cdn.synup.com/media/ghi789-thumb.jpg",
"tags": [],
"folderIds": [],
"locationIds": []
}
}
}{
"data": {
"url": "https://synup.com/s/kL9mN2pQr",
"access": "link"
}
}{
"data": {
"access": "restricted"
}
}