Skip to content

Financing Request

The resource represents financing requests. Consumers can leave contact information and terms of financing. Financing requests are forwarded to random mortgage providers (based on a sophisticated algorithm).

POST /financing/construction/v2/contact/financingrequest

Supported media types:
XML
JSON

Request

POST https://rest.immobilienscout24.de/restapi/api/financing/construction/v2/contact/financingrequest

POST https://rest.sandbox-immobilienscout24.de/restapi/api/financing/construction/v2/contact/financingrequest

XML:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:financingRequest xmlns:ns2="http://rest.immobilienscout24.de/schema/financing/construction/2.0"
                        xmlns:ns3="http://rest.immobilienscout24.de/schema/financing/construction/1.0">
    <contactRequest>
        <financingTerms>
            <geoCode>1276003001046</geoCode>
            <amortizationRate>2.00</amortizationRate>
            <employment>EMPLOYED</employment>
            <fixedNominalInterestRate>FIFTEEN_YEARS</fixedNominalInterestRate>
            <financing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:BuildingFinancing">
                <purchasePrice>250000.00</purchasePrice>
                <ownFunds>50000.00</ownFunds>
                <additionalCosts>0.00</additionalCosts>
                <financingStart>IN_BETWEEN_THREE_AND_SIX_MONTHS</financingStart>
                <projectState>LAND_PROPERTY_AND_COMPANY_EXIST</projectState>
            </financing>
        </financingTerms>
        <contactAddress>
            <street>Meine Musterstraße</street>
            <streetNumber>123a</streetNumber>
            <postalCode>13507</postalCode>
            <location>Berlin</location>
        </contactAddress>
        <exposeId>123123123</exposeId>
        <objectId>BAH-12a</objectId>
        <useType>OWNER_OCCUPATION</useType>
        <salutation>MR</salutation>
        <surname>Mustermann</surname>
        <forename>Max</forename>
        <email>max.mustermann@is24-test.de</email>
        <phoneNumber>030278687686</phoneNumber>
        <message>Guten Tag</message>
        <contactChannel>TELEPHONE</contactChannel>
        <availability>SIXTEEN_TO_NINETEEN</availability>
        <dateOfBirth>1990-10-01</dateOfBirth>
        <bank>Parkbank</bank>
        <numberOfBorrowers>2</numberOfBorrowers>
        <currentCredits>20000</currentCredits>
        <kfwPromotion>true</kfwPromotion>
        <partnerTracking>partnerTracking</partnerTracking>
        <netIncome>40000</netIncome>
        <netIncomeRange>OVER_3000_UPTO_3500</netIncomeRange>
        <dpaAccepted>true</dpaAccepted>
        <arvatoScoringPermitted>true</arvatoScoringPermitted>
        <borrowerRelationship>MARRIED</borrowerRelationship>
        <nationality>German</nationality>
        <workContractType>LIMITED</workContractType>
        <workContractEndDate>1599691539417</workContractEndDate>
        <numberOfChildren>2</numberOfChildren>
        <maritalStatus>MARRIED</maritalStatus>
        <secondBorrower>
            <firstName>John</firstName>
            <lastName>Doe</lastName>
            <dateOfBirth>1987-06-03</dateOfBirth>
            <nationality>German</nationality>
            <employment>FREELANCER</employment>
            <workContractType>PERMANENT</workContractType>
            <workContractEndDate>1599691539417</workContractEndDate>
            <maritalStatus>MARRIED</maritalStatus>
            <income>
                <salary>100000</salary>
                <numberOfSalaries>1</numberOfSalaries>
                <alimony>30000</alimony>
                <pension>10000</pension>
                <rental>20000</rental>
                <childBenefits>200</childBenefits>
                <other>400</other>
            </income>
            <spending>
                <livingCost>600</livingCost>
                <rent>600</rent>
                <buildingSaving>300000</buildingSaving>
                <saving>400000</saving>
                <alimony>10000</alimony>
                <healthInsurance>500</healthInsurance>
                <pensionInsurance>100</pensionInsurance>
                <creditRate>0</creditRate>
                <numberOfVehicles>1</numberOfVehicles>
                <other>100</other>
            </spending>
        </secondBorrower>
        <financingObject>
            <street>Andreasstr</street>
            <streetNumber>10</streetNumber>
            <postalCode>10243</postalCode>
            <city>Berlin</city>
            <type>HOUSE_BUY</type>
            <subType>TERRACE_HOUSE</subType>
            <livingArea>100</livingArea>
            <siteArea>130</siteArea>
            <constructionYear>1985</constructionYear>
            <rooms>3</rooms>
            <hasLift>true</hasLift>
            <hasParking>false</hasParking>
            <hasStorage>false</hasStorage>
            <hasOutdoorArea>true</hasOutdoorArea>
            <lastModified>1599691539417</lastModified>
        </financingObject>
        <income>
            <salary>100000</salary>
            <numberOfSalaries>1</numberOfSalaries>
            <alimony>30000</alimony>
            <pension>10000</pension>
            <rental>20000</rental>
            <childBenefits>200</childBenefits>
            <other>400</other>
        </income>
        <spending>
            <livingCost>600</livingCost>
            <rent>600</rent>
            <buildingSaving>300000</buildingSaving>
            <saving>400000</saving>
            <alimony>10000</alimony>
            <healthInsurance>500</healthInsurance>
            <pensionInsurance>100</pensionInsurance>
            <creditRate>0</creditRate>
            <numberOfVehicles>1</numberOfVehicles>
            <other>100</other>
        </spending>
        <title>PROFESSOR_DOCTOR</title>
    </contactRequest>
