Interhyp pre-submission-checks API

provides endpoints for pre-submission resources associated with a specific financing partner

Operations 3

GET /pre-submission-checks Get a collection of pre submission checks for intent ID and loan partner ID #
GET /pre-submission-checks/{preSubmissionCheckId} Get a specific pre submission check #
POST /pre-submission-checks/{preSubmissionCheckId}/commands Modify an existing pre submission check. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/interhyp-pre-submission-checks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

interhyp-pre-submission-checks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Interhyp Submission Pre Submission Checks API
  version: 6.10.0
  contact:
    name: Interhyp AG (Team Provider Excellence)
    email: support_submission_api@interhyp.de
    url: https://www.interhyp.de
  license:
    name: Interhyp AG
  description: "This document describes the RESTful API and resources provided by Interhyp AG.<p> The RESTful API provides access to resources associated with submission process via *URI* paths, a client application will make an HTTP request using standard HTTP methods like *GET, PUT, POST and DELETE* and parse the response in *JSON* format.<p>\n## API Audience <br/>\nThe API is intended to be consumed by clients who want to integrate Interhyp submission process in their own workflow.\n+ Financing Partners\n## API design Principles <br/>\nDuring API design a set of principles were taken into consideration.\n+ API First\n+ Mobile First\n\n> API Endpoints provided by this RESTful API adhere to HTTP methods and hence are divided into two categories:\n+ Command Endpoints: represents HTTP methods *POST, PUT, PATCH and DELETE* where side effects are expected after calling such endpoints.\n+ Query Endpoints: represents HTTP method *GET* where no side effects could be expected.\n\n## Version and URI <br/>\nThis documentation is for **version 2** of submission API, which is currently the latest version.<p> The URIs for resources have the following structure: ``` https://<interhyp-url>/submission/v2/<resource-name> ``` <br/> For Example ``` https://api-test.interhyp.de/submission/v2/submissions/my-awesome-submission/financing-application ```\n## Security <br/>\n### Authentication <br/>\nIn order to grant access to the API resources, every client has to declare his identity using a `JWT` based Token. <br/> `OAuth 2.0` is used to secure all the API endpoints, See [Authentication Concept](docs/partners_authentication.pdf) for more details. <br/>\n### Authorization and Permissions <br/>\nAccess to the API resources is restricted to the target client, where a client may access only the resources that belong to him. Resources belong to a specific client are by no mean accessible by any other client with different identity. <br/>\n![API Authentication and Authorization](docs/sbm-api-security-diagram.png \"API Authentication and Authorization\")\n## Pagination, Expansion, and Deferred Processing <br/>\nPromoting Mobile First design principle requires employing a set of concepts as described below\n### Pagination\nThis API uses *Cursor-based* pagination to improve performance and minimize networks traffic, Pagination is enforced for operations that potentially could return a large collection of items. When a client makes a request to a paginated resource, the response wraps the returned array of values in a JSON object with paging metadata. For example: **<details>\n        <summary>Sample Response</summary>**\n  ```json\n  {\n    \"data\": [\n      \"_comment: here goes the actual resource collection ...\"\n    ],\n    \"paging\": {\n      \"cursor\": {\n        \"before\": \"string\",\n        \"after\": \"string\"\n      },\n      \"previous\": \"string\",\n      \"next\": \"string\"\n    }\n  }\n  ```\n</details>\n\nA cursor refers to a random string of characters which marks a specific item in a collection of data. <br/> The cursor will always point to the item, however it will be invalidated if the item is deleted or removed.\n> Therefore, as a client you shouldn't store cursors or assume that they will be valid in the future.\nA cursor-paginated resource supports the following parameters:\n* **_before_** : This is the cursor that points to the start of the page of data that has been returned.\n* **_after_** : This is the cursor that points to the end of the page of data that has been returned.\n* **_limit_** : This is the maximum number of objects that may be returned. A query may return fewer than the value of limit due to filtering. Do not depend on the number of results being fewer than the limit value to indicate that your query reached the end of the list of data, use the absence of `next` instead as described below.\n* **_previous_** : A Hyperlink that will return the previous page of data. If not included, this is the first page of data.\n* **_next_** : A Hyperlink that will return the next page of data. If not included, this is the last page of data.\n> The Absence of *next* hyperlink indicates that a query reached the end of the available result.\n### Expansion <br/>\nThis API uses *resource expansion*, which means that some parts of a resource are not returned unless specified in the request. This is useful for endpoints that return large resources in order to minimizes network traffic. <br/> The expansion is controlled as following:\n#### Query Parameter\n**_embed_** query parameter controllers which information the endpoint will deliver.\n> **By default:** *embed* query parameter is set to *False*, which means only basic information and a link for details and sub-resources will be returned.\nSetting *embed* query parameter to *True* guides the API to deliver all details and sub-resources associated with the requested resource.\n\n> **Tip:** Doing so will have a direct impact on the payload size and might affect response time as well.\nWe encourage following the provided links to access each specific resource, instead of providing all sub-resources for the returned collection.<br />\n\n**<details>\n        <summary>Sample Response</summary>**\n  ```json\n    {\n      \"data\": [\n        {\n          \"resource\": {\n            \"href\": \"http://some-domain/some/link/to/somewhere\",\n            \"embedded\": {\n              \"resource\": [\n                {\n                  \"detailed-attribute-1\": \"string\",\n                  \"detailed-attribute-2\": \"string\",\n                  \"detailed-attribute-3\": \"2019-11-29T18:24:49.777Z\",\n                  \"detailed-attribute-n\": \"string\"\n                }\n              ]\n            }\n          }\n        }\n      ]\n    }\n  ```\n</details>\n\n### Deferred Processing\nSome API endpoints may trigger long-running or computationally expensive tasks. In these cases, the endpoint will schedule an asynchronous command in order not to block the client for the whole processing time and as a result an appropriate *HTTP Status Code* indicates the asynchronous processing and a *commandId* will be returned.\n\nIn order to check for the status of the created command, section **_Commands_** provides *GET* endpoint to retrieve relevant information associated with the created command. For Example ``` GET https://api-test.interhyp.de/submission/v2/commands/my-awesome-command-id ```\n> **Tip:** More details will be provided in the respective endpoint.\n\n## Deprecation Policy <br/>\nAs the API evolves, fields may be replaced by other fields to better reflect the target structure or new requirements. We mark such fields as deprecated and document in the field's description the reason why it has been deprecated and provide information on the new field that should be used instead. We will communicate the planned end-of-life date for a deprecated field in its description once it is set.\nDuring the period when both fields are available, they will return the same result until the deprecated field reaches its end of life. However, to avoid any issues that may arise when the deprecated field is eventually removed from the API, we strongly recommend updating your code as soon as possible to use the new field.\n### Example\nPreviously, an applicant would have the fields `address` and `previousAddress`. Each would return a single address. We later introduced the field `livingAddresses` which returns an array of addresses and the date range in which they were used. The fields `address` and `previousAddress` were marked as deprecated, as the information could be obtained through the `livingAddresses` field. Still, we ensured that the `address` and `previousAddress` would return the correct data even for applicants which were created only with `livingAddresses`.\n\n## API client <br/>\nAs an API client you should adhere to the following robustness principle\n\n  + Tolerant Reader: Be tolerant with unknown fields in the payload. This is required to avoid new API versions if\n  new fields were added, i.e. ignore new fields but do not eliminate them from payload if needed\n  for subsequent *PUT* requests.\n\n  + Be prepared to handle HTTP status codes not explicitly specified in endpoint definitions.\n\n\n> **Tip:** In this API Open-Ended list of values (x-extensible-enum) instead of Enumerations are used\nEnumerations are per definition closed sets of values, that are assumed to be complete and not intended for extension. This closed principle of enumerations imposes compatibility issues when an enumeration must be extended.\n\nThis RESTful API has following sections, each interact with a specific part of the submission system.\n+ **_submissions_**: Provides endpoints for resources associated with a specific financing partner. For Example, accessing a specific submission resource, or searching all open submissions belong to a specific financing partner within a specific period of time.\n+ **_financing-application_**: Provides endpoints for resources not associate to a specific financing partner. Here all information collected from the Applicant during consultation phase could be delivered, such as Personal details, Credit Worthiness, desired Estate, etc ...\n+ **_logbook_**: Provides endpoints for submission logbook entries.\n+ **_commands_**: Provides endpoints for command resources, see *Deferred Processing*\n+ **_correspondence_**: Is currently still under design.\n\nThis RESTful API was created based on [OpenAPI 3.0 specification](http://spec.openapis.org/oas/v3.0.2)\nBy using the [OpenAPI-Spec generator](https://github.com/OpenAPITools/openapi-generator), you can easily generate an API client stub.\n> **Tip:** This API could be also viewed in [swagger editor](https://editor.swagger.io/) by copy/paste the content of this document in the editor."
