Appearance
Upload photo
Creates a media item (photo) for a location from a publicly accessible URL.
Categories determine where the photo appears: COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL.
POST /v1/accounts/{accountId}/gmb-media
Creates a media item (photo) for a location from a publicly accessible URL.
Categories determine where the photo appears: COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL.
Parameters
accountId(path, string) requiredlocationId(query, string) — Override which location to target. If omitted, uses the account's selected location. Use GET /gmb-locations to list valid IDs.
Request body
Content-Type: application/json
sourceUrl(string) required — Publicly accessible image URLmediaFormat(string) (enum: PHOTO, VIDEO)description(string) — Photo descriptioncategory(string) (enum: COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL) — Where the photo appears on the listing
Example:
json
{
"sourceUrl": "https://example.com/photos/restaurant-interior.jpg",
"description": "Dining area with outdoor seating",
"category": "INTERIOR"
}Responses
200 — Media created successfully
success(boolean)name(string)mediaFormat(string)googleUrl(string)
400 — Invalid request or unsupported media format
error(string)details(object)
401 — Unauthorized
error(string)details(object)