Digital Trade API (1.0)

Download OpenAPI specification:Download

Introduction

Digital Trade API allows an agent to manage digital trade (DIAS) process.

Contact

If you have any questions, comments or feedback regarding our APIs, please contact developer@ovipro.fi.

Error codes

Below is the summary of most common error codes included in the response's errorCode field.

HTTP status code Error code Meaning
400 BAD_REQUEST_PARAMETERS Invalid request with e.g. missing mandatory parameters.
400 BAD_REQUEST_BODY Invalid request body with e.g. missing mandatory fields.
400 VALUE_REQUIRED Mandatory value missing for the request.
400 INVALID_TYPE Invalid data type provided for the value in the request.
400 INVALID_STATUS Unable to perform the request operation due to invalid state.
401 UNAUTHORIZED Unauthorized request.
404 INVALID_ID Missing or invalid identifier.
404 INVALID_API_KEY Missing or invalid API key.
410 GONE The requested resource is no longer available.
415 UNSUPPORTED_MEDIA_TYPE Unsupported media type.
500 TECHNICAL_ERROR A technical error has occurred.
503 SERVICE_UNAVAILABLE Service is unavailable.

Banks

Banks API allows you to fetch banks available for digital trade

Fetch list of banks which can be used in digital trade

Fetch list of banks which can be used in digital trade

Authorizations:
bearerAuth
header Parameters
Request-ID
required
string <uuid>
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.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 1,
  • "banks": [
    ]
}

Share Trade

Share Trade API allows you to create, update and fetch digital share trade.

Create a new digital share trade (DIAS)

Create a new digital share trade. This starts the DIAS process.

Authorizations:
bearerAuth
header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Request body contains details of the share trade.

required
object (TradeContactInformation)

Contact information of the initiator.

required
object (FinancialAccount)

Financial payment account, at a payment service provider.

deadlineForSigningSalesDeed
string <date-time> (Timestamp)

Timestamp as defined by ISO 8601 with time offset.

sellerShareCertificateStatus
string (SellerShareCertificateStatus)
Enum: "ONE_OF_SELLERS_HAS_SHARE_CERTIFICATE" "SELLER_BANK_HAS_SHARE_CERTIFICATE"

Status of the sellers share certificate.

required
Array of objects (ShareDocument)

An array of documents.

required
object (SalesDeed)

Sales deed information.

required
Array of objects (ShareSellerParty)

An array of sellers.

required
object (Apartment)

Apartment information which is being traded.

required
Array of objects (ShareBuyerParty)

An array of buyers.

tradeSettlementId
required
string <uuid>

tradeSettlementId related to the digital trade.

Responses

Request samples

Content type
application/json
{
  • "tradeContactInformation": {
    },
  • "agentBankAccount": {
    },
  • "deadlineForSigningSalesDeed": "2021-09-21T17:32:28Z",
  • "sellerShareCertificateStatus": "ONE_OF_SELLERS_HAS_SHARE_CERTIFICATE",
  • "documents": [
    ],
  • "salesDeed": {
    },
  • "sellerParties": [
    ],
  • "apartment": {
    },
  • "buyerParties": [
    ],
  • "tradeSettlementId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b"
}

Response samples

Content type
application/json
{
  • "tradeId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b"
}

Get a status digital share trade (DIAS)

Get a status digital share trade (DIAS).

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "tradeState": {
    },
  • "sellerParties": [
    ],
  • "buyerParties": [
    ]
}

Cancel the digital share trade (DIAS) process

Cancel the digital share trade (DIAS) process.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Contains the details for cancelling the trade

reasonDescription
required
string

Description of the reason for the trade cancelation.

Responses

Request samples

Content type
application/json
{
  • "reasonDescription": "The buyer did not have the funds to pay for the apartment."
}

Response samples

Content type
application/json
{
  • "errorCode": "BAD_REQUEST_PARAMETERS",
  • "message": "Invalid request parameters",
  • "description": "Request parameters are missing or have invalid type.",
  • "errors": [
    ]
}

Execute digital share trade (DIAS) action