servers:
- url: https://api-dev.ehyphome.de/submission/v2
  description: Test-Staging
- url: https://api-acc.ehyphome.de/submission/v2
  description: Acceptance-Staging
- url: https://api.interhyp.de/submission/v2
  description: Production
security:
- ApiKey: []
  BearerAuth: []
tags:
- name: pre-submission-checks
  description: provides endpoints for pre-submission resources associated with a specific financing partner
paths:
  /pre-submission-checks:
    get:
      summary: Get a collection of pre submission checks for intent ID and loan partner ID
      description: 'This endpoint gives a possibility to retrieve collection of pre-submission checks using intent ID and loan partner ID.

        A pre-submission check provided a way of pre-scoring to allows financial advisors to get an early indication whether a submission can be created'
      operationId: getPreSubmissionChecksByIntentIdAndLoanPartnerId
      tags:
      - pre-submission-checks
      parameters:
      - $ref: '#/components/parameters/intent-id'
      - $ref: '#/components/parameters/loanpartner-id'
      - $ref: '#/components/parameters/pre-submission-check-status'
      responses:
        '200':
          description: Requested pre submission check is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreSubmissionChecks'
        '400':
          description: Error indicates missing or wrong request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '401':
          description: Error indicates no access to the required resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthProblem'
        '404':
          description: Error indicates that a requested submission resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
  /pre-submission-checks/{preSubmissionCheckId}:
    get:
      summary: Get a specific pre submission check
      description: 'This endpoint gives a possibility to retrieve information about a specific pre-submission check using it''s id.

        A pre-submission check provided a way of pre-scoring to allows financial advisors to get an early indication whether a submission can be created'
      operationId: getPreSubmissionCheckById
      tags:
      - pre-submission-checks
      parameters:
      - $ref: '#/components/parameters/pre-submission-check-id'
      responses:
        '200':
          description: Requested pre submission check is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreSubmissionCheck'
        '400':
          description: Error indicates missing or wrong request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '401':
          description: Error indicates no access to the required resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthProblem'
        '404':
          description: Error indicates that a requested submission resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
  /pre-submission-checks/{preSubmissionCheckId}/commands:
    post:
      summary: Modify an existing pre submission check.
      description: 'This endpoint gives a possibility to modify an existing pre-submission check asynchronously by creating a command to perform this operation, as a result a *command id* shall be returned.


        In order to follow up the command execution result, a call to `/v2/commands` endpoint could be made providing the *command id*

        '
      operationId: modifyPreSubmissionCheck
      tags:
      - pre-submission-checks
      parameters:
      - $ref: '#/components/parameters/pre-submission-check-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyPreSubmissionCheckCommand'
      responses:
        '201':
          description: Reference to the created resource.
          headers:
            Location:
              schema:
                type: string
                description: 'DE: Link zu einer spezifischen Ressource <br/> EN: Link to retrieve a specific resource

                  '
                example: http://some-domain/some/link/to/somewhere
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommandId'
        '400':
          description: Error indicates missing or wrong request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '401':
          description: Error indicates no access to the required resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthProblem'
        '500':
          description: Unexpected Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
