Skip to content

Interest Rates

This resource provides a method to import interest rates of a mortgage provider into the Baufi-Manager.

Loan ranges:

POST /financing/construction/v1.0/provider/{providerId}/loanranges

Base rates:

POST /financing/construction/v1.0/provider/{providerId}/interestrates

Supported media types:
JSON

This method can be used to post interest rates for a given provider. There are to ways to configure interest rates: - by usage of base rates (Basisraten) - by providing a list of loan ranges (Darlehensbereiche)

Request

Base rate

Path parameters
PARAMETER DESCRIPTION
providerId the id of the mortgage provider
Query parameters
parameter sub parameter value description
usingGeneralBaseRate default true determines if a general baserate is used or if the baserate depends on the FixedNominalInterestRates
generalBaseRate (Basiszins) default 0
baseRatePerFixedInterestRateSpreads (Basiszins pro Zinsbindung): need to be provided only when "usingGeneralBaseRate" set to false
spread default 0 the baserate for the given nominal interest rate
fixedNominalInterestRate FIVE_YEARS, TEN_YEARS, FIFTEEN_YEARS, TWENTY_YEARS, THIRTY_YEARS, FORTY_YEARS
margin default 0
**interest spreads:** [fixedInterestRateSpreads, amortisationSpreads, loanToValueRatioSpreads, loanRangeSpreads, employmentSpreads] Interest spreads are lists of spreads grouped by a certain type. For example the employmentSpreads consist of spreads for certain employments (pensioner, employed...). Each spread object consists of a spread value and an enum value. Some of them also have a flag which indicates if the provider offers loans for the given type. There should be one spread object for each enum type. If some types are missing, default values are set for the missing types. Multiple spreads for the same type result in a status 412.
fixedInterestRateSpreads
spread (Auf- / Abschlag) default 0 the spread value for the given nominal interest rate
enabled default false true if the provider should offer loans for the given nominal interest rate
fixedNominalInterestRate see baseRatePerFixedInterestRateSpreads
amortisationSpreads (Tilgungsrate)
spread (Auf- / Abschlag) default 0 the spread value for the given amortisation rate
enabled default false true if the provider should offer loans for the given amortization rate
amortizationRange AMORTISATION_ONE_TO_TWO (1-1,99%), AMORTISATION_TWO_TO_THREE (2-2,99%), AMORTISATION_THREE_TO_FOUR (3-3,99%), AMORTISATION_FOUR_TO_FIVE (4-4,99%), AMORTISATION_FIVE_AND_ABOVE (>=5%)
loanToValueRatioSpreads (Beleihungsauslauf)
spread (Auf- / Abschlag) default 0 the spread value for the given loan to value ratio
enabled default false true if the provider should offer loans for the given loan to value ratio
lanToValueRatioRange UNTIL_FIFTY (<=50%), ABOVE_FIFTY_TO_SIXTY (<=60%), ABOVE_SIXTY_TO_SEVENTY (<=70%), ABOVE_SEVENTY_TO_EIGHTY (<=80%), ABOVE_EIGHTY_TO_EIGHTY_FIVE (<=85%), ABOVE_EIGHTY_FIVE_TO_NINETY (<=90%), ABOVE_NINETY_TO_NINETY_FIVE (<=95%), ABOVE_NINETY_FIVE_TO_HUNDRED (<=100%), ABOVE_HUNDRED (>100%)
loanRangeSpreads (Darlehenssumme)
spread (Auf- / Abschlag) default 0 the spread value for the given loan range
enabled default false true if the provider should offer loans for the given loan range
baseRateloanRange BELOW_50000 (< 50000€), FROM_50000_TO_BELOW_100000 (< 100000€), FROM_100000_TO_BELOW_150000 (< 150000€), FROM_150000_TO_BELOW_200000 (< 200000€), FROM_200000_TO_BELOW_300000 (< 300000€), FROM_300000_AND_ABOVE (>= 300000€)
employmentSpreads (Kundengruppe)
spread (Auf- / Abschlag) default 0 the spread value for the given employment type
employment CIVIL_SERVANT (Beamter), EMPLOYED (Angestellt), FREELANCER (Freiberufler), PENSIONER (Rentner), SELFEMPLOYED (Selbständig)

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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
{
   "interestSpread":{
      "usingGeneralBaseRate":false,
      "generalBaseRate":0,
      "margin":0,
      "baseRatePerFixedInterestRateSpreads":[
         {
            "spread":1,
            "fixedNominalInterestRate":"FIVE_YEARS"
         },
         {
            "spread":1,
            "fixedNominalInterestRate":"TEN_YEARS"
         },
         {
            "spread":1,
            "fixedNominalInterestRate":"FIFTEEN_YEARS"
         },
         {
            "spread":1,
            "fixedNominalInterestRate":"TWENTY_YEARS"
         }
      ],
      "fixedInterestRateSpreads":[
         {
            "spread":1,
            "enabled":true,
            "fixedNominalInterestRate":"FIVE_YEARS"
         },
         {
            "spread":1,
            "enabled":true,
            "fixedNominalInterestRate":"TEN_YEARS"
         },
         {
            "spread":1,
            "enabled":true,
            "fixedNominalInterestRate":"FIFTEEN_YEARS"
         },
         {
            "spread":1,
            "enabled":true,
            "fixedNominalInterestRate":"TWENTY_YEARS"
         }
      ],
      "amortisationSpreads":[
         {
            "spread":0.5,
            "enabled":true,
            "amortisationRange":"AMORTISATION_ONE_TO_TWO"
         },
         {
            "spread":0.5,
            "enabled":true,
            "amortisationRange":"AMORTISATION_TWO_TO_THREE"
         },
         {
            "spread":0.5,
            "enabled":true,
            "amortisationRange":"AMORTISATION_THREE_TO_FOUR"
         },
         {
            "spread":0.5,
            "enabled":true,
            "amortisationRange":"AMORTISATION_FOUR_TO_FIVE"
         },
         {
            "spread":0.5,
            "enabled":true,
            "amortisationRange":"AMORTISATION_FIVE_AND_ABOVE"
         }
      ],
      "loanToValueRatioSpreads":[
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"UNTIL_FIFTY"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_FIFTY_TO_SIXTY"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_SIXTY_TO_SEVENTY"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_SEVENTY_TO_EIGHTY"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_EIGHTY_TO_EIGHTY_FIVE"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_EIGHTY_FIVE_TO_NINETY"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_NINETY_TO_NINETY_FIVE"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_NINETY_FIVE_TO_HUNDRED"
         },
         {
            "spread":1.3,
            "enabled":true,
            "loanToValueRatioRange":"ABOVE_HUNDRED"
         }
      ],
      "loanRangeSpreads":[
         {
            "spread":0.7,
            "enabled":true,
            "baseRateloanRange":"BELOW_50000"
         },
         {
            "spread":0.7,
            "enabled":true,
            "baseRateloanRange":"FROM_50000_TO_BELOW_100000"
         },
         {
            "spread":0.7,
            "enabled":true,
            "baseRateloanRange":"FROM_100000_TO_BELOW_150000"
         },
         {
            "spread":0.7,
            "enabled":true,
            "baseRateloanRange":"FROM_150000_TO_BELOW_200000"
         },
         {
            "spread":0.7,
            "enabled":true,
            "baseRateloanRange":"FROM_200000_TO_BELOW_300000"
         },
         {
            "spread":0.7,
            "enabled":true,
            "baseRateloanRange":"FROM_300000_AND_ABOVE"
         }
      ],
      "employmentSpreads":[
         {
            "spread":1,
            "employment":"CIVIL_SERVANT"
         },
         {
            "spread":1,
            "employment":"EMPLOYED"
         },
         {
            "spread":1,
            "employment":"FREELANCER"
         },
         {
            "spread":1,
            "employment":"PENSIONER"
         },
         {
            "spread":1,
            "employment":"SELFEMPLOYED"
         }
      ]
   }
}