</ns3:financingRequest>

JSON:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
{
   "contactRequest":{
      "financingTerms":{
         "amortizationRate":2.00,
         "geoCode":"1276003001046",
         "employment":"EMPLOYED",
         "fixedNominalInterestRate":"FIFTEEN_YEARS",
         "financing":{
            "type":"BuildingFinancing",
            "purchasePrice":250000.00,
            "ownFunds":50000.00,
            "additionalCosts":0.00,
            "financingStart":"IN_BETWEEN_THREE_AND_SIX_MONTHS",
            "projectState":"LAND_PROPERTY_AND_COMPANY_EXIST"
         }
      },
      "useType":"OWNER_OCCUPATION",
      "salutation":"MR",
      "surname":"Mustermann",
      "forename":"Max",
      "email":"max.mustermann@is24-test.de",
      "phoneNumber":"030278687686",
      "message":"Guten Tag",
      "contactChannel":"TELEPHONE",
          "availability":"SIXTEEN_TO_NINETEEN",
      "contactAddress":{
         "street":"Meine Musterstraße",
         "streetNumber":"123a",
         "postalCode":"13507",
         "location":"Berlin"
      },
      "exposeId":"213123123",
      "objectId":"BAH-12a",
      "dateOfBirth":"2010-10-01",
      "bank":"Parkbank",
      "numberOfBorrowers":2,
      "currentCredits":20000,
      "kfwPromotion":true,
      "partnerTracking":"partnerTracking",
      "netIncome":3500,
      "netIncomeRange":"OVER_3000_UPTO_3500",
      "dpaAccepted":true,
      "arvatoScoringPermitted":true,
      "borrowerRelationship":"MARRIED",
      "nationality":"German",
      "workContractType":"LIMITED",
      "workContractEndDate":1599691539417,
      "numberOfChildren":2,
      "maritalStatus":"MARRIED",
      "secondBorrower":{
         "firstName":"John",
         "lastName":"Doe",
         "dateOfBirth":"1987-06-03",
         "nationality":"German",
         "employment":"FREELANCER",
         "workContractType":"PERMANENT",
         "workContractEndDate":1599691539417,
         "maritalStatus":"MARRIED",
         "income":{
            "salary":100000,
            "numberOfSalaries":1,
            "alimony":30000,
            "pension":10000,
            "rental":20000,
            "childBenefits":200,
            "other":400
         },
         "spending":{
            "livingCost":600,
            "rent":600,
            "buildingSaving":300000,
            "saving":400000,
            "alimony":10000,
            "healthInsurance":500,
            "pensionInsurance":100,
            "creditRate":0,
            "numberOfVehicles":1,
            "other":100
         }
      },
      "financingObject":{
         "street":"Andreasstr",
         "streetNumber":"10",
         "postalCode":"10243",
         "city":"Berlin",
         "type":"HOUSE_BUY",
         "subType":"TERRACE_HOUSE",
         "livingArea":100,
         "siteArea":130,
         "constructionYear":1985,
         "rooms":3,
         "hasLift":true,
         "hasParking":false,
         "hasStorage":false,
         "hasOutdoorArea":true,
         "lastModified":"1599691539417"
      },
      "income":{
         "salary":100000,
         "numberOfSalaries":1,
         "alimony":30000,
         "pension":10000,
         "rental":20000,
         "childBenefits":200,
         "other":400
      },
      "spending":{
         "livingCost":600,
         "rent":600,
         "buildingSaving":300000,
         "saving":400000,
         "alimony":10000,
         "healthInsurance":500,
         "pensionInsurance":100,
         "creditRate":0,
         "numberOfVehicles":1,
         "other":100
      },
      "title":"PROFESSOR_DOCTOR"
   }
}

