---
title: "Update an existing complex"
slug: "update-an-existing-complex"
updated: 2025-11-07T20:01:40Z
published: 2026-02-10T10:39:15Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://www.bloxs.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update an existing complex

Put/api/v1/realestateobjects/complexes

Update an existing complex. This will fully overwrite the complex with the data from the request.

		
			

**Description**

Update an existing complex. This will fully overwrite the complex with the data from the request. Both the 'reference' and the 'externalIdentifier' can be used to identify the complex which needs to be overwritten. Preferably only the reference is used. If this is not available, the externalIdentifier can be used. If both properties are used it is important that both are correct and match with the same entity (complex). If this is not the case, the request will return with an error code and the complex will not be overwritten.

A complex is a collection of rentable units. This is often under one roof but not necessarily. Example of not being under one roof: the employee housing site from a company, where all the different buildings are considered buildings within a complex. Typically, complexes are under one roof.

**Use Case**

The Bloxs user has added a complex with several incorrect properties. Therefore the user wants to change multiple properties at the same time rather than making several requests and changing one property at a time.

**Request****fields**

The request contains the following fields:

| Field | Description |
| --- | --- |
| reference | The relationship number within Bloxs. This is unique (per client specific environment) for all objects. The relationship number is generated by the Bloxs system. |
| externalIdentifier | The unique identifier within the system of the requesting party. This identifier is not generated by the Bloxs system. |
| name | The custom name assigned to the object. This is used for reporting and to distinguish the object when the address alone is insufficient. In the case of room rentals, this would be the address + room number. This name can also be displayed on invoices and bills. |
| categoryName | The name of the category. The category describes what type of object it concerns and gives an indication of what the purpose of the building is. Examples are: House, office or shop. The enumeration can be set by the user in the admin module. In the administration, there is already a default list created by Bloxs, which can be modified by the user. In order to retrieve the available list of categories, the following GET can be used: [Get a list of categories](https://www.bloxs.io/apidocs/get-a-list-of-categories-1). |
| extraRelations | Via this field any existing relation (Person, organisation, supplier, Owner or Estate Agent) can be linked to this object. For example, if a certain person is responsible for the maintenance, this field can be used to link this person to the object. Note that only existing relations can be linked. New relations should be entered through the relations-api insert operations. If the user does not know the detailed information of the relation that should be linked, one of the GET operations from the relations API should be used. The owner of the property should be added through the field 'ownerReference'. The estate agent of the property should be added through the field 'EstateAgentReference'. All other relations that should be linked can be entered through extraRelations. |
| extraRelationTypeName | The relation type of the existing relation that should be linked to this object. This is a separate field from the 'RelationTypeName' in the relations-api. The extraRelationTypeName refers to the relation type specifically assigned to the this object. For example, a person has the relationTypeName 'maintenance' assigned. However, for this specific object the person performs the role of cleaner rather than maintenance. Through the field extraRelationTypeName the role of 'cleaner' can be assigned. The enumeration can be set by the user in the admin module. In the administration, there is already a default list created by Bloxs, which can be modified by the user. In order to retrieve the available list of relation types, the following GET can be used: [Get a list of extra relation types](https://www.bloxs.io/apidocs/get-a-list-of-extra-relation-types). |
| relationReference | The reference of the existing relation that should be linked to this object. The reference should be identical to the reference such as registered in the Bloxs application. |
| remarks | Comments for free text. Anything that cannot be entered in the other fields can be entered here. It is important not to enter sensitive information here (passwords, personal data, etc.). |
| underManagementSince | From this date, the user has become the manager of the object. The date is initially entered and remains unchanged until the sale/termination of management. |
| address | The address of the object. |
| street | The street of the object. |
| houseNumber | The house number of the object. |
| postalCode | The postal code of the object. |
| city | The place (city/town) in which the object is situated. |
| countryISOCode | ISO country code. Use the 2-letter code from the ISO 639-1 Code list. |
| ownerReference | Property owner. This field is used to link the property to its owner. Since a property must have an owner, this field is mandatory. It is part of the contracts triangle of properties, owners, and tenants. The OwnerReference corresponds to the 'Reference' in the Relations. This unique ID is generated by the Bloxs portal and should not be confused with the external identifier. A property can have only one owner. |
| estateAgentReference | Real estate agent for the property. This field links the property to a real estate agent. It must be an existing agent who has been previously added either through the Bloxs application or via the API. The estateAgentReference corresponds to the 'Reference' previously assigned to the real estate agent. This unique ID is generated by the Bloxs application and should not be confused with the external identifier. A property can have only one real estate agent. |
| mandateAmount | The mandate amount pertains to technical management and indicates the limit up to which the manager has the mandate to approve repairs, maintenance, etc., before the owner's approval is required. The value can have decimals which should be entered with a dot (.). |
| constructionYear | The year of construction of the property indicates the year in which the building was built. |
| energyIndex | A representation of the energy performance of the property. More accurate than an energy label. Defined as a numerical value. The value can have decimals which should be entered with a dot (.). |
| technicalManagement | Boolean. Indicates whether you are responsible for the technical management of the property. If no (False), then by default, the owner is always responsible. Default value is false. |
| financialManagement | Boolean. Indicates whether you are responsible for the financial management of the property. If no (False), then by default, the owner is always responsible. Default value is false. |

**Response fields**

The response contains the fields in the table below.

| Field | Description |
| --- | --- |
| displayName | A combination of the 'address' & the 'name' of the object. |
| salesDate | This is the date on which the object was sold or is no longer under management. Entering this date will result in the object being archived, and it will no longer be selectable in lists, etc. This date cannot be filled in if the object still has active contracts. |
| lastModified | Timestamp of the last modification within Bloxs (determined by Bloxs). |

		
		
SecurityHTTPType Bearer

Please enter a valid token

Body parameters<select class='api-response-data' aria-label='Media type'><option value='342139b7-0643-4f1a-a86f-dad5845f5dd9'>application/json</option>
</select>Expand Allobject  externalIdentifierstring   | null  Min length0Max length100
namestring   | null  Min length0Max length256
categoryNamestring    RequiredMin length0Max length256
extraRelations Array of object (RealEstateExtraRelationAPIModel)  | null  object  extraRelationTypeNamestring   | null  
relationReferencestring   | null  

remarksstring   | null  
underManagementSincestring  (date)   | null  
addressobject (Address)  streetstring    RequiredMin length0Max length200
houseNumberstring   | null  Min length0Max length40
postalCodestring    RequiredMin length0Max length20
citystring    RequiredMin length0Max length200
countryISOCodestring    RequiredMin length0Max length2

ownerReferencestring    RequiredMin length1
estateAgentReferencestring   | null  
mandateAmountnumber  (double)   | null  
constructionYearinteger  (int32)   | null  
energyIndexnumber  (double)   | null  
technicalManagementboolean    
financialManagementboolean    
referencestring   | null  Min length0Max length100

Responses200

The complex was updated

<select class='api-response-data' aria-label='Media type'><option value='ac94c308-fecf-423b-9b20-e1aa0c0655be'>application/json</option>
</select>Expand Allobject  referencestring   | null  
externalIdentifierstring   | null  
namestring   | null  
displayNamestring   | null  
ownerReferencestring   | null  
categoryNamestring   | null  
extraRelations Array of object (RealEstateExtraRelationAPIModel)  | null  object  extraRelationTypeNamestring   | null  
relationReferencestring   | null  

remarksstring   | null  
underManagementSincestring  (date-time)   | null  
salesDatestring  (date-time)   | null  
lastModifiedstring  (date-time)    
addressobject (Address)  streetstring    Min length0Max length200
houseNumberstring   | null  Min length0Max length40
postalCodestring    Min length0Max length20
citystring    Min length0Max length200
countryISOCodestring    Min length0Max length2

estateAgentReferencestring   | null  
mandateAmountnumber  (double)   | null  
constructionYearinteger  (int32)   | null  
totalRawFloorAreanumber  (double)   | null  
totalRentableFloorAreanumber  (double)   | null  
totalUsableFloorAreanumber  (double)   | null  
energyIndexnumber  (double)   | null  
technicalManagementboolean    
financialManagementboolean    

400

The complex data has validation issues

<select class='api-response-data' aria-label='Media type'><option value='d416652b-5fa6-4dc8-9abc-79d62daebbf1'>application/json</option>
</select>Expand Allobject  typestring   | null  
titlestring   | null  
traceIdstring   | null  
statusinteger  (int32)    
errorsobject | null  property* Array of string  | null  additionalPropertiesstring
