# Update a unit by Id Update the details of a specific unit within the Property Management System (PMS) using its unique ID. This endpoint allows property managers to modify unit attributes such as availability, capacity, amenities, and pricing. The request body should contain the updated details for the unit. Upon successful update, the response will include the updated unit information. If the specified unit ID does not exist, a error will be returned. In case of an unexpected system error, a will be triggered. Endpoint: PUT /api/v3/units/{id} Version: 3.0.4 Security: OAuth2 ## Path parameters: - `id` (integer, required) ## Query parameters: - `currentUser` (object, required) ## Request fields (application/json): - `id` (integer) Unique identifier of the unit - `unitAddress` (object, required) Data Transfer Object representing a unit's address - `unitAddress.id` (integer) Unique identifier of the address - `unitAddress.addressLine1` (string) First line of the address - `unitAddress.addressLine2` (string) Second line of the address - `unitAddress.addressLine3` (string) Third line of the address - `unitAddress.city` (string) City of the address - `unitAddress.postCode` (string) Postal code of the address - `unitAddress.country` (object) Data Transfer Object representing a Country entity in the Property Management System (PMS). - `unitAddress.country.id` (integer) Unique identifier of the country - `unitAddress.country.name` (string, required) Name of the country - `unitAddress.country.sortOrder` (integer, required) Sort order of the country - `unitAddress.country.countryCodeAlpha2` (string, required) Alpha-2 country code - `unitAddress.country.countryCodeAlpha3` (string, required) Alpha-3 country code - `unitAddress.country.countryCodeNumeric` (string, required) Numeric country code - `unitType` (object, required) Type summary of the unit - `unitType.id` (integer) Unique identifier of the unit type Example: 1 - `unitType.name` (string) Name of the unit type Example: "Studio Apartment" - `name` (string, required) Name of the unit - `shortDescription` (string, required) Short description of the unit - `bookable` (boolean, required) Indicates if the unit is bookable - `sellableFrom` (string, required) Date from which the unit is sellable - `sellableTo` (string, required) Date until which the unit is sellable - `addedOn` (string) Date when the unit was added - `removedOn` (string) Date when the unit was removed - `directions` (string) Directions to the unit - `costCentre` (string) Cost centre of the unit - `sortOrder` (integer, required) Sort order of the unit - `publish` (boolean, required) Indicates if the unit is published - `externalId` (integer) External identifier of the unit - `identifier` (string) Identifier of the unit - `floor` (integer) Floor number of the unit - `floorSpace` (integer) Floor space of the unit - `shortDescriptionLang2` (string) Short description of the unit in second language - `shortDescriptionLang3` (string) Short description of the unit in third language - `shortDescriptionLang4` (string) Short description of the unit in fourth language - `shortDescriptionLang5` (string) Short description of the unit in fifth language - `directionsLang2` (string) Directions to the unit in second language - `directionsLang3` (string) Directions to the unit in third language - `directionsLang4` (string) Directions to the unit in fourth language - `directionsLang5` (string) Directions to the unit in fifth language - `primaryLockIdentifier` (string) Primary lock identifier of the unit - `occupancyFrom` (string, required) Date from which the unit is occupied - `occupancyTo` (string, required) Date until which the unit is occupied - `pricePerExtraGuest` (number) Price per extra guest for the unit - `standardOccupancy` (integer) Standard occupancy of the unit - `cleanStatus` (string) Clean status of the unit Enum: "CLEAN", "DIRTY", "INSPECTED" - `lastCleaned` (string) Date and time when the unit was last cleaned - `inactive` (boolean) Indicates if the unit is inactive - `lastInspected` (string) Date and time when the unit was last inspected - `occupied` (boolean) Indicates if the unit is occupied - `thirdPartyUrl` (string) Third party URL of the unit - `unitCostCentre` (object, required) Data Transfer Object representing a cost centre - `unitCostCentre.id` (integer) Unique identifier of the cost centre - `unitCostCentre.code` (string) Code of the cost centre - `unitCostCentre.name` (string) Name of the cost centre - `unitCostCentre.exportName` (string) Export name of the cost centre - `organisationId` (integer, required) Organisation ID of the unit - `apartmentThumbnailUrl` (string) Thumbnail URL of the apartment ## Response 200 fields (application/json): - `id` (integer) Unique identifier of the unit - `unitAddress` (object, required) Data Transfer Object representing a unit's address - `unitAddress.id` (integer) Unique identifier of the address - `unitAddress.addressLine1` (string) First line of the address - `unitAddress.addressLine2` (string) Second line of the address - `unitAddress.addressLine3` (string) Third line of the address - `unitAddress.city` (string) City of the address - `unitAddress.postCode` (string) Postal code of the address - `unitAddress.country` (object) Data Transfer Object representing a Country entity in the Property Management System (PMS). - `unitAddress.country.id` (integer) Unique identifier of the country - `unitAddress.country.name` (string, required) Name of the country - `unitAddress.country.sortOrder` (integer, required) Sort order of the country - `unitAddress.country.countryCodeAlpha2` (string, required) Alpha-2 country code - `unitAddress.country.countryCodeAlpha3` (string, required) Alpha-3 country code - `unitAddress.country.countryCodeNumeric` (string, required) Numeric country code - `unitType` (object, required) Type summary of the unit - `unitType.id` (integer) Unique identifier of the unit type Example: 1 - `unitType.name` (string) Name of the unit type Example: "Studio Apartment" - `name` (string, required) Name of the unit - `shortDescription` (string, required) Short description of the unit - `bookable` (boolean, required) Indicates if the unit is bookable - `sellableFrom` (string, required) Date from which the unit is sellable - `sellableTo` (string, required) Date until which the unit is sellable - `addedOn` (string) Date when the unit was added - `removedOn` (string) Date when the unit was removed - `directions` (string) Directions to the unit - `costCentre` (string) Cost centre of the unit - `sortOrder` (integer, required) Sort order of the unit - `publish` (boolean, required) Indicates if the unit is published - `externalId` (integer) External identifier of the unit - `identifier` (string) Identifier of the unit - `floor` (integer) Floor number of the unit - `floorSpace` (integer) Floor space of the unit - `shortDescriptionLang2` (string) Short description of the unit in second language - `shortDescriptionLang3` (string) Short description of the unit in third language - `shortDescriptionLang4` (string) Short description of the unit in fourth language - `shortDescriptionLang5` (string) Short description of the unit in fifth language - `directionsLang2` (string) Directions to the unit in second language - `directionsLang3` (string) Directions to the unit in third language - `directionsLang4` (string) Directions to the unit in fourth language - `directionsLang5` (string) Directions to the unit in fifth language - `primaryLockIdentifier` (string) Primary lock identifier of the unit - `occupancyFrom` (string, required) Date from which the unit is occupied - `occupancyTo` (string, required) Date until which the unit is occupied - `pricePerExtraGuest` (number) Price per extra guest for the unit - `standardOccupancy` (integer) Standard occupancy of the unit - `cleanStatus` (string) Clean status of the unit Enum: "CLEAN", "DIRTY", "INSPECTED" - `lastCleaned` (string) Date and time when the unit was last cleaned - `inactive` (boolean) Indicates if the unit is inactive - `lastInspected` (string) Date and time when the unit was last inspected - `occupied` (boolean) Indicates if the unit is occupied - `thirdPartyUrl` (string) Third party URL of the unit - `unitCostCentre` (object, required) Data Transfer Object representing a cost centre - `unitCostCentre.id` (integer) Unique identifier of the cost centre - `unitCostCentre.code` (string) Code of the cost centre - `unitCostCentre.name` (string) Name of the cost centre - `unitCostCentre.exportName` (string) Export name of the cost centre - `organisationId` (integer, required) Organisation ID of the unit - `apartmentThumbnailUrl` (string) Thumbnail URL of the apartment