---
title: "Changes to Attach photos to a location by public image URL."
method: POST
path: "/api/v4/locations/photos"
---

# Changes to Attach photos to a location by public image URL.

`POST /api/v4/locations/photos`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 5 of 14 revisions.

- **2026-09-25** `91249a5e08be`: 1 breaking, 1 info
- **2026-09-10** `f675bdd0fa46`: 2 breaking
- **2026-09-09** `8bc826bc148c`: 4 breaking, 15 warning, 16 info
- **2026-07-31** `9274a1eac380`: 1 breaking, 1 warning
- **2026-07-26** `f41a4d1dfdb8`: 1 breaking, 2 warning, 2 info

## Changes

- **2026-09-25** `91249a5e08be`: 1 breaking, 1 info
  - added `#/components/schemas/ApiErrorObject` to the response body `oneOf` list for the response status `400`
  - removed `#/components/schemas/GatewayError` from the response body `oneOf` list for the response status `400`
- **2026-09-10** `f675bdd0fa46`: 2 breaking
  - request body became required
  - the request property `input` became required
- **2026-09-09** `8bc826bc148c`: 4 breaking, 15 warning, 16 info
  - added the new required request property `input/photos/items/photo`
  - request property `input/photos/items/type` was restricted to a list of enum values
  - added `#/components/schemas/ApiErrorResponse, #/components/schemas/GatewayError` to the response body `oneOf` list for the response status `400`
  - the response's body type changed from `object` to no type for status `400`
  - removed the request property `input/clientMutationId`
  - removed the request property `input/photos/items/caption`
  - removed the request property `input/photos/items/url`
  - removed the optional property `clientMutationId` from the response with the `200` status
  - removed the optional property `code` from the response with the `400` status
  - removed the optional property `code` from the response with the `401` status
  - removed the optional property `code` from the response with the `500` status
  - removed the optional property `errors/items/path` from the response with the `200` status
  - removed the optional property `field` from the response with the `400` status
  - removed the optional property `field` from the response with the `401` status
  - removed the optional property `field` from the response with the `500` status
  - removed the optional property `message` from the response with the `400` status
  - removed the optional property `message` from the response with the `401` status
  - removed the optional property `message` from the response with the `500` status
  - removed the optional property `photos` from the response with the `200` status
  - added the new optional request property `input/photos/items/partnerMediaId`
  - added the new optional request property `input/photos/items/publisherOverride`
  - added the new optional request property `input/photos/items/source`
  - added the new optional request property `input/photos/items/starred`
  - request body became optional
  - the request property `input` became optional
  - added the new `ADDITIONAL` enum value to the request property `input/photos/items/type`
  - added the new `COVER` enum value to the request property `input/photos/items/type`
  - added the new `LOGO` enum value to the request property `input/photos/items/type`
  - added the non-success response with the status `403`
  - added the non-success response with the status `429`
  - added the optional property `data` to the response with the `401` status
  - added the optional property `errors/items/contextInfo` to the response with the `200` status
  - added the required property `data` to the response with the `200` status
  - added the required property `error` to the response with the `500` status
  - added the required property `errors` to the response with the `401` status
- **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`
  - added the new optional request property `input/clientMutationId`

---

[Operation](https://skmtc.dev/listingsapi/apis/listings-api/docs/api/v4/locations/photos/post.md) - [API](https://skmtc.dev/listingsapi/apis/listings-api.md) - [Page](https://skmtc.dev/listingsapi/apis/listings-api/changes/api/v4/locations/photos/post)