components:
  schemas:
    CreditPhaseTimeline:
      type: object
      properties:
        amortisationStartDate:
          description: 'DE: Tilgungsbeginn. <br/> EN: The date on which the amortisation starts.

            '
          $ref: '#/components/schemas/ISODate'
        amortisationEndDate:
          description: 'DE: Tilgungsende. <br/> EN: The date on which the amortisation end.

            '
          $ref: '#/components/schemas/ISODate'
        duration:
          description: 'DE: Voraussichtliche Kreditsdaur. <br/>

            EN: credit phase duration.

            '
          $ref: '#/components/schemas/Duration'
    ResidualDebtProtection:
      oneOf:
      - $ref: '#/components/schemas/ResidualDebtProtectionBuildingSavingPlan'
      discriminator:
        propertyName: type
        mapping:
          BUILDING_SAVING_PLAN: '#/components/schemas/ResidualDebtProtectionBuildingSavingPlan'
    LoanQuota:
      type: object
      description: 'DE: Wert und Prozentsatz für die Darlehensquote. <br/> EN: Value and percentage for a loan quota

        '
      required:
      - type
      properties:
        type:
          $ref: '#/components/schemas/LoanQuotaType'
        lendingValue:
          description: 'DE: Beleihungswert. <br/>

            EN: Lending value.

            '
          $ref: '#/components/schemas/EuroAmount'
        percentage:
          description: 'DE: Beleihungsauslauf. <br/>

            EN: Loan quota percentage.

            '
          $ref: '#/components/schemas/Percentage'
        conditional:
          description: 'DE: Beleihungsauslauf für die Konditionermittlung. <br/>

            EN: Loan quota for condition retrieval.

            '
          $ref: '#/components/schemas/Percentage'
    FixedInterestMaturity:
      description: 'DE: Information über die Sollzinsbindung mit dem festen Dauer. <br/>

        EN: Information about fixed interest rate maturity.

        '
      type: object
      required:
      - type
      - period
      allOf:
      - $ref: '#/components/schemas/BaseInterestMaturity'
      properties:
        period:
          description: 'DE: Dauer der Sollzinsbindung. <br/>

            EN: Fixed interest rate duration.

            '
          $ref: '#/components/schemas/Duration'
        fixedUntil:
          description: 'DE: Enddatum der Sollzinsbindung. <br/>

            EN: End date of the fixed interest rate.

            '
          $ref: '#/components/schemas/ISODate'
        bulletLoan:
          type: boolean
          description: 'DE: Endfällig. <br/>

            EN: Bullet loan.

            '
    VentureRelevantLoan:
      type: object
      required:
      - amount
      - type
      description: 'DE: Information über Darlehen die zu Hypothek hinzugefügt werden. <br/>

        EN: Information about existing loans added to the mortgage.

        '
      properties:
        debtId:
          description: 'DE: Id der dazugehörenden Schulden.


            Die Schulden können mit Hilfe des /v2/financing-applications/{financingApplicationId}/financial-standings/existing-loans/{debtId} abgefragt werden. <br/>


            EN: Id of the associated Debt.


            Debt can be accessed via the respective endpoint. */v2/financing-applications/{financingApplicationId}/financial-standings/existing-loans/{debtId}*

            '
          $ref: '#/components/schemas/DebtId'
        amount:
          description: 'DE: Darlehenssumme. <br/>

            EN: Loan amount.

            '
          $ref: '#/components/schemas/EuroAmount'
        type:
          $ref: '#/components/schemas/VentureRelevantLoanType'
        until:
          description: 'DE: Ablauf Sollzinsbindung. <br/>

            EN: Fixed interest rate expiry date.

            '
          $ref: '#/components/schemas/ISODate'
        description:
          description: 'DE: Beschreibung für bestehende Darlehen. <br/>

            EN: Description of the existing loan.

            '
          type: string
        contractNumber:
          type: string
          description: Contract number.
        burden:
          description: 'DE: Periodische Rate (z.B. monatliche Rate). <br/> EN: Periodical payment amount (e.g. rate per month).

            '
          $ref: '#/components/schemas/PeriodicalEuroAmount'
        debtor:
          description: The existing mortgage saving plan bank.
          $ref: '#/components/schemas/Debitor'
    ModernisationTypeKey:
      type: string
      description: 'DE: Typ der Modernisierung (nicht abschließende Aufzählung), z.B. (ELECTRIC, FASSADE, FLOOR_PLAN=Raumaufteilung, FLOORING=Bodenbeläge, HEATING, INSTALLATION, INSULATION=Wärmedämmung, ROOF, SANITARY=Sanitärobjekte, WINDOW, OTHER, HEAT_PROTECTION = Wärmeschutz, VENTILATION_SYSTEM = Lüftungsanlagen, DIGITAL_ENERGY_OPTIMISATION = Digitale Systeme zur Energieoptimierung). <br/> EN: Open ended enum contains types of modernisation, possible values are (ELECTRIC, FASSADE, FLOOR_PLAN, FLOORING, HEATING, INSTALLATION, INSULATION, ROOF, SANITARY, WINDOW, OTHER, HEAT_PROTECTION, VENTILATION_SYSTEM, DIGITAL_ENERGY_OPTIMISATION).

        '
      example: ELECTRIC
      x-extensible-enum:
      - ELECTRIC
      - FASSADE
      - FLOOR_PLAN
      - FLOORING
      - HEATING
      - INSTALLATION
      - INSULATION
      - ROOF
      - SANITARY
      - WINDOW
      - OTHER
      - HEAT_PROTECTION
      - VENTILATION_SYSTEM
      - DIGITAL_ENERGY_OPTIMISATION
    LoanPlan:
      type: object
      required:
      - entries
      - entriesAggregated
      properties:
        entries:
          type: array
          items:
            $ref: '#/components/schemas/PeriodicalRepaymentEntry'
        entriesAggregated:
          $ref: '#/components/schemas/RepaymentEntriesAggregated'
    TemporaryResidencePermit:
      type: object
      required:
      - expiryDate
      - blueCard
      properties:
        expiryDate:
          description: "DE: Ablaufdatum einer befristeten Aufenthaltserlaubnis (nur wenn eine befristete Aufenthaltserlaubnis vorliegt)<br/> \nEN: expiry date of the residence permit (only if residence permit is temporary)\n"
          $ref: '#/components/schemas/ISODate'
        blueCard:
          type: boolean
          description: "DE: hat die Person eine \"Blue-Card\" <br/> \nEN: does the person have a \"Blue-Card\"\n"
    SolvencyCreditDebt:
      type: object
      description: 'DE: Raten- und Leasingkredite. <br/> EN: Installment and leasing credits.

        '
      allOf:
      - $ref: '#/components/schemas/BaseExistingLoanDebt'
      properties:
        liabilityType:
          $ref: '#/components/schemas/Liability'
        contractNumber:
          type: string
        residualDebt:
          description: 'DE: Aktuelle Restschuld. <br/>

            EN: Current remaining debt.

            '
          $ref: '#/components/schemas/EuroAmount'
        repay:
          description: 'DE: Flag ob die Ablösung des Kredites vor der Finanzierung geplant ist. <br/> EN: Flag indicates that the loan is planed to be repayed before the financing.

            '
          type:
          - boolean
          - 'null'
        until:
          description: 'DE: Ablauf der Sollzinsbindung. <br/>

            EN: Expiry of the fixed interest rate.

            '
          $ref: '#/components/schemas/ISODate'
        burden:
          description: 'DE: Periodische Rate (z.B. monatliche Rate). <br/>

            EN: Periodical payment amount (e.g. rate per month).

            '
          $ref: '#/components/schemas/PeriodicalEuroAmount'
        debitor:
          $ref: '#/components/schemas/Debitor'
    RealEstate:
      description: 'DE: Allgemeine Information zu der Immobilie. <br/>

        EN: General information about the estate.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseRealEstate'
      properties:
        originalPurchase:
          $ref: '#/components/schemas/OriginalPurchase'
        building:
          $ref: '#/components/schemas/Building'
        condition:
          $ref: '#/components/schemas/RealEstatePropertyCondition'
        furnishing:
          $ref: '#/components/schemas/Furnishing'
        parkingSpaces:
          description: 'DE: Stellplätze und Garagen der Immobilie. <br/> EN: Parking spaces and garages of the property.

            '
          type: array
          items:
            $ref: '#/components/schemas/ParkingSpace'
        existingModernisations:
          $ref: '#/components/schemas/ExistingModernisations'
        area:
          $ref: '#/components/schemas/AreaInfo'
        utilization:
          $ref: '#/components/schemas/Utilization'
        rent:
          $ref: '#/components/schemas/RentInfo'
        numberOfRooms:
          description: 'DE: Anzahl der Zimmer für die angegebene Wohnung EN: Number of rooms for declared apartment

            '
          type: number
          format: float
    PeriodicalEuroAmount:
      description: 'DE: Euro Betrag in einem bestimmten Zeitraum. <br/> EN: Euro amount for a specific period.

        '
      type: object
      required:
      - amount
      - cycle
      properties:
        amount:
          $ref: '#/components/schemas/EuroAmount'
        cycle:
          $ref: '#/components/schemas/Cycle'
    KfwReservationInfo:
      type: object
      description: 'DE: Zusätzliche Information zur KFW-Darlehensreservierung. <br/> EN: Additional Information about the Kfw Loan reservations

        '
      properties:
        id:
          type: string
          description: 'DE: Identifizierungsnummer einer sofortigen (Kfw) Bestätigung. <br/> EN: Identification nummer for a immediate (Kfw) confirmation.

            '
        callType:
          $ref: '#/components/schemas/KfwCallType'
        conditionReservationDate:
          description: 'DE: Konditionsreservierungsdatum. <br/>

            EN: Condition reservation date.

            '
          $ref: '#/components/schemas/ISODate'
        validity:
          description: 'DE: Ablaufdatum der Kondition. <br/>

            EN: Condition expiry date.

            '
          $ref: '#/components/schemas/ISODate'
    PhoneReachability:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/PhoneReachabilityKey'
    HouseholdCalculationCommandExpenses:
      type: object
      required:
      - valuation
      - entries
      properties:
        value:
          description: Der vom Kunden eingetragene Wert
          $ref: '#/components/schemas/PeriodicalRawEuroAmount'
        valuation:
          description: Der von der Bank angesetzte Wert
          $ref: '#/components/schemas/PeriodicalRawEuroAmount'
        entries:
          type: array
          items:
            $ref: '#/components/schemas/HouseholdCalculationCommandEntry'
    DefaultRealEstateRating:
      allOf:
      - $ref: '#/components/schemas/BaseRealEstateRating'
      properties:
        localPriceDetails:
          $ref: '#/components/schemas/LocalPriceDetails'
    RegularPayment:
      description: 'DE: Information über den regulären Zahlungen. <br/>

        EN: Information about regular payment.

        '
      type: object
      properties:
        paymentTime:
          $ref: '#/components/schemas/PaymentTime'
        freePeriod:
          description: 'DE: Tilgungsfreie Anlaufzeit. <br/>

            EN: Amortisation-free period.

            '
          $ref: '#/components/schemas/Duration'
        amount:
          description: 'DE: Rate in der tilgungsfreien Anlaufzeit. <br/>

            EN: Amortisation during amortisation-free period.

            '
          $ref: '#/components/schemas/PeriodicalEuroAmount'
        amountAfterFreePeriod:
          description: 'DE: Rate nach Ablauf der tilgungsfreien Anlaufzeit. <br/>

            EN: Rate after amortisation-free period.

            '
          $ref: '#/components/schemas/PeriodicalEuroAmount'
    VariableIncome:
      type: object
      description: 'DE: Regelmäßige variable Einkünfte (netto). <br/>

        EN: Regular variable gross income.

        '
      required:
      - amount
      properties:
        amount:
          $ref: '#/components/schemas/PeriodicalEuroAmount'
        breakdown:
          $ref: '#/components/schemas/VariableIncomeBreakdown'
    Prefabrication:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/PrefabricationKey'
    Contact:
      type: object
      properties:
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/Phone'
        email:
          type: string
          description: 'DE: E-Mail des Antragstellers <br/> EN: E-Mail of the customer

            '
          example: primary@example.com
    Client:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/ClientKey'
    EstateRef:
      type: object
      required:
      - estateId
      description: 'DE: Id und Referenz zu der Immobilie. <br/> EN: Id and Reference to the estate.

        '
      properties:
        _href:
          x-skip-camel-case-check: true
          $ref: '#/components/schemas/ResourceRef'
        estateId:
          $ref: '#/components/schemas/EstateId'
    Building:
      type: object
      description: 'DE: Information über das Gebäude. <br/> EN: Information about the building.

        '
      properties:
        construction:
          $ref: '#/components/schemas/Construction'
        yearOfConstruction:
          description: 'DE: Baujahr. <br/> EN: Year of construction.

            '
          $ref: '#/components/schemas/Year'
        lift:
          description: 'DE: Vorhandener Aufzug. <br/> EN: Existing elevator.

            '
          type:
          - boolean
          - 'null'
        stories:
          description: 'DE: Anzahl der Vollgeschosse (ohne Keller/Dachboden). <br/> EN: Number of floors (without basement/attic).

            '
          type: integer
          format: int32
        buildingVolume:
          description: 'DE: Umbauter Raum. <br/>

            EN: Enclosed space.

            '
          $ref: '#/components/schemas/CubicMeter'
        prefabrication:
          $ref: '#/components/schemas/Prefabrication'
        prefabCertified:
          type:
          - boolean
          - 'null'
          description: 'DE: Gütesiegel. <br/>

            EN: quality seal.

            '
        energyEfficiency:
          $ref: '#/components/schemas/EnergyEfficiency'
    BasePlannedModernisationDetails:
      type: object
      required:
      - modernisationType
      properties:
        modernisationType:
          type: string
      discriminator:
        propertyName: modernisationType
    ResidualDebtProtections:
      type: object
      description: 'A wrapper Type to hold a set of submission residual debt protections.

        '
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ResidualDebtProtection'
    ApplicantRelationshipsQuery:
      type: object
      description: 'A wrapper Type to hold a set of possible relationships among applicants involved in the financing application.

        '
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ApplicantRelationship'
    LandValueEvaluation:
      type: object
      description: 'DE: Information über den Land Wert des Grundstücks. <br/> EN: Information about land value evaluation.

        '
      required:
      - groundValue
      properties:
        groundValue:
          description: 'DE: Land Wert. <br/>

            EN: Land value.

            '
          $ref: '#/components/schemas/EuroAmount'
        evaluationInformation:
          description: 'DE: Information über die Wertbewertung des Grundstücks. <br/>

            EN: Information about the land value evaluation.

            '
          $ref: '#/components/schemas/EvaluationInformation'
    ExistingModernisation:
      type: object
      description: 'DE: Information über die durchgeführte und geplante Modernisierungen. <br/> EN: Complete information about carried out and planned modernisations.

        '
      required:
      - modernisationTypeAndScope
      - modernisationCost
      properties:
        modernisationTypeAndScope:
          $ref: '#/components/schemas/ModernisationTypeAndScope'
        year:
          description: 'DE: Jahr der Modernisierung. <br/> EN: Year of modernisation.

            '
          $ref: '#/components/schemas/Year'
        modernisa

# --- truncated at 32 KB (309 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/interhyp/refs/heads/main/openapi/interhyp-pre-submission-checks-api-openapi.yml