> ## 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. # Insert a concept commercial rent contract > Insert a new concept commercial rent contract. ## OpenAPI ````json POST /api/v1/contracts/conceptcommercialrent { "openapi": "3.0.4", "info": { "title": "Concept SalesContracts V1", "description": "Welcome to BETA version of the new Sales Concept Contracts API - intended for client public testing before the launch of the final version. During this BETA phase, we'll be improving the API based on specific client's feedbacks.", "version": "v1" }, "security": [ {} ], "tags": [ { "name": "CommercialRentContracts" }, { "name": "Concept CommercialRent" }, { "name": "Concept PrivateRent" }, { "name": "GeneralSalesContracts" }, { "name": "Metadata" }, { "name": "PrivateRentContracts" }, { "name": "SupplierContracts" } ], "paths": { "/api/v1/contracts/conceptcommercialrent": { "post": { "tags": [ "Concept CommercialRent" ], "summary": "Insert a concept commercial rent contract", "description": "Insert a new concept commercial rent contract.", "operationId": "InsertConceptCommercialRentContract", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConceptCommercialRentContractAPIModel" } } } }, "responses": { "200": { "description": "A concept commercial rent contract was created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConceptCommercialRentContractAPIDetailModel" } } } }, "400": { "description": "The concept commercial rent contract data has validation issues", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIErrorMessageModel" } } } } }, "x-d360-narrative-url": "

Insert a concept commercial rent contract

Creates a new concept commercial lease contract in Bloxs.

A developer calls this endpoint to add a draft lease for a prospect, with the remaining commercial and tenant details completed afterwards in the Bloxs application.

Only externalIdentifier, ownerReference and contractRealEstateObjects are mandatory in the request body; every other property can be set now or added later through the update endpoint.

The response returns the created concept contract with the field values as stored by Bloxs.


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

externalIdentifier

string

No

Unique identifier of the concept commercial lease contract in the requesting system.

name

string

No

Free-text name of the contract.

ownerReference

string

No

Reference of the owner, meaning the administration, associated with the real estate object in this contract.

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.

startDate

string (date)

No

Start date of the lease. ISO 8601 date format.

endDate

string (date)

No

End date of the lease. ISO 8601 date format.

automaticExtends

boolean

No

Indicates whether the contract renews automatically at the end of its term.

notifyOnExpiration

boolean

No

Indicates whether the property manager receives a notification task when the lease is due to expire.

notifyOnExpirationMonths

integer

No

Number of months before expiration at which the notification task is created.

paymentMethod

integer

No

Payment method for the contract. Allowed values: 1 (Direct debit), 2 (Bank transfer).

copyAddressToTenant

boolean

No

Indicates whether the property address is copied to the tenant's contact record.

ownerBankAccount

string

No

Bank account of the owner used for this contract.

paymentTermInDays

integer

No

Payment term in days, calculated from the start of the rental period.

invoiceInterval

integer

No

Frequency at which invoices are sent to the tenant. Allowed values: 1 (Month), 3 (Quarter), 6 (Half year), 12 (Year).

automaticInvoicingFrom

string (date)

No

Date from which automated invoicing starts. ISO 8601 date format.

indexationInfo

object

No

Indexation settings applied to the contract.

indexationInfo.indexationMethodName

string

No

Name of the indexation method applied to the contract.

indexationInfo.nextIndexDate

string (date)

No

Date from which the indexation method is first applied. ISO 8601 date format.

indexationInfo.indexationUseOverrules

boolean

No

Indicates whether the overrule fields below are applied.

indexationInfo.indexationOverrule_MinimumIndexRate

number

No

Minimum indexation rate applied instead of the outcome of the indexation method. Decimal fraction where 1 equals 100 percent.

indexationInfo.indexationOverrule_MaximumIndexRate

number

No

Maximum indexation rate applied instead of the outcome of the indexation method. Decimal fraction where 1 equals 100 percent.

indexationInfo.indexationOverrule_IncrementRate

number

No