Body parameters

PARAMETER DESCRIPTION MANDATORY
contactRequest.financingTerms .geoCode Geo code of the search region (e.g. 1276003001046 = Berlin-Mitte). When geo code is provided no postal code is needed yes
contactRequest.financingTerms .postalCode Postal code of the search region. When postal code is provided no geo code is needed yes
contactRequest.financingTerms .amortizationRate Tilgung p.a. in % yes
contactRequest.financingTerms .employment CIVIL_SERVANT, EMPLOYED, FREELANCER, PENSIONER, SELFEMPLOYED, UNEMPLOYED, WORKER, HOUSEWIFE
German translation (same order as above): Beamter, Angestellt, Freiberufler, Rentner, Selbstständig, Arbeitssuchend, Arbeiter/in, Hausfrau/mann
yes
contactRequest.financingTerms .employmentSector MEDICAL no
contactRequest.financingTerms .fixedNominalInterestRate FIVE_YEARS, TEN_YEARS, FIFTEEN_YEARS, TWENTY_YEARS, THIRTY_YEARS, FORTY_YEARS yes
contactRequest.financingTerms .financing This object covers the details of the financing no
contactRequest.financingTerms .financing.type BuildingFinancing (Finanzierung eines Neubaus), PurchaseFinancing (Finanzierung eines Kaufs), FollowupFinancing (Anschlussfinanzierung) for further information on FinancingType. yes
contactrequest.useType OWNER_OCCUPATION, PARTIALLY_RENTING, RENTING, UNKNOWN yes
contactRequest.salutation MR, MRS, UNKNOWN no
contactRequest.surname Second name of the requester yes
contactRequest.forename First name of the requester yes
contactRequest.email Email address of the requester yes
contactRequest.phoneNumber Phonenumber of the requester yes
contactRequest.message Message of the requester no
contactRequest.contactChannel TELEPHONE, MEETING_AT_PROVIDERS_PLACE, MEETING_AT_REQUESTERS_PLACE, EMAIL, UNKNOWN yes
contactRequest.availability ALL_DAY, EIGHT_TO_TWELVE, TWELVE_TO_SIXTEEN, SIXTEEN_TO_NINETEEN, UNKNOWN, TEN_UNTIL_ELEVEN, ELEVEN_UNTIL_TWELVE, TWELVE_UNTIL_THIRTEEN, THIRTEEN_UNTIL_FOURTEEN, FOURTEEN_UNTIL_FIFTEEN, FIFTEEN_UNTIL_SIXTEEN, SIXTEEN_UNTIL_SEVENTEEN, SEVENTEEN_UNTIL_EIGHTEEN, EIGHTEEN_UNTIL_NINETEEN, NINETEEN_UNTIL_TWENTY, TWENTY_UNTIL_TWENTYONE no
contactRequest.bank the main bank of the requester no
contactRequest.dateOfBirth the date of birth of the requester no
contactRequest.numberOfBorrowers number of borrowers exists no
contactRequest.currentCredits sum of running credits of the requester no
contactRequest.kfwPromotion requester is interested in KfW consulting no
**Address of the requester:**
contactRequest.contactAddress .street Street of the requester no
contactRequest.contactAddress .streetNumber Street number of the requester no
contactRequest.contactAddress .postalCode PostalCode of the requester no
contactRequest.contactAddress .location Location of the requester no
**Expose Related fields:**
contactRequest.exposeId If contact request is related to an expose no
contactRequest.objectId If contact request is related to an expose; it is the field realEstate.externalId returned by the ExposeAPI no
contactRequest.partnerTracking If the contact request comes from a partner, this field should contain the id of the contact request on the partner's side no
contactRequest.netIncome Net income of the requester no
contactRequest.netIncomeRange BELOW_500, OVER_500_UPTO_1000, OVER_1000_UPTO_1500, OVER_1500_UPTO_2000, OVER_2000_UPTO_3000, OVER_2000_UPTO_2500, OVER_2500_UPTO_3000, OVER_3000_UPTO_4000, OVER_3000_UPTO_3500, OVER_3500_UPTO_4000, OVER_4000_UPTO_5000, OVER_5000 no
contactRequest.primaryAppointmentDate First available date of the requester no
contactRequest.secondaryAppointmentDate Second available date of the requester no
contactRequest.primaryAppointmentTime ALL_DAY, EIGHT_TO_TWELVE, TWELVE_TO_SIXTEEN, SIXTEEN_TO_NINETEEN, UNKNOWN, TEN_UNTIL_ELEVEN, ELEVEN_UNTIL_TWELVE, TWELVE_UNTIL_THIRTEEN, THIRTEEN_UNTIL_FOURTEEN, FOURTEEN_UNTIL_FIFTEEN, FIFTEEN_UNTIL_SIXTEEN, SIXTEEN_UNTIL_SEVENTEEN, SEVENTEEN_UNTIL_EIGHTEEN, EIGHTEEN_UNTIL_NINETEEN, NINETEEN_UNTIL_TWENTY, TWENTY_UNTIL_TWENTYONE no
contactRequest.secondaryAppointmentTime ALL_DAY, EIGHT_TO_TWELVE, TWELVE_TO_SIXTEEN, SIXTEEN_TO_NINETEEN, UNKNOWN, TEN_UNTIL_ELEVEN, ELEVEN_UNTIL_TWELVE, TWELVE_UNTIL_THIRTEEN, THIRTEEN_UNTIL_FOURTEEN, FOURTEEN_UNTIL_FIFTEEN, FIFTEEN_UNTIL_SIXTEEN, SIXTEEN_UNTIL_SEVENTEEN, SEVENTEEN_UNTIL_EIGHTEEN, EIGHTEEN_UNTIL_NINETEEN, NINETEEN_UNTIL_TWENTY, TWENTY_UNTIL_TWENTYONE no
contactRequest.dpaAccepted Accepted the Data Processing Agreement no
contactRequest.arvatoScoringPermitted Agree with sending data to Arvato to generate score no
contactRequest.borrowerRelationship MARRIED, LIVING_TOGETHER, OTHER no
contactRequest.nationality Nationality of the requester no
contactRequest.workContractType LIMITED, PERMANENT, PROBATION no
contactRequest.workContractEndDate When the requester's work contract ends no
contactRequest.numberOfChildren Number of children the requester has no
contactRequest.maritalStatus SINGLE, MARRIED, SEPARATED, DIVORCED, WIDOWED, PARTNERSHIP no
contactRequest.title NO_TITLE, DOCTOR, PROFESSOR, PROFESSOR_DOCTOR no
contactRequest.experiments Experiments in contact request no
**Income Related fields:**
contactRequest.income.salary Salary of the requester no
contactRequest.income.numberOfSalaries Number of salaries per year no
contactRequest.income.alimony An allowance for support made under court order to a divorced person by the former spouse no
contactRequest.income.pension Pension or retirement payments received by the requester no
contactRequest.income.rental Income from renting and/or leasing no
contactRequest.income.childBenefits Child benefits received by the requester no
contactRequest.income.other Amount of income coming from other sources no
**Spending Related fields:**
contactRequest.spending.livingCost Fixed cost of living of the requester no
contactRequest.spending.rent Cost of rent of the requester no
contactRequest.spending.buildingSaving Monthly building saving contributions no
contactRequest.spending.saving Other regular monthly savings benefits no
contactRequest.spending.alimony An allowance for support made under court order to a divorced person by the former spouse no
contactRequest.spending.healthInsurance Health insurance costs of the requester no
contactRequest.spending.pensionInsurance Monthly amounts for a private life insurance and/or pension insurance no
contactRequest.spending.creditRate Monthly rate for loans no
contactRequest.spending.numberOfVehicles Number of vehicles owned by the requester no
contactRequest.spending.other Other fixed expenses of the requester no
**Second Borrower Related fields:**
contactRequest.secondBorrower.firstName First name of the second requester yes
contactRequest.secondBorrower.lastName Last name of the second requester yes
contactRequest.secondBorrower.dateOfBirth Date of birth of the second requester yes
contactRequest.secondBorrower.nationality Nationality of the second requester yes
contactRequest.secondBorrower.employment CIVIL_SERVANT, EMPLOYED, FREELANCER, PENSIONER, SELFEMPLOYED, UNEMPLOYED, WORKER, HOUSEWIFE yes
contactRequest.secondBorrower.workContractType LIMITED, PERMANENT, PROBATION no
contactRequest.secondBorrower.workContractEndDate When the second requester's work contract ends no
contactRequest.secondBorrower.maritalStatus SINGLE, MARRIED, SEPARATED, DIVORCED, WIDOWED, PARTNERSHIP yes
**Second Borrower Income Related fields:**
contactRequest.secondBorrower.income.salary Salary of the second requester no
contactRequest.secondBorrower.income.numberOfSalaries Number of salaries per year no
contactRequest.secondBorrower.income.alimony An allowance for support made under court order to a divorced person by the former spouse no
contactRequest.secondBorrower.income.pension Pension or retirement payments received by the second requester no
contactRequest.secondBorrower.income.rental Income from renting and/or leasing no
contactRequest.secondBorrower.income.childBenefits Child benefits received by the second requester no
contactRequest.secondBorrower.income.other Amount of income coming from other sources no
**Second Borrower Spending Related fields:**
contactRequest.secondBorrower.spending.livingCost Fixed cost of living of the second requester no
contactRequest.secondBorrower.spending.rent Cost of rent of the second requester no
contactRequest.secondBorrower.spending.buildingSaving Monthly building saving contributions no
contactRequest.secondBorrower.spending.saving Other regular monthly savings benefits no
contactRequest.secondBorrower.spending.alimony An allowance for support made under court order to a divorced person by the former spouse no
contactRequest.secondBorrower.spending.healthInsurance Health insurance costs of the second requester no
contactRequest.secondBorrower.spending.pensionInsurance Monthly amounts for a private life insurance and/or pension insurance no
contactRequest.secondBorrower.spending.creditRate Monthly rate for loans no
contactRequest.secondBorrower.spending.numberOfVehicles Number of vehicles owned by the second requester no
contactRequest.secondBorrower.spending.other Other fixed expenses of the second requester no
**Financing Object Related fields:**
contactRequest.financingObject.street Street of the financing object yes
contactRequest.financingObject.streetNumber Street number of the financing object yes
contactRequest.financingObject.postalCode Postal code of the financing object yes
contactRequest.financingObject.city City of the financing object yes
contactRequest.financingObject.type APARTMENT_BUY, HOUSE_BUY, LIVING_BUY_SITE yes
contactRequest.financingObject.subType SINGLE_FAMILY_HOUSE, SEMIDETACHED_HOUSE, TERRACE_HOUSE, MULTI_FAMILY_HOUSE, HALF_BASEMENT, GROUND_FLOOR, APARTMENT, ROOF_STOREY, MAISONETTE, LOFT no
contactRequest.financingObject.livingArea Living area of financing object no
contactRequest.financingObject.siteArea Site area of financing object no
contactRequest.financingObject.constructionYear Construction year of financing object no
contactRequest.financingObject.rooms Number of rooms in financing object no
contactRequest.financingObject.hasLift Whether the financing object has a lift no
contactRequest.financingObject.hasParking Whether the financing object has parking places no
contactRequest.financingObject.hasStorage Whether the financing object has storage no
contactRequest.financingObject.hasOutdoorArea Whether the financing object has an outdoor area no
contactRequest.financingObject.lastModified Last time the financing object was modified no