Loan Ranges

Query parameters
parameter value description
minimumLoanAmount default 0
maximumLoanAmount UNTIL_FIFTY, ABOVE_FIFTY_TO_SIXTY, ABOVE_SIXTY_TO_EIGHTY, ABOVE_EIGHTY_TO_NINETY, ABOVE_NINETY_TO_NINETY_FIVE, ABOVE_NINETY_FIVE a loan Range with no maximumLoanAmount will result in a range [minimumLoanAmount to infinity) Besides that a loanRange contains a list of interest tuple. An interestTuple defines the nominal and effective interest rates for a combination of loanToValueRatio (Beleihungsauslauf) and fixedNominalInterestRate (Sollzinsbindung). Each combination can only be configured once. Otherwise a 412 status code is returned. (see the picture which shows a loan range in theBaufimanager)
fixedNominalInterestRate FIVE_YEARS, TEN_YEARS, FIFTEEN_YEARS, TWENTY_YEARS, THIRTY_YEARS, FORTY_YEARS

JSON:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{"loanRanges": [
    {
        "minimumLoanAmount": 50000,
        "maximumLoanAmount": 100000,
        "interestTuples": [
            {
                "loanToValueRatio": "ABOVE_FIFTY_TO_SIXTY",
                "fixedNominalInterestRate": "FIFTEEN_YEARS",
                "effectiveInterestRate": 1.2,
                "nominalInterestRate": 1.1
            }
        ]
    }
]}

Response

Screenshot of Base Rate

Screenshot of Loan Ranges