Fixed increment applied on top of the rate produced by the indexation method. Decimal fraction.

indexationInfo.useGraduatedScaleIndexation

boolean

No

Indicates whether graduated scales are used to calculate the indexation rate instead of a single rate.

indexationInfo.graduatedScaleIndexationLines

array of object

No

Graduated scale lines used to calculate the indexation rate.

indexationInfo.graduatedScaleIndexationLines.fromPercentage

number

No

Inflation percentage from which the appliedPercentage in this line takes effect. Decimal fraction between 0 and 1.

indexationInfo.graduatedScaleIndexationLines.appliedPercentage

number

No

Share of the inflation within this scale that is included in the indexation. Decimal fraction between 0 and 1.

sendInvoices

boolean

No

Indicates whether invoices are sent to the tenant.

extraInvoiceText

string

No

Additional text included on the invoice.

remarks

string

No

Free-text remarks for internal use.

noticePeriod

integer

No

Notice period of the contract, in months.

depositTypeName

string

No

Name of the deposit type that applies to this contract.

depositAmount

number

No

Amount of the deposit for this contract.

contractRealEstateObjects

array of string

No

References of the real estate object or objects covered by the contract.

extensionPeriods

array of object

No

Renewal periods applied when automaticExtends is true.

extensionPeriods.numberOfMonths

integer

No

Number of months by which the contract renews each time.

breakOption

string (date)

No

Date on which either party can terminate the contract early. ISO 8601 date format.