Financing types

financing.type = BuildingFinancing:

PARAMETER VALUE MANDATORY
contactrequest.financingTerms .financing.purchasePrice purchase price of the object yes
contactrequest.financingTerms .financing.ownFunds equity capital yes
contactrequest.financingTerms .financing.additionalCosts side costs yes
contactrequest.financingTerms .financing.financingStart NA, IN_LESS_THAN_THREE_MONTH, IN_BETWEEN_THREE_AND_SIX_ MONTHS, IN_MORE_THAN_SIX_MONTH yes
contactrequest.financingTerms .financing.projectState NA, NOT_YET_IN_PLANNING, LAND_PROPERTY_EXISTS, LAND_PROPERTY_AND_COMPANY_ EXIST, PROPERTY_FOUND, NOTARY_APPOINTMENT_PLANNED, ON_BUILDER_SEARCH yes

financing.type = PurchaseFinancing:

PARAMETER VALUE MANDATORY
contactrequest.financingTerms .financing.purchasePrice purchase prise of the object yes
contactrequest.financingTerms .financing.ownFunds equity capital yes
contactrequest.financingTerms .financing.additionalCosts side costs yes
contactrequest.financingTerms .financing.financingStart NA, IN_LESS_THAN_THREE_MONTH, IN_BETWEEN_THREE_AND_SIX_ MONTHS, IN_MORE_THAN_SIX_MONTH yes
contactrequest.financingTerms .financing.projectState NA, REAL_ESTATE_VISITED, REAL_ESTATE_NOT_YET_VISITED, PURCHASING_NEGOTIATIONS, OBJECT_FOUND, NOTARY_APPOINTMENT_PLANNED, ON_OBJECT_SEARCH yes

