Update a concept commercial rent contract

Prev Next
Put
/api/v1/contracts/conceptcommercialrent

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).

Security
Body parameters
Expand All
object
externalIdentifier
string Required
Min length0
Max length100
name
string | null
Min length0
Max length256
ownerReference
string Required
Min length1
relationReference
string | null
extraRelations
Array of string | null
string
startDate
string (date)
endDate
string (date) | null
automaticExtends
boolean
notifyOnExpiration
boolean
notifyOnExpirationMonths
integer (int32) | null
Minimum1
Maximum9999
copyAddresToTenant
boolean
paymentMethod
integer (int32) | null

DirectDebit = 1 BankTransfer = 2

paymentTermInDays
integer (int32) | null
invoiceInterval
integer (int32) | null

Month = 1 Quarter = 3 HalfYear = 6 Year = 12

automaticInvoicingFrom
string (date) | null
indexationInfo
object (CommercialContractIndexationInfoAPIModel)
indexationMethodName
string Required
Min length1
nextIndexDate
string (date) Required
indexationUseOverrules
boolean Required
indexationOverrule_MinimumIndexRate
number (double) | null Required
Minimum-1
Maximum1
indexationOverrule_MaximumIndexRate
number (double) | null Required
Minimum-1
Maximum1
indexationOverrule_IncrementRate
number (double) | null Required
Minimum-1
Maximum1
useGraduatedScaleIndexation
boolean Required
graduatedScaleIndexationLines
Array of object (GraduatedScaleLineModel) | null Required
object
fromPercentage
number (double) Required
Minimum0
Maximum1
appliedPercentage
number (double) Required
Minimum0
Maximum1
sendInvoices
boolean
extraInvoiceText
string | null
remarks
string | null
noticePeriod
integer (int32) | null
depositTypeName
string | null
depositAmount
number (double) | null
contractRealEstateObjects
Array of string Required
string
extensionPeriods
Array of object (ConceptContractExtensionPeriod) | null
object
numberOfMonths
integer (int32) | null
Minimum1
Maximum9999
doNotTakeOverTheoreticalRent
boolean
doNotTakeOverInitialCosts
boolean
breakOption
string (date) | null
Responses
200

A concept commercial rent contract was updated

integer (int32)

NoMessage = 0 NewRealEstateObject = 1 NeedsSignHostReset = 16 NewRelation = 18 NewOwner = 20

400

The concept commercial rent contract data has validation issues

Expand All
object
type
string | null
title
string | null
traceId
string | null
status
integer (int32)
errors
object | null
property*
Array of string | null additionalProperties
string