# update_units

Update structural fields on multiple units in parallel. Marketing copy (title, descriptions, translations) is
intentionally not editable here — use `update_marketing_details` for that.

<!-- INPUT_BLOCK_START -->

## Input

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `units` | `UpdateUnitInput[]` | Yes | Array of units to update - [UpdateUnitInput](#updateunitinput) |

### UpdateUnitInput

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `unitId` | `string` | Yes | The ID of the unit to update |
| `airbnbPartialSyncOnlyRatesAndAvailability` | `boolean` | No | Whether to sync only rates and availability with Airbnb |
| `approximateAnnualAvailableNights` | `number` | No | Approximate annual available nights |
| `cadastral` | `string \| null` | No | Cadastral information |
| `code` | `string` | No | The unit code/name |
| `coverImage` | `string \| null` | No | Cover image URL |
| `currencyCode` | `string` | No | Currency code (e.g., "EUR", "USD", "GBP") |
| `dedicatedRental` | `boolean` | No | Whether this is a dedicated rental |
| `editable` | `boolean` | No | Whether the unit is editable |
| `editableAddress` | `boolean` | No | Whether the address is editable |
| `enabledPofIntegrations` | `boolean` | No | Whether POF integrations are enabled |
| `hkus` | `number` | No | Housekeeping units |
| `interactionWithGuests` | `string \| null` | No | Description of guest interaction |
| `importedFrom` | `string \| null` | No | Source of import |
| `license` | `string \| null` | No | License information |
| `manualPricingEnabled` | `boolean` | No | Whether manual pricing is enabled |
| `maxOccupants` | `number` | No | Maximum number of occupants |
| `numberOfBedrooms` | `number` | No | Number of bedrooms |
| `numberOfBeds` | `number` | No | Number of beds |
| `numberOfBathrooms` | `number` | No | Number of bathrooms |
| `residential` | `boolean` | No | Whether the unit is residential |
| `sizeInSqm` | `number` | No | Size of the unit in square meters |
| `status` | `string` | No | Status of the unit (e.g., "active", "inactive") |
| `canCreateDirectBooking` | `boolean` | No | Whether direct bookings can be created |
| `importedAt` | `string \| null` | No | Import timestamp |
| `belongsToMultiUnitGroup` | `boolean` | No | Whether belongs to a multi-unit group |
| `address` | `UnitAddress` | No | Address information for the unit - [UnitAddress](#unitaddress) |
| `addressId` | `string` | No | ID of the address to associate with this unit |
| `buildingId` | `string` | No | ID of the building to associate with this unit |
| `propertyTypeId` | `string` | No | ID of the property type to associate with this unit |
| `spaceTypeId` | `string` | No | ID of the space type to associate with this unit |
| `orientationId` | `string \| null` | No | ID of the building orientation to assign to this unit; pass null to clear it |
| `zoneId` | `string \| null` | No | ID of the building zone to assign to this unit; pass null to clear it |
| `roomIds` | `string[]` | No | Array of room IDs to associate with this unit |
| `v2PayoutTemplateId` | `string` | No | ID of the payout template to associate with this unit |
| `multiUnitGroupId` | `string` | No | ID of the multi-unit group to associate with this unit |
| `parentUnitId` | `string` | No | ID of the parent unit to associate with this unit |
| `vatCodeId` | `string` | No | ID of the VAT code to associate with this unit |

### UnitAddress

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `floor` | `number \| null` | No | Floor number of the unit |
| `apartmentNumber` | `string \| null` | No | Apartment number or identifier |

<!-- INPUT_BLOCK_END -->

<!-- OUTPUT_BLOCK_START -->

## Output

| Field | Type | Description |
| --- | --- | --- |
| `content` | `ContentItem[]` | Array of content items returned by the tool - [ContentItem](#contentitem) |
| `isError` | `boolean` | Whether the tool execution resulted in an error |

### ContentItem

| Field | Type | Description |
| --- | --- | --- |
| `type` | `'text'` | Content type (currently only 'text' is supported) |
| `text` | `string` | The text content to display |

<!-- OUTPUT_BLOCK_END -->