financing.type=FollowupFinancing:

PARAMETER VALUE MANDATORY
contactrequest.financingTerms .financing.propertyValue property value yes
contactrequest.financingTerms .financing.remainingDebt remaining debts yes
contactrequest.financingTerms .financing.financingStart NA, IN_LESS_THAN_ONE_YEAR, IN_ONE_YEAR, IN_TWO_YEARS, IN_THREE_YEARS, IN_FOUR_YEARS, IN_FIVE_YEARS yes

Validation

The resource returns a list of validation errors as shown below. Each message has messageCode and a message field. If the error is connected to a certain field in the request the message object has two additional fields: parameterName and reason.

  • parameterName: the path to field e.g. contactRequest.postalCode
  • reason: why is this field wrong
    1
    2
    3
    4
    5
    6
    7
    8
    {
      "message": [{
        "messageCode": "ERROR_COMMON_SCHEMA_VALIDATION_FAILED",
        "message": "The request is not schema valid. [Invalid parameter: parameterName=contactAddress.postalCode reason=The request is not schema valid. [postal code does not exists]]",
        "parameterName": "contactAddress.postalCode",
        "reason": "Invalid parameter: parameterName=contactAddress.postalCode reason=The request is not schema valid. [postal code does not exists]"
      }]
    }
    