" } } }, "components": { "schemas": { "ConceptCommercialRentContractAPIModel": { "required": [ "contractRealEstateObjects", "externalIdentifier", "ownerReference" ], "type": "object", "properties": { "externalIdentifier": { "maxLength": 100, "minLength": 0, "type": "string" }, "name": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "ownerReference": { "minLength": 1, "type": "string" }, "relationReference": { "type": "string", "nullable": true }, "extraRelations": { "type": "array", "items": { "type": "string" }, "nullable": true }, "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date", "nullable": true }, "automaticExtends": { "type": "boolean" }, "notifyOnExpiration": { "type": "boolean" }, "notifyOnExpirationMonths": { "maximum": 9999, "minimum": 1, "type": "integer", "format": "int32", "nullable": true }, "copyAddresToTenant": { "type": "boolean" }, "paymentMethod": { "type": "integer", "description": "DirectDebit = 1\nBankTransfer = 2", "format": "int32", "nullable": true, "x-enumNames": [ "DirectDebit", "BankTransfer" ] }, "paymentTermInDays": { "type": "integer", "format": "int32", "nullable": true }, "invoiceInterval": { "type": "integer", "description": "Month = 1\nQuarter = 3\nHalfYear = 6\nYear = 12", "format": "int32", "nullable": true, "x-enumNames": [ "Month", "Quarter", "HalfYear", "Year" ] }, "automaticInvoicingFrom": { "type": "string", "format": "date", "nullable": true }, "indexationInfo": { "$ref": "#/components/schemas/CommercialContractIndexationInfoAPIModel" }, "sendInvoices": { "type": "boolean" }, "extraInvoiceText": { "type": "string", "nullable": true }, "remarks": { "type": "string", "nullable": true }, "noticePeriod": { "type": "integer", "format": "int32", "nullable": true }, "depositTypeName": { "type": "string", "nullable": true }, "depositAmount": { "type": "number", "format": "double", "nullable": true }, "contractRealEstateObjects": { "type": "array", "items": { "type": "string" } }, "extensionPeriods": { "type": "array", "items": { "$ref": "#/components/schemas/ConceptContractExtensionPeriod" }, "nullable": true }, "doNotTakeOverTheoreticalRent": { "type": "boolean" }, "doNotTakeOverInitialCosts": { "type": "boolean" }, "breakOption": { "type": "string", "format": "date", "nullable": true } }, "additionalProperties": false }, "ConceptCommercialRentContractAPIDetailModel": { "type": "object", "properties": { "externalIdentifier": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "ownerReference": { "type": "string", "nullable": true }, "relationReference": { "type": "string", "nullable": true }, "extraRelations": { "type": "array", "items": { "type": "string" }, "nullable": true }, "startDate": { "type": "string", "format": "date", "nullable": true }, "endDate": { "type": "string", "format": "date", "nullable": true }, "automaticExtends": { "type": "boolean" }, "notifyOnExpiration": { "type": "boolean" }, "notifyOnExpirationMonths": { "maximum": 9999, "minimum": 1, "type": "integer", "format": "int32", "nullable": true }, "copyAddresToTenant": { "type": "boolean" }, "paymentMethod": { "type": "integer", "description": "DirectDebit = 1\nBankTransfer = 2", "format": "int32", "nullable": true, "x-enumNames": [ "DirectDebit", "BankTransfer" ] }, "ownerBankAccount": { "type": "string", "nullable": true }, "paymentTermInDays": { "type": "integer", "format": "int32", "nullable": true }, "invoiceInterval": { "type": "integer", "description": "Month = 1\nQuarter = 3\nHalfYear = 6\nYear = 12", "format": "int32", "nullable": true, "x-enumNames": [ "Month", "Quarter", "HalfYear", "Year" ] }, "automaticInvoicingFrom": { "type": "string", "format": "date", "nullable": true }, "indexationInfo": { "$ref": "#/components/schemas/CommercialContractIndexationInfoAPIModel" }, "sendInvoices": { "type": "boolean" }, "extraInvoiceText": { "type": "string", "nullable": true }, "remarks": { "type": "string", "nullable": true }, "noticePeriod": { "type": "integer", "format": "int32", "nullable": true }, "depositTypeName": { "type": "string", "nullable": true }, "depositAmount": { "type": "number", "format": "double", "nullable": true }, "contractRealEstateObjects": { "type": "array", "items": { "type": "string" }, "nullable": true }, "extensionPeriods": { "type": "array", "items": { "$ref": "#/components/schemas/ConceptContractExtensionPeriod" }, "nullable": true }, "breakOption": { "type": "string", "format": "date", "nullable": true } }, "additionalProperties": false }, "APIErrorMessageModel": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "traceId": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32" }, "errors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" }, "nullable": true }, "nullable": true } }, "additionalProperties": false }, "CommercialContractIndexationInfoAPIModel": { "required": [ "graduatedScaleIndexationLines", "indexationMethodName", "indexationOverrule_IncrementRate", "indexationOverrule_MaximumIndexRate", "indexationOverrule_MinimumIndexRate", "indexationUseOverrules", "nextIndexDate", "useGraduatedScaleIndexation" ], "type": "object", "properties": { "indexationMethodName": { "minLength": 1, "type": "string" }, "nextIndexDate": { "type": "string", "format": "date" }, "indexationUseOverrules": { "type": "boolean" }, "indexationOverrule_MinimumIndexRate": { "maximum": 1, "minimum": -1, "type": "number", "format": "double", "nullable": true }, "indexationOverrule_MaximumIndexRate": { "maximum": 1, "minimum": -1, "type": "number", "format": "double", "nullable": true }, "indexationOverrule_IncrementRate": { "maximum": 1, "minimum": -1, "type": "number", "format": "double", "nullable": true }, "useGraduatedScaleIndexation": { "type": "boolean" }, "graduatedScaleIndexationLines": { "type": "array", "items": { "$ref": "#/components/schemas/GraduatedScaleLineModel" }, "nullable": true } }, "additionalProperties": false }, "ConceptContractExtensionPeriod": { "type": "object", "properties": { "numberOfMonths": { "maximum": 9999, "minimum": 1, "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "GraduatedScaleLineModel": { "required": [ "appliedPercentage", "fromPercentage" ], "type": "object", "properties": { "fromPercentage": { "maximum": 1, "minimum": 0, "type": "number", "format": "double" }, "appliedPercentage": { "maximum": 1, "minimum": 0, "type": "number", "format": "double" } }, "additionalProperties": false } } } } ````