Update an existing concept commercial rent contract.
Update a concept commercial rent contract
Updates an existing concept commercial lease contract by replacing its data with the values in the request body.
A developer calls this endpoint to correct or complete a concept contract before it is finalized in the Bloxs application, for example after an initial insert was submitted with incorrect values.
The API locates the concept contract using the externalIdentifier in the request body, so no separate identifier is passed as a query parameter. A concept contract represents a draft lease generated for a prospect, with only externalIdentifier, ownerReference and contractRealEstateObjects mandatory, and the remaining details completed later in Bloxs.
This operation fully overwrites the concept contract. Any field not included in the request will be cleared, not left unchanged.
Request Fields
Field | Type | Required | Description |
|---|---|---|---|
externalIdentifier | string | Yes | Unique identifier of the concept commercial lease contract in the requesting system. Bloxs does not generate this value. The API uses it to locate the existing concept contract to update. Maximum length is 100 characters. |
name | string | No | Free-text name for the contract, used to help identify it in search results within Bloxs. Maximum length is 256 characters. |
ownerReference | string | Yes | Reference of the owner, meaning the administration, associated with the real estate object in this contract. Minimum length is 1 character. |
relationReference | string | No | Reference of the primary tenant who is financially responsible for the contract. |
extraRelations | array of string | No | References of co-tenants on the contract, in addition to the primary tenant set in relationReference. |
startDate | string (date) | No | Start date of the lease. ISO 8601 date format, for example 2026-01-01. |
endDate | string (date) | No | End date of the lease. ISO 8601 date format. Can be left empty for a contract without a fixed end date, or set to the date on which the contract automatically renews. |
automaticExtends | boolean | No | Indicates whether the contract renews automatically at the end of its term. Default value is false. |
notifyOnExpiration | boolean | No | Indicates whether the property manager receives a notification task when the lease is due to expire. Default value is false. |
notifyOnExpirationMonths | integer | No | Number of months before expiration at which the notification task in notifyOnExpiration is created. Not applied if the contract has already been renewed. Minimum 1, maximum 9999. |
paymentMethod | integer | No | Payment method for the contract. Allowed values: 1 (Direct debit), 2 (Bank transfer). No default value. |
paymentTermInDays | integer | No | Number of days after the start of the rental period within which payment is due. For example, a rental period starting on November 1 with a payment term of 7 days results in a due date of November 8. Can be left empty in the API, but must be set in Bloxs before the contract can be finalized. |
invoiceInterval | integer | No | Frequency at which invoices are sent to the tenant. Allowed values: 1 (Month), 3 (Quarter), 6 (Half year), 12 (Year). No default value. |
automaticInvoicingFrom | string (date) | No | Date from which automated invoicing starts. ISO 8601 date format. Must be on or after startDate. Setting this to the first day of a month is recommended, since a mid-month start requires the first invoice to be created manually. The invoicing period follows invoiceInterval starting from this date, for example an automaticInvoicingFrom of October 5 with a monthly interval produces a period running from October 5 to November 4. |
indexationInfo | object | No | Indexation settings applied to the contract. Omit this object entirely if no indexation applies. |
indexationInfo.indexationMethodName | string | Yes, if indexationInfo is included | Name of the indexation method applied to the contract, for example a fixed yearly percentage or a method linked to inflation figures that Bloxs processes automatically. Available methods are retrieved from the Get a list of commercial rent indexation methods endpoint. Minimum length is 1 character. |
indexationInfo.nextIndexDate | string (date) | Yes, if indexationInfo is included | Date from which the indexation method is first applied. ISO 8601 date format. Subsequent indexations are applied annually from this date, for example a nextIndexDate of 2025-01-01 results in further indexations on 2026-01-01, 2027-01-01 and so on. |
indexationInfo.indexationUseOverrules | boolean | Yes, if indexationInfo is included | Indicates whether the overrule fields indexationOverrule_MinimumIndexRate, indexationOverrule_MaximumIndexRate and indexationOverrule_IncrementRate are applied. Default value is false. |
indexationInfo.indexationOverrule_MinimumIndexRate | number | Yes, if indexationInfo is included | Minimum indexation rate applied instead of the outcome of the indexation method, only when indexationUseOverrules is true. Decimal fraction where 1 equals 100 percent, for example 0.02 for 2 percent. Value ranges from -1 to 1 and can be null. |
indexationInfo.indexationOverrule_MaximumIndexRate | number | Yes, if indexationInfo is included | Maximum indexation rate applied instead of the outcome of the indexation method, only when indexationUseOverrules is true. Decimal fraction where 1 equals 100 percent, for example 0.08 for 8 percent. Value ranges from -1 to 1 and can be null. |
indexationInfo.indexationOverrule_IncrementRate | number | Yes, if indexationInfo is included | Fixed increment applied on top of the rate produced by the indexation method, only when indexationUseOverrules is true. Decimal fraction, for example 0.02 to add 2 percentage points to a 5 percent outcome for a total of 7 percent. The result can still be limited by indexationOverrule_MinimumIndexRate or indexationOverrule_MaximumIndexRate. Value ranges from -1 to 1 and can be null. |
indexationInfo.useGraduatedScaleIndexation | boolean | Yes, if indexationInfo is included | Indicates whether graduated scales are used to calculate the indexation rate instead of a single rate. Only available in combination with an inflation-linked indexation method. Default value is false. |
indexationInfo.graduatedScaleIndexationLines | array of object | Yes, if indexationInfo is included | Graduated scale lines used to calculate the indexation rate when useGraduatedScaleIndexation is true. Can be null. |
indexationInfo.graduatedScaleIndexationLines.fromPercentage | number | Yes, if a graduated scale line is included | Inflation percentage from which the appliedPercentage in this line takes effect. Decimal fraction between 0 and 1. For example, scales starting at 0 percent, 3 percent and 6 percent are entered as 0.00, 0.03 and 0.06. |
indexationInfo.graduatedScaleIndexationLines.appliedPercentage | number | Yes, if a graduated scale line is included | Share of the inflation within this scale that is included in the indexation. Decimal fraction between 0 and 1. For example, scales that include 100 percent, 50 percent and 0 percent of the inflation are entered as 1, 0.5 and 0. |
sendInvoices | boolean | No | Indicates whether invoices are sent to the tenant. Default value is false. |
extraInvoiceText | string | No | Additional text included on the invoice, for example a contract or relation number. |
remarks | string | No | Free-text remarks for internal use. Not included on the invoice. |
noticePeriod | integer | No | Notice period of the contract, in months. Relevant only when automaticExtends is true. |
depositTypeName | string | No | Name of the deposit type that applies to this contract, from the standard list of deposit types configured in Bloxs. This list can only be edited in the Bloxs application. Available values are retrieved from the Get a list of commercial rent deposit types endpoint. |
depositAmount | number | No | Amount of the deposit for this contract. Decimals use a point separator. |
contractRealEstateObjects | array of string | Yes | References of the real estate object or objects covered by the contract. Provide multiple references for a contract covering several objects. |
extensionPeriods | array of object | No | Renewal periods applied when automaticExtends is true. Can be null. |
extensionPeriods.numberOfMonths | integer | No | Number of months by which the contract renews each time. For example, a contract that renews every six months has automaticExtends set to true and this field set to 6. Minimum 1, maximum 9999. |
doNotTakeOverTheoreticalRent | boolean | No | Indicates whether the contract deviates from the theoretical rental income configured for the real estate object in Bloxs. Default value is false, meaning the theoretical rent is applied. |
doNotTakeOverInitialCosts | boolean | No | Indicates whether the contract deviates from the theoretical initial costs configured for the real estate object in Bloxs. Default value is false, meaning the theoretical initial costs are applied. |
breakOption | string (date) | No | Date on which either party can terminate the contract early. ISO 8601 date format. Applies only to commercial lease contracts. |
Response Fields
Field | Type | Required | Description |
|---|---|---|---|
message | integer | Yes | Result code returned after the update. Allowed values: 0 (NoMessage, update completed with no additional information), 1 (NewRealEstateObject, a new real estate object was created for the contract), 16 (NeedsSignHostReset, the digital signing host needs to be reset), 18 (NewRelation, a new relation was created for the contract), 20 (NewOwner, a new owner was created for the contract). |
DirectDebit = 1 BankTransfer = 2
Month = 1 Quarter = 3 HalfYear = 6 Year = 12
A concept commercial rent contract was updated
NoMessage = 0 NewRealEstateObject = 1 NeedsSignHostReset = 16 NewRelation = 18 NewOwner = 20
The concept commercial rent contract data has validation issues