POST Provider/Interestrates

The ressource represents interest rates import.

This resource provides a method to import interest rates of a mortgage provider into the Baufi-Manager. Currently interest rates can only be imported by using base rates (Margentableau).

http://rest.immobilienscout24.de/restapi/api/financing/construction/v1.0/provider/{providerId}/interestrates

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)

Supported media types

  • XML (Accept: application/xml)
  • JSON (Accept: application/json)

Authorization requirements

  • At least a System Key is required for this operation. See Authentication via Two-legged OAuth for further details.

Request

Path Parameters

  • providerId : the id of the mortgage provider

Header

  • test : If set to true the provided interest rates will not be saved. The resource only checks authorization and validates the input.
  • Default: false

Base rate (Basisrate)

Body

XML

not supported

JSON

{
   "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"
         }
      ]
   }
}

Parameters

       

usingGeneralBaseRate: [default: true] determines if a general baserate is used or if the baserate depends on the FixedNominalInterestRates. If set to false, baseRatePerFixedInterestRateSpreads (Basiszins pro Zinsbindung) need to be provided.

generalBaseRate (Basiszins): [default: 0]      
baseRatePerFixedInterestRateSpreads (Basiszins pro Zinsbindung):      
  spread: [default: 0] the baserate for the given nominal interest rate    
  fixedNominalInterestRate (Sollzinsbindung):

FIVE_YEARS

TEN_YEARS

FIFTEEN_YEARS

TWENTY_YEARS

 
margin (Marge): [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 (Zinsbindung)    
    sread (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)

Loan Ranges (Darhelehensbereiche)

XML

not supported

JSON

{"loanRanges": [
    {
        "minimumLoanAmount": 50000,
        "maximumLoanAmount": 100000,
        "interestTuples": [
            {
                "loanToValueRatio": "ABOVE_FIFTY_TO_SIXTY",
                "fixedNominalInterestRate": "FIFTEEN_YEARS",
                "effectiveInterestRate": 1.2,
                "nominalInterestRate": 1.1
            }
        ]
    }
]}

Parameters

  enum value
minimumLoanAmount: [default: 0]  
  • maximumLoanAmount: 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)

  • UNTIL_FIFTY
  • ABOVE_FIFTY_TO_SIXTY
  • ABOVE_SIXTY_TO_EIGHTY
  • ABOVE_EIGHTY_TO_NINETY
  • ABOVE_NINETY_TO_NINETY_FIVE
  • ABOVE_NINETY_FIVE
fixedNominalInterestRate
  • FIVE_YEARS
  • TEN_YEARS
  • FIFTEEN_YEARS
  • TWENTY_YEARS

The main attributes of a loanRange are minimumLoanAmount and maximumLoanAmount

Response

The following section includes the HTTP status code, a short description and examples for the response body content of a successful processed request.
Error responses as well as other simple message responses are described in detail within the common message responses.

  • Status 201 Created: This status code is returned after a new entity of a resource was successfully created.
  • Status 403 Forbidden: You are not authorized to edit the interest rates for the given provider.
  • Status 412 Precondition Failed: Validation failures or mapping errors.

Header

No special headers.

Body

XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<common:messages xmlns:common="http://rest.immobilienscout24.de/schema/common/1.0"
    xmlns:xlink="http://www.w3.org/1999/xlink">
    <message>
        <messageCode>MESSAGE_RESOURCE_CREATED</messageCode>
        <message>Resource [...] with id [123456] has been created.</message>
    </message>
</common:messages>

JSON

{
  "common.messages":[
    {
      "message":{
        "messageCode":"MESSAGE_RESOURCE_CREATED",
        "message":"Resource [...] with id [123456] has been created."
      }
    }
  ]
}


Screenshot: Base Rate

file

Screenshot: Loan Ranges

file