Download OpenAPI specification:
Commission API allows the users to manage the commission sharing between agents and agency offices in real estate transactions. This API provides comprehensive functionality for calculating, allocating, and tracking commission distributions based on predefined rules and agreements.
If you have any questions, comments or feedback regarding our APIs, please contact developer@ovipro.fi.
Commission API allows you to manage the commission sharing between agents and agency offices in real estate transactions.
Commission share includes the agents and agency offices who will be paid for the commissions. A commission is based on an invoice, trade settlement or rental settlement.
The commissions to be shared between the agents for the invoice, trade settlement or rental settlement.
ASSIGNMENT_INITIAL_FEE.IN_PROGRESS.| Request-ID required | string <uuid> ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9 A unique id which identifies the HTTP request. The value of this header must be created by the client. This identifier is used for troubleshooting purposes. |
Contains the details for the commission.
| invoiceId required | string <uuid> (InvoiceId) ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... A unique id which identifies the invoice. |
| agencyOfficeId required | string <uuid> (AgencyOfficeId) ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Unique identifier for the agency office in the UUID format. |
| commissionShareType required | string The type of the commission share. |
required | InvoiceFixedAmountShare (object) or InvoicePercentageShare (object) or InvoiceFractionShare (object) (InvoiceShare) |
{- "commissionShareType": "INVOICE",
- "invoiceId": "4a30bb37-96a7-47cc-9dec-f369c5651db4",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "share": {
- "sharingStrategy": "PERCENTAGE",
- "totalShareAmount": 1000000,
- "currencyCode": "EUR",
- "fixedAmountShares": [
- {
- "amount": 296813,
- "agent": {
- "agentId": "62701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "SELLING"
}
}
], - "percentageShares": [
- {
- "percentage": 100,
- "agent": {
- "agentId": "72701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "ASSIGNMENT_HANDLING"
}
}
]
}
}{- "commissionId": "ddc25849-7bc7-43c0-9c3b-602cb03f7806"
}Fetch commissions by using different search criteria. You can combine the search criteria.
| commissionId | Array of strings <uuid> (CommissionId) <= 50 items [ items <uuid >^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... ] Example: commissionId=7bdffe48-0077-4de0-acd4-d9b9b1ab49f8 Search by the commission id to fetch specific commissions. |
| invoiceId | Array of strings <uuid> (InvoiceId) <= 50 items [ items <uuid >^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... ] Example: invoiceId=4a30bb37-96a7-47cc-9dec-f369c5651db4 Search by the invoice id to fetch commissions having specific invoice. |
| tradeSettlementId | Array of strings <uuid> (TradeSettlementId) <= 50 items [ items <uuid >^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... ] Example: tradeSettlementId=4a30bb37-96a7-47cc-9dec-f369c5651db4 Search by the trade settlement id to fetch commission shares having specific trade settlement. |
| rentalSettlementId | Array of strings <uuid> (RentalSettlementId) <= 50 items [ items <uuid >^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... ] Example: rentalSettlementId=4a30bb37-96a7-47cc-9dec-f369c5651db4 Search by the rental settlement id to fetch commission shares having specific rental settlement. |
| startIndex | integer <int32> >= 0 Example: startIndex=20 Return commission shares starting from this index. Indexing starts from 0. |
| size | integer <int32> [ 1 .. 100 ] Default: 40 Example: size=40 Specify the maximum number of items to return for this request. |
| sort | Array of strings <= 2 items [ items^(creationTime|modificationTime)\|(asc|ASC|de... ] Example: sort=creationTime|asc Sort commissions based on the specified fields. Each field must also include a sort order as follows:
|
| Request-ID required | string <uuid> ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9 A unique id which identifies the HTTP request. The value of this header must be created by the client. This identifier is used for troubleshooting purposes. |
{- "totalCount": 3,
- "commissions": [
- {
- "commissionId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
- "commissionShareType": "TRADE_SETTLEMENT",
- "tradeSettlementId": "123e4567-e89b-12d3-a456-426614174000",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "creationTime": "2025-02-21T17:32:28Z",
- "modificationTime": "2025-06-21T17:32:28Z",
- "share": {
- "sharingStrategy": "PERCENTAGE",
- "currencyCode": "EUR",
- "fixedAmountShares": [
- {
- "amount": 300000,
- "agent": {
- "agentId": "62701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "SELLING"
}
}
], - "percentageShares": [
- {
- "percentage": 50,
- "amount": 200000,
- "agent": {
- "agentId": "72701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "ASSIGNMENT_HANDLING"
}
}, - {
- "percentage": 50,
- "amount": 200000,
- "agent": {
- "agentId": "69104577-1921-3b27-9d2b-59cfa492abc5",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "ASSIGNMENT_HANDLING"
}
}
]
}
}, - {
- "commissionId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
- "commissionShareType": "RENTAL_SETTLEMENT",
- "rentalSettlementId": "123e4567-e89b-12d3-a456-426614174000",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "creationTime": "2021-09-21T17:32:28Z",
- "modificationTime": "2021-09-21T17:32:28Z",
- "share": {
- "sharingStrategy": "FRACTION",
- "currencyCode": "EUR",
- "fractionShares": [
- {
- "divisible": 1,
- "divider": 3,
- "amount": 100000,
- "agent": {
- "agentId": "62701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "SELLING"
}
}, - {
- "divisible": 2,
- "divider": 3,
- "amount": 200000,
- "agent": {
- "agentId": "69104577-1921-3b27-9d2b-59cfa492abc5",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "ASSIGNMENT_HANDLING"
}
}
]
}
}, - {
- "commissionId": "c3d4e5f6-a7b8-4c9d-8e1f-2a3b4c5d6e7f",
- "commissionShareType": "INVOICE",
- "invoiceId": "123e4567-e89b-12d3-a456-426614174000",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "creationTime": "2023-09-21T17:32:28Z",
- "modificationTime": "2024-09-23T15:32:28Z",
- "isCommissionShareInSyncWithInvoice": true,
- "share": {
- "sharingStrategy": "FIXED_AMOUNT",
- "currencyCode": "EUR",
- "fixedAmountShares": [
- {
- "amount": 300000,
- "amountVatIncluded": 376500,
- "agent": {
- "agentId": "62701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "SELLING"
}
}, - {
- "amount": 200000,
- "amountVatIncluded": 245500,
- "agent": {
- "agentId": "69104577-1921-3b27-9d2b-59cfa492abc5",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "ASSIGNMENT_HANDLING"
}
}
]
}
}
]
}Update details for the specified commission.
| commissionId required | string <uuid> ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: ddc25849-7bc7-43c0-9c3b-602cb03f7806 Unique commission identifier in UUID format. |
| Request-ID required | string <uuid> ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9 A unique id which identifies the HTTP request. The value of this header must be created by the client. This identifier is used for troubleshooting purposes. |
Contains the details for the commission share.
| sharingStrategy required | string Value: "FIXED_AMOUNT" The strategy used for sharing the commission. When using only fixed amounts, this must be set to |
| totalShareAmount required | integer (CommissionTotalShareAmount) [ 0 .. 10000000000 ] The total amount excluding VAT to be shared between the agents and/or agency offices in the currency's minor unit. For example, if the currency is EUR, the value is in cents. |
| currencyCode required | string (CurrencyCode) = 3 characters ^[A-Z]{3}$ Currency code as specified in ISO 4217 with alphabetic code. |
required | Array of AgentCommissionShareInFixedAmount (object) or AgencyOfficeCommissionShareInFixedAmount (object) non-empty Array of fixed amount shares. When using only fixed amounts, the sum of these shares must equal the total amount of costs that are included in the commission. |
{- "sharingStrategy": "PERCENTAGE",
- "totalShareAmount": 1000000,
- "currencyCode": "EUR",
- "percentageShares": [
- {
- "percentage": 100,
- "agent": {
- "agentId": "62701576-2621-4a27-8d2b-63cea492abb6",
- "agencyOfficeId": "7bdffe48-0077-4de0-acd4-d9b9b1ab49f8",
- "roleCode": "SELLING"
}
}
]
}{ }Delete commission sharing. If commission sharing is related to an invoice, invoice must be in DRAFT or READY_FOR_APPROVAL state. If commission sharing is related to a trade settlement or rental settlement, settlement must be in IN_PROGRESS state.
| commissionId required | string <uuid> ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: ddc25849-7bc7-43c0-9c3b-602cb03f7806 Unique commission identifier in UUID format. |
| Request-ID required | string <uuid> ^([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[8... Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9 A unique id which identifies the HTTP request. The value of this header must be created by the client. This identifier is used for troubleshooting purposes. |
{- "errorCode": "BAD_REQUEST_PARAMETERS",
- "message": "Invalid request parameters",
- "description": "Request parameters are missing or have invalid type.",
- "errors": [
- {
- "target": "assignmentId",
- "errorCode": "VALUE_REQUIRED",
- "message": "Mandatory request parameter assignmentId is missing"
}, - {
- "target": "authorId",
- "errorCode": "INVALID_TYPE",
- "message": "Request parameter authorId must be a string"
}
]
}