Upload Business Photos via API
Add photos to a location by category with the Synup API, from a public URL or base64, and avoid uploading the same image twice on a schedule.
At a glance
- What this guide accomplishes
- Add images to one photo category on a location, sourced from a URL or raw bytes.
- APIs used
- post
/api/v1/locations/{id}/mediaUpload photos to a location - get
/api/v1/locations/{id}Get a location
- post
- Reference
- LocationsMedia
- Prerequisites
- An API key with write access
- The locationId, and public HTTPS image URLs or base64 bytes
- Typical use cases
- Pushing a business's photo library into its listings
- Updating a cover or logo image
- Syncing new photos as a customer adds them
Photos go up one category at a time. POST /api/v1/locations/{id}/media takes a category and a list of
images, each a public HTTPS url that Synup fetches and re-hosts, or base64 bytes. Categories include COVER,
PROFILE, LOGO, EXTERIOR, INTERIOR, PRODUCT, FOOD_AND_DRINK, MENU, AT_WORK, TEAMS, ROOMS,
COMMON_AREA and ADDITIONAL.
curl -X POST https://ai.synup.com/api/v1/locations/LOCATION_ID/media \
-H "Authorization: Bearer $SYNUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "INTERIOR",
"images": [
{ "url": "https://cdn.grovestreetdental.example/downtown/lobby.jpg", "label": "Lobby" },
{ "url": "https://cdn.grovestreetdental.example/downtown/room-2.jpg", "label": "Treatment room" }
]
}'Two rules decide what happens to what is already there. LOGO holds exactly one image and the upload overwrites
the old one. Every other category appends. That difference matters the moment this runs on a schedule: an
append category will happily store the same photo again on the next run.
Photos are the part of a listing that a business updates most often after launch, so it is usually worth a small sync loop rather than a one-time import. The managing listings guide puts photos in that wider update flow.