Basic validation All required fields described above are validated if they exist. Besides that all fields in the request body must have the correct type (date, string, number).

Enum validation The following fields are matched to enum values. If the value can not be matched, a validation error is thrown with one of the follwing parameterNames:

  • contactRequest.contactChannel
  • contactRequest.salutation
  • contactRequest.useType
  • contactRequest.availability
  • contactRequest.financingTerms.employment
  • contactRequest.financingTerms.employmentSector
  • contactRequest.financingTerms.fixedNominalInterestRate
  • contactRequest.financingTerms.financing.projectState
  • contactRequest.financingTerms.financing.type
  • contactRequest.financingTerms.financing.financingStart
  • contactRequest.netIncomeRange
  • contactRequest.primaryAppointmentTime
  • contactRequest.secondaryAppointmentTime
  • contactRequest.borrowerRelationship
  • contactRequest.workContractType
  • contactRequest.maritalStatus
  • contactRequest.title
  • contactRequest.secondBorrower.employment
  • contactRequest.secondBorrower.workContractType
  • contactRequest.secondBorrower.maritalStatus
  • contactRequest.financingObject.type
  • contactRequest.financingObject.subType

Location Validation In the financingTerms object you need to provide either a valid geoCode or postalCode:

  • If geoCode is not 13 digits long or if it does not exist: parameterName=contactRequest.financingTerms.geoCode
  • If postalCode is no existing German postal code: parameterName=contactRequest.financingTerms.postalCode
  • If both are missing: parameterName=location

Blacklisting We do some blacklist checks for most of the String fields. If a blacklist error occurs it is stated in the reason field of the message object. (e.g. " ... [SURNAME is blacklisted]"). The parameterName contains the path of the field, as described above.

Address Validation If you provide an address, it is validated the following way:

  • all fields are required
  • the postalCode must be an existing German postalCode

Phonenumber parameterName=contactRequest.phoneNumber

The phone number must be a digit. Besides that we use some advanced phonenumber parsing. But if the phone number really exists, you should not worry.


How to avoid the 15 min timeout

When the API user does not use the arvato/extended flow, there is a maximum 15 minute waiting time, until the requests get picked up by a task and are processed. This however can be avoided. When the POST request is made, the API returns an ID and a Token. These can be used to make a second request.

PUT /financing/construction/v2/contact/${ID}?token=${TOKEN}

with the body

1
2
3
{
  "scoringPermitted": false
}

This will make the financing request be processed immediately.