Execute digital share trade (DIAS) action. Can be used for starting the signing phase of the trade, when the trade is in BUYER_BANK_APPROVED phase.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Contains the details for updating the share trade

actionCode
required
string
Value: "START_SIGNING"

Action to be taken on the trade. START_SIGNING Starts the signing process of the trade if the trade is in BUYER_BANK_APPROVED phase.

Responses

Request samples

Content type
application/json
{
  • "actionCode": "START_SIGNING"
}

Response samples

Content type
application/json
{
  • "errorCode": "BAD_REQUEST_PARAMETERS",
  • "message": "Invalid request parameters",
  • "description": "Request parameters are missing or have invalid type.",
  • "errors": [
    ]
}

Property Trade

Property Trade API allows you to create, update and fetch digital property trade.

Create a new draft of digital property trade (DIAS)

Create a new draft of digital property trade. This starts the DIAS process.

Authorizations:
bearerAuth
header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Request body contains details of the property trade draft.

object (RealEstateTransferNotice)

Real estate transfer notice information.

object (FinancialAccount)

Financial payment account, at a payment service provider.

required
Array of objects (PortionOfTransfer)

An array containing portions of transfer.

mortgageDeedCodes
required
Array of strings

List of mortgage deed codes.

nonTransferableMortgageDeedCodes
Array of strings

List of non transferable mortgage deed codes.

required
Array of objects (PropertyDocument)

An array of documents.

required
object (TradeContactInformation)

Contact information of the initiator.

deedOfTransferType
required
string (DeedOfTransferType)
Enum: "SALES_DEED" "GIFT_DEED" "PRECONTRACT"

Type of the deed of transfer.

required
Array of objects (ConsentorParty)

An array containing consentorParties.

compensationUponDelayedPaymentInCents
integer >= 0
Default: 0

Amount in cents to be paid as compensation upon delayed payment.

facilityId
string

Identification number of the facility.

required
Array of objects (TransferTerm)

Transfer terms.

transferRealEstateType
required
string (TransferRealEstateType)
Enum: "RESERVE_PARCEL_OF_LAND" "WHOLE_PROPERTY" "DESIGNATED_SHARE" "PARCEL_OF_LAND"

Type of the real estate to be transferred.

required
Array of objects (PropertySellerParty)

An array of sellers.

sellingPriceInCents
required
integer >= 0

Selling price in cents.

required
Array of objects (PropertyBuyerParty)

An array of buyers.

tradeSettlementId
required
string <uuid>

TradeSettlementId related to the trade.

propertyId
string

Property identifier.

Responses

Request samples

Content type
application/json
{
  • "realEstateTransferNotice": {
    },
  • "agentBankAccount": {
    },
  • "portionsOfTransfer": [
    ],
  • "mortgageDeedCodes": [
    ],
  • "nonTransferableMortgageDeedCodes": [
    ],
  • "documents": [
    ],
  • "tradeContactInformation": {
    },
  • "deedOfTransferType": "SALES_DEED",
  • "consentorParties": [
    ],
  • "compensationUponDelayedPaymentInCents": 100000,
  • "facilityId": "123456789",
  • "transferTerms": [
    ],
  • "transferRealEstateType": "WHOLE_PROPERTY",
  • "sellerParties": [
    ],
  • "sellingPriceInCents": 25000000,
  • "buyerParties": [
    ],
  • "tradeSettlementId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b",
  • "propertyId": "123-456-7890-1111"
}

Response samples

Content type
application/json
{
  • "tradeId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b"
}

Get a draft of digital property trade (DIAS)

Get a draft of digital property trade.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Responses

Response samples

Content type
application/json
{
  • "realEstateTransferNotice": {
    },
  • "agentBankAccount": {
    },
  • "portionsOfTransfer": [
    ],
  • "mortgageDeedCodes": [
    ],
  • "nonTransferableMortgageDeedCodes": [
    ],
  • "documents": [
    ],
  • "tradeContactInformation": {
    },
  • "deedOfTransferType": "SALES_DEED",
  • "consentorParties": [
    ],
  • "compensationUponDelayedPaymentInCents": 100000,
  • "facilityId": "123456789",
  • "transferTerms": [
    ],
  • "transferRealEstateType": "WHOLE_PROPERTY",
  • "sellerParties": [
    ],
  • "sellingPriceInCents": 25000000,
  • "buyerParties": [
    ],
  • "tradeSettlementId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b",
  • "propertyId": "123-456-7890-1111",
  • "initiatorPersonId": "1234567",
  • "tradeInitiatedTime": "2021-09-21T17:32:28Z",
  • "events": [
    ],
  • "tradePhase": "COMPLETED",
  • "isTradeCancellable": true
}

Update a draft of digital property trade (DIAS)

Update a draft of digital property trade.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Request body contains details of the property trade draft.

object (RealEstateTransferNotice)

Real estate transfer notice information.

object (FinancialAccount)

Financial payment account, at a payment service provider.

required
Array of objects (PortionOfTransfer)

An array containing portions of transfer.

mortgageDeedCodes
required
Array of strings

List of mortgage deed codes.

nonTransferableMortgageDeedCodes
Array of strings

List of non transferable mortgage deed codes.

required
Array of objects (PropertyDocument)

An array of documents.

required
object (TradeContactInformation)

Contact information of the initiator.

deedOfTransferType
required
string (DeedOfTransferType)
Enum: "SALES_DEED" "GIFT_DEED" "PRECONTRACT"

Type of the deed of transfer.

required
Array of objects (ConsentorParty)

An array containing consentorParties.

compensationUponDelayedPaymentInCents
integer >= 0
Default: 0

Amount in cents to be paid as compensation upon delayed payment.

facilityId
string

Identification number of the facility.

required
Array of objects (TransferTerm)

Transfer terms.

transferRealEstateType
required
string (TransferRealEstateType)
Enum: "RESERVE_PARCEL_OF_LAND" "WHOLE_PROPERTY" "DESIGNATED_SHARE" "PARCEL_OF_LAND"

Type of the real estate to be transferred.

required
Array of objects (PropertySellerParty)

An array of sellers.

sellingPriceInCents
required
integer >= 0

Selling price in cents.

required
Array of objects (PropertyBuyerParty)

An array of buyers.

tradeSettlementId
required
string <uuid>

TradeSettlementId related to the trade.

propertyId
string

Property identifier.

Responses

Request samples

Content type
application/json
{
  • "realEstateTransferNotice": {
    },
  • "agentBankAccount": {
    },
  • "portionsOfTransfer": [
    ],
  • "mortgageDeedCodes": [
    ],
  • "nonTransferableMortgageDeedCodes": [
    ],
  • "documents": [
    ],
  • "tradeContactInformation": {
    },
  • "deedOfTransferType": "SALES_DEED",
  • "consentorParties": [
    ],
  • "compensationUponDelayedPaymentInCents": 100000,
  • "facilityId": "123456789",
  • "transferTerms": [
    ],
  • "transferRealEstateType": "WHOLE_PROPERTY",
  • "sellerParties": [
    ],
  • "sellingPriceInCents": 25000000,
  • "buyerParties": [
    ],
  • "tradeSettlementId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b",
  • "propertyId": "123-456-7890-1111"
}

Response samples

Content type
application/json
{
  • "tradeId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b"
}

Get a draft preview document of digital property trade (DIAS)

Get a draft preview document of the digital property trade.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Accept
required
string
Value: "application/pdf"
Example: application/pdf

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.

Responses

Response samples

Content type
application/json
{
  • "errorCode": "BAD_REQUEST_PARAMETERS",
  • "message": "Invalid request parameters",
  • "description": "Request parameters are missing or have invalid type.",
  • "errors": [
    ]
}

Get configs for a digital property trade (DIAS)

Get configs for a digital property trade (DIAS) based on details of the trade.

Authorizations:
bearerAuth
header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Request body contains details of the property trade needed for getting configs.

mortgageDeedCodes
required
Array of strings

List of mortgage deed codes.

nonTransferableMortgageDeedCodes
Array of strings

List of non transferable mortgage deed codes.

compensationUponDelayedPaymentInCents
integer >= 0
Default: 0

Amount in cents to be paid as compensation upon delayed payment.

sellerBankBusinessId
string

Business ID of the bank in FI99999999 format

buyerBankBusinessId
string

Business ID of the bank in FI99999999 format

facilityId
string

Identification number of the facility.

transferRealEstateType
string
Enum: "WHOLE_PROPERTY" "DESIGNATED_SHARE"

Type of the real estate to be transferred.

Responses

Request samples

Content type
application/json
{
  • "mortgageDeedCodes": [
    ],
  • "nonTransferableMortgageDeedCodes": [
    ],
  • "compensationUponDelayedPaymentInCents": 100000,
  • "sellerBankBusinessId": "FI99999999",
  • "buyerBankBusinessId": "FI99999999",
  • "facilityId": "123456789",
  • "transferRealEstateType": "WHOLE_PROPERTY"
}

Response samples

Content type
application/json
{
  • "deedOfTransferRequiredTerms": [
    ],
  • "options": {
    }
}

Get status of digital property trade (DIAS)

Get status of digital property trade.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Responses

Response samples

Content type
application/json
{
  • "realEstateTransferNotice": {
    },
  • "agentBankAccount": {
    },
  • "portionsOfTransfer": [
    ],
  • "mortgageDeedCodes": [
    ],
  • "nonTransferableMortgageDeedCodes": [
    ],
  • "documents": [
    ],
  • "tradeContactInformation": {
    },
  • "deedOfTransferType": "SALES_DEED",
  • "consentorParties": [
    ],
  • "compensationUponDelayedPaymentInCents": 100000,
  • "facilityId": "123456789",
  • "transferTerms": [
    ],
  • "transferRealEstateType": "WHOLE_PROPERTY",
  • "sellerParties": [
    ],
  • "sellingPriceInCents": 25000000,
  • "buyerParties": [
    ],
  • "tradeSettlementId": "c6d2288d-2ecb-448a-aef3-fd5144920e0b",
  • "propertyId": "123-456-7890-1111",
  • "initiatorPersonId": "1234567",
  • "tradeInitiatedTime": "2021-09-21T17:32:28Z",
  • "kvpSalesDeedPreview": {
    },
  • "kvpSalesDeed": {
    },
  • "tradeRejection": {
    },
  • "events": [
    ],
  • "tradePhase": "COMPLETED",
  • "isTradeCancellable": true
}

Cancel the digital property trade (DIAS) process

Cancel the digital property trade (DIAS) process.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Contains the details for cancelling the trade

reasonDescription
required
string

Description of the reason for the trade cancelation.

Responses

Request samples

Content type
application/json
{
  • "reasonDescription": "The buyer did not have the funds to pay for the apartment."
}

Response samples

Content type
application/json
{
  • "errorCode": "BAD_REQUEST_PARAMETERS",
  • "message": "Invalid request parameters",
  • "description": "Request parameters are missing or have invalid type.",
  • "errors": [
    ]
}

Execute digital property trade (DIAS) action

Execute digital property trade (DIAS) action. Can be used for starting the signing phase of the trade, when the trade is in APPROVAL_PHASES_COMPLETED phase.

Authorizations:
bearerAuth
path Parameters
tradeId
required
string <uuid>
Example: 9031d1c5-7d40-41dd-b2b8-7919a2fc4fe9

Identifier of the share trade

header Parameters
Request-ID
required
string <uuid>
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.

Request Body schema: application/json

Contains the details for updating the property trade

actionCode
required
string
Enum: "START_SIGNING" "SUBMIT_FOR_APPROVALS"

Action to be taken on the trade.

  • START_SIGNING Starts the signing process of the trade if the trade is in APPROVAL_PHASES_COMPLETED phase.
  • SUBMIT_FOR_APPROVALS Submits the trade for approvals when the draft is ok.

Responses

Request samples

Content type
application/json
{
  • "actionCode": "START_SIGNING"
}

Response samples

Content type
application/json
{
  • "errorCode": "BAD_REQUEST_PARAMETERS",
  • "message": "Invalid request parameters",
  • "description": "Request parameters are missing or have invalid type.",
  • "errors": [
    ]
}