Replace a listing's images
Rewrites the gallery to exactly the images you list, in the order and with the captions you give. Use it to reorder, recaption, or change which image is the cover.
Authorization
AuthorizationstringrequiredPath parameters
unitIdstringrequiredSnowflake id of the unit. A unit listing has no id of its own — it is keyed by the unit it markets, so this is also the listing's id.
Body
application/json
imagesobject[]requiredThe complete gallery. At least one entry.
Response
200 · The listing in summary form, with `primaryImage` refreshed.
idstringThe listing's id, which is the same Snowflake as unitId.
portfolioIdstringThe portfolio behind the unit.
propertyIdstringThe property behind the unit.
unitIdstringThe unit this listing markets. Equal to id.
statusenum<string>Where the unit stands from a letting point of view. This is the listing's own status; it is not derived from whether a lease exists.
rentalPricenumberThe asking rent, as a decimal amount. This is the listing's price, separate from the unit's marketRent. Absent when it was never set, and a listing cannot be published without it.
securityDepositnumberThe deposit asked for, as a decimal amount. Absent when it was never set.
availableFromstring · dateThe first date a tenant could move in. Absent when it was never set.
leaseTermenum<string>The lease length being offered. Absent when it was never set.
titlestringThe listing headline. Absent when it was never set.
listedstring · dateThe date the listing was published. Its absence is what tells you the listing is not live — there is no separate boolean in the response.
updatedstring · date-timeWhen the listing last changed, as a wall clock in the company's timezone with no offset.
pinnedbooleanWhether a property manager pinned this listing to the top of their own list.
primaryImageobjectThe image marked default, or the first one if none is. Absent when the listing has no images.
primaryVideoobjectThe video marked default, or the first one if none is. Absent when the listing has no videos.
propertyTypeenum<string>Copied from the property, so a search can filter on it without a second call.
singleLineAddressstringThe unit's address as one line. Absent when neither the unit nor its property has an address.
recentRentalApplicationsintegerHow many rental applications named this unit in the recent window. Computed.
400 · `images` is missing or empty, a `fileId` is not a decimal number, or a description exceeds 500 characters. The response carries an `errors` member mapping each rejected field name to its message.
401 · The access token is missing, expired, or not for this company.
404 · No listing for that unit, or it belongs to another company.
This is a replacement, not a merge. Send every image you want to keep, each by its fileId — those come from images[].id on the listing. An image already in the gallery that is missing from your list is removed from it.