Upsert building (no spaces)

View as Markdown
**Create or update a commercial property.** The URL path segment `{reference}` is your stable identifier for the property — re-sending the same reference replaces the existing record. Use a new reference to create a new listing. The request body accepts either of two shapes: - **`CommercialPropertyBuildingOnly`** — building details, no individual spaces. - **`CommercialPropertyWithSpaces`** — building details plus a `spaces` array (max 50) for floors / units to be marketed individually. This collection includes one example of each — see the **Upsert building (with spaces)** sibling request for the spaces variant. ### Required building-level fields `agentId`, `description`, `summary`, `transactionType` (`SALES`/`LETTINGS`), `pricing`, `location`, `keyFeatures`, `primaryPropertyClassification`, `status`, `published`. ### Status Allowed values: `AVAILABLE`, `SOLD_STC`, `SOLD_STCM`, `RESERVED`, `LET_AGREED`, `UNDER_OFFER`. Anything else triggers an automatic `published=false`. See [Property-upload visibility guidelines](#) in the collection overview. ### Response - **`200 OK`** — listing was updated. Body is `PropertySaveAction` containing self/display links. - **`201 Created`** — listing was newly created. Same body shape as 200. - **`400 Bad Request`** — validation failed. See `ProblemDetail.properties.validationError`.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

referencestringRequired

Request

This endpoint expects an object.
buildingobjectOptional

Response

200 — Updated

metaobject
dataobject

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
429
Too Many Requests Error
502
Bad Gateway Error
503
Service Unavailable Error