---
title: "Add photos for a location."
method: POST
path: "/api/v4/locations/photos"
tags: ["Locations"]
---

# Add photos for a location.

`POST /api/v4/locations/photos`

Attaches media to a location, either by public image URL or by referencing files already in your media library.

## Request body

- object
  - `input` AddLocationPhotosInput, required
    - `clientMutationId` string
    - `locationId` string, required
    - `photos` LocationPhotoInput[], required
      - `url` string, required
      - `caption` string
      - `type` string

## Response `200`

Successful response

- AddLocationPhotosPayload — (also defined by media-manager)
  - `clientMutationId` string
  - `photos` PhotoType[]
    - `id` string, required
    - `url` string, required
    - `caption` string
    - `starred` boolean
  - `errors` MutationErrorType[]
    - `code` string
    - `message` string, required
    - `path` string[]

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Server error

## Changes

- **2026-07-31** `9274a1eac380` — 1 breaking, 1 warning
  - added the new required request property `input/photos/items/url`
  - removed the request property `input/photos/items/photo`
- **2026-07-26** `f41a4d1dfdb8` — 1 breaking, 2 warning, 2 info
  - added the new required request property `input/photos`
  - removed the request property `input/mediaIds`
  - removed the request property `input/photoUrls`
  - api operation id `media-manager_addLocationPhotos` removed and replaced with `addLocationPhotos`
  - …1 more

[Change history](https://skmtc.dev/listingsapi/apis/listings-api/changes/api/v4/locations/photos/post.md)

---

[API](https://skmtc.dev/listingsapi/apis/listings-api.md) · [All operations](https://skmtc.dev/listingsapi/apis/listings-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/listingsapi/listings-api/revisions/2d0f7a88fc45/schema)
