Interhyp logbook API

provides endpoints to access submission logbook

Operations 1

GET /submissions/{submissionId}/logbook Get submission logbook entries #

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-logbook-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-logbook-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Interhyp Submission Logbook 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: logbook
  description: provides endpoints to access submission logbook
paths:
  /submissions/{submissionId}/logbook:
    get:
      summary: Get submission logbook entries
      description: Delivers detailed information about logbook entries associated with a specific submission.
      operationId: getLogbookBySubmissionId
      tags:
      - logbook
      parameters:
      - $ref: '#/components/parameters/submission-id'
      responses:
        '200':
          description: Submission logbook entries are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmissionLogbook'
        '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'
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'
    SubmissionDataViolationsLogbookEntry:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseLogbookEntry'
      properties:
        submissionDataViolations:
          type: array
          items:
            $ref: '#/components/schemas/SubmissionDataViolation'
    Phone:
      type: object
      required:
      - phoneNumber
      - type
      properties:
        phoneNumber:
          type: string
          description: 'DE: Mobil- oder Festnetztelefonnummer des Antragstellers. <br/> EN: Mobile or landline telephone number of the customer.

            '
          example: +49 160 123456
        type:
          $ref: '#/components/schemas/PhoneType'
        reachable:
          $ref: '#/components/schemas/PhoneReachability'
    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.

            '
    SavingsPlanInterest:
      type: object
      properties:
        interestRate:
          description: 'DE: Guthabenzinssatz. <br/> EN: interest rate.

            '
          $ref: '#/components/schemas/PeriodicalPercentage'
        interestAccumulated:
          description: 'DE: Guthabenzinsen insgesamt. <br/> EN: The savings interest accumulated.

            '
          $ref: '#/components/schemas/EuroAmount'
    RevokedSubmissionLogbookEntryDetails:
      type: object
      properties:
        revokeReason:
          $ref: '#/components/schemas/SubmissionRevokedReason'
        reasonDescription:
          type: string
    LoanContractNumberUpdatedLogbookEntry:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseLogbookEntry'
      properties:
        contracts:
          type: array
          items:
            $ref: '#/components/schemas/ContractInfo'
    RFC7807Problem:
      type: object
      title: RFC7807Problem
      description: 'DE: Angaben zum zurueckgegebenen Fehler. EN: Holds information on the returned error.

        '
      required:
      - timestamp
      - traceId
      - instance
      - title
      - status
      properties:
        timestamp:
          type: string
          format: date-time
          description: 'DE: Ein UTC-Zeitstempel, der den Fehlerzeitpunkt angibt (https://de.wikipedia.org/wiki/Koordinierte_Weltzeit). EN: A UTC date-time indicating the error timestamp (https://en.wikipedia.org/wiki/Coordinated_Universal_Time).

            '
          example: 2024-06-29 19:22:50+00:00
        type:
          type: string
          format: uri
          description: 'DE: Verknuepfung zum Abruf von mehr Informationen zu dem Fehler. EN: URL referring to more information about the error.

            '
          default: about:blank
        title:
          type: string
          description: 'DE: Kurzbeschreibung des Fehlers. EN: Error short description.

            '
          example: Bad Request
        status:
          type: integer
          format: int32
          description: 'DE: HTTP-Status-Code gemaess Konvention (https://tools.ietf.org/html/rfc2616#section-10). EN: HTTP status code following standared error codes (https://tools.ietf.org/html/rfc2616#section-10).

            '
          example: 400
          minimum: 100
          maximum: 599
        detail:
          type: string
          description: 'DE: Detaillierte Beschreibung des Fehlers. EN: Detailed description for the returned error.

            '
          example: JSON parse error
        traceId:
          type: string
          description: 'DE: Eindeutige Kennung zur Verfolgung der Anfrage. EN: Unique trace id for problematic request.

            '
          example: avx1234asd
        instance:
          type: string
          format: uri
          description: 'DE: Pfad zur betreffenden Resource. EN: Path of requested resource.

            '
          example: http://localhost/resources/123
        violations:
          type: array
          description: 'DE: Abfolge der Verstoesse in der Anfrage. EN: Collection of the invalid content of the request.

            '
          items:
            $ref: '#/components/schemas/Violation'
    KfwPromotionLoan:
      description: 'DE: Information zum Kfw-Darlehen. <br/>

        EN: Information about the KFW promotion loan.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseLoan'
      properties:
        program:
          $ref: '#/components/schemas/KfwProgram'
        annuityDetails:
          $ref: '#/components/schemas/AnnuityDetails'
        reservations:
          description: "DE: Sammlung von KFW-Darlehensreservierungen. <br/>\n    EN: Collection of KFW loan reservations.\n"
          type: array
          items:
            $ref: '#/components/schemas/KfwReservationInfo'
        additionalInfo:
          $ref: '#/components/schemas/KfwLoanAdditionalInfo'
    SubmissionStatusChangedLogbookEntryDetails:
      oneOf:
      - $ref: '#/components/schemas/ContractDeliveredStatusLogbookEntryDetails'
      - $ref: '#/components/schemas/ContractSignedStatusLogbookEntryDetails'
      - $ref: '#/components/schemas/ContractCanceledStatusLogbookEntryDetails'
      - $ref: '#/components/schemas/ExternalProcessingAwaitedLogbookEntryDetails'
      - $ref: '#/components/schemas/SubmissionProcessingPausedStatusLogbookEntryDetails'
      - $ref: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
      - $ref: '#/components/schemas/SubmissionProcessingResumedStatusLogbookEntryDetails'
      - $ref: '#/components/schemas/RejectSubmissionStatusChangedLogbookEntryDetails'
      - $ref: '#/components/schemas/CreatedCounterOfferLogbookEntryDetails'
      - $ref: '#/components/schemas/AcceptedCounterOfferLogbookEntryDetails'
      - $ref: '#/components/schemas/RejectedCounterOfferLogbookEntryDetails'
      - $ref: '#/components/schemas/ContractSignRefusedStatusLogbookEntryDetails'
      discriminator:
        propertyName: type
        mapping:
          CONTRACT_DELIVERED: '#/components/schemas/ContractDeliveredStatusLogbookEntryDetails'
          CONTRACT_SIGNED: '#/components/schemas/ContractSignedStatusLogbookEntryDetails'
          CONTRACT_CANCELED: '#/components/schemas/ContractCanceledStatusLogbookEntryDetails'
          AWAIT_EXTERNAL_PROCESSING: '#/components/schemas/ExternalProcessingAwaitedLogbookEntryDetails'
          PROCESSING_PAUSED: '#/components/schemas/SubmissionProcessingPausedStatusLogbookEntryDetails'
          INWORK: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
          APPROVED: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
          REJECTED_AND_CLOSED: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
          PROCESSING_RESUMED: '#/components/schemas/SubmissionProcessingResumedStatusLogbookEntryDetails'
          CANCELED: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
          CONFIRMED: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
          REJECTION_REVOKED: '#/components/schemas/DefaultSubmissionStatusChangedLogbookEntryDetails'
          REJECTED: '#/components/schemas/RejectSubmissionStatusChangedLogbookEntryDetails'
          COUNTER_OFFER_CREATED: '#/components/schemas/CreatedCounterOfferLogbookEntryDetails'
          COUNTER_OFFER_ACCEPTED: '#/components/schemas/AcceptedCounterOfferLogbookEntryDetails'
          COUNTER_OFFER_REJECTED: '#/components/schemas/RejectedCounterOfferLogbookEntryDetails'
          CONTRACT_SIGN_REFUSED: '#/components/schemas/ContractSignRefusedStatusLogbookEntryDetails'
    SubmissionDataViolationSeverity:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/SubmissionDataViolationSeverityKey'
    SpecialRepaymentType:
      type: string
      description: 'DE: Typ der speziellen Rückzahlung (nicht abschließende Aufzählung), z.B. PERCENTAGE, TEXT. <br/>

        EN: Open ended enum contains possible special repayment types, possible values are PERCENTAGE, TEXT.

        '
      example: PERCENTAGE
      x-extensible-enum:
      - PERCENTAGE
      - TEXT
    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'
    Handover:
      type: object
      description: 'DE: Beratunsprotokoll und Empfehlung des Beraters. <br/> EN: Advisor Handover notes and recommendations.

        '
      properties:
        hints:
          type: string
          description: 'DE: Hinweise des Beraters. <br/> EN: Hints provided by the financing advisor.

            '
        documents:
          description: Link to retrieve list of handover documents
          $ref: '#/components/schemas/ResourceRef'
          example: https://api.interhyp.de/submission/v2/submissions/de-20230424-krczwx6-5sves/handover-documents
        handoverReports:
          deprecated: true
          description: '@deprecated: Please use field documents to get list of handover documents

            '
          type: array
          items:
            $ref: '#/components/schemas/HandoverReport'
    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'
    AcceptedCounterOfferLogbookEntryDetails:
      type: object
      description: Accepted counter offer submission logbook entry details
      required:
      - id
      allOf:
      - $ref: '#/components/schemas/BaseSubmissionStatusChangedLogbookEntryDetails'
      properties:
        id:
          $ref: '#/components/schemas/SubmissionCounterOfferId'
    VariableInterestMaturity:
      description: 'DE: Information über die variable Sollzinsbindung. <br/>

        EN: Information about variable interest rate maturity.

        '
      type: object
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/BaseInterestMaturity'
    AssignProcessorLogbookEntry:
      type: object
      description: 'DE: Ein Logbucheintrag mit Informationen zu dem neu zugewiesenen Bearbeiter. <br/> EN: A logbook entry holds information about assigning a loan partner processor to the submission.

        '
      allOf:
      - $ref: '#/components/schemas/BaseLogbookEntry'
      properties:
        assignedTo:
          $ref: '#/components/schemas/UserData'
    LoanPartnerQueueId:
      type: object
      required:
      - value
      description: 'DE: ID der loan parnter queue. <br/> EN: Loan partner queue id.

        '
      properties:
        value:
          type: string
    LogbookEntryType:
      type: string
      description: 'DE: Art des Logbookentry (nicht abschließende Aufzählung), z.B. (SUBMISSION_CREATED, SUBMISSION_EDITED, DECISION_DATE_UPDATED, UPLOADED_DOCUMENT, STATUS). <br/> EN: open ended enum contains possible logbook entry types, possible values are (SUBMISSION_CREATED, SUBMISSION_EDITED, DECISION_DATE_UPDATED, UPLOADED_DOCUMENT, STATUS).

        '
      example: UPLOADED_DOCUMENT
      x-extensible-enum:
      - SUBMISSION_CREATED
      - SUBMISSION_EDITED
      - SUBMISSION_MIGRATED
      - SUBMISSION_CREDIT_LOANS_UPDATED
      - LOAN_PARTNER_PROCESSOR_ASSIGNED
      - UPLOADED_DOCUMENT
      - DECISION_DATE_UPDATED
      - STATUS
      - SUBMISSION_COUNTER_OFFER_REVOKED
      - SUBMISSION_STATUS_CHANGED
      - CONTACT_ADVISOR_UPDATED
      - LOAN_CONTRACT_NUMBER_UPDATED
      - SUBMISSION_DATA_VIOLATIONS_SET
      - SUBMISSION_REVOKED
      - SUBMISSION_LOAN_PARTNER_DOCUMENT_CREATED
      - SUBMISSION_LOAN_PARTNER_DOCUMENT_UPDATED
      - SUBMISSION_LOAN_PARTNER_DOCUMENT_DELETED
      - LOAN_PARTNER_PROCESSING_UNIT_CHANGED
      - SUBMISSION_NOTE_ADDED
    PhoneTypeKey:
      type: string
      description: 'DE: Art der Telefonnummer (nicht abschließende Aufzählung, zum Beispiel: MOBILE = Mobilfunknummer, LANDLINE = Festnetznummer, UNSPECIFIED = nicht angegeben, MOBILE_WORK= Firmenhandynummer). <br/> EN: Type of the phone number, possible values are MOBILE, LANDLINE, UNSPECIFIED, MOBILE_WORK.

        '
      x-extensible-enum:
      - MOBILE
      - LANDLINE
      - UNSPECIFIED
      - MOBILE_WORK
    ClosedPropertySale:
      description: 'DE: Information zur Zwischenfinanzierung in Zusammenhang mit einem abgeschlossenen Immobilienverkauf. <br/> EN: Bridging debt associated with a closed property sale.

        '
      allOf:
      - $ref: '#/components/schemas/BaseBridgingLoanDetails'
    PauseReason:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/PauseReasonKey'
    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'
    KfwCallTypeKey:
      type: string
      description: 'DE: Art der KFW-Reservierung (nicht abschließende Aufzählung), z.B. LIGHT, PLUS. <br/> EN: Open ended enum contains Kfw reservation process call type, possible values are LIGHT, PLUS.

        '
      example: PLUS
      x-extensible-enum:
      - LIGHT
      - PLUS
      - OTHER
    UserData:
      type: object
      properties:
        userId:
          $ref: '#/components/schemas/UserId'
        name:
          $ref: '#/components/schemas/PersonName'
        contact:
          $ref: '#/components/schemas/Contact'
        jobTitle:
          type: string
    SubmissionAdditionalProductsUpdatedLogbookEntry:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseLogbookEntry'
      properties:
        details:
          $ref: '#/components/schemas/SubmissionAdditionalProductsUpdatedLogbookEntryDetails'
    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
    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'
    ContractDeliveredStatusLogbookEntryDetails:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseSubmissionStatusChangedLogbookEntryDetails'
      properties:
        contractDeliverDate:
          $ref: '#/components/schemas/ISODate'
        contracts:
          type: array
          items:
            $ref: '#/components/schemas/ExtendedContractInfo'
    TitleKey:
      type: string
      description: 'DE: Akademischer Titel des Antragstellers (nicht abschließende Aufzählung, zum Beispiel: DR, PH_D, PD_DR, PROF, PROF_DR). <br/> EN: Open ended enum contains possible title values, possible values are DR, PH_D, PD_DR, PROF, PROF_DR.

        '
      example: PROF_DR
      x-extensible-enum:
      - DR
      - PH_D
      - PD_DR
      - PROF
      - PROF_DR
      - OTHER
    ExternalProcessingDetail:
      type: object
      required:
      - reason
      properties:
        reason:
          $ref: '#/components/schemas/ExternalProcessingReason'
    Duration:
      type: object
      title: Duration
      description: 'DE: Gibt einen Zeitraum an. </br> EN: Specifies a duration.

        '
      required:
      - value
      - unit
      properties:
        value:
          type: integer
          format: int32
          description: 'DE: Die Menge der gewaehlten Zeiteinheit. </br> EN: The amount of the selected temporal unit.

            '
        unit:
          type: string
          enum:
          - YEARS
          - MONTHS
          - DAYS
          description: 'DE: Die Zeiteinheit. </br> EN: The temporal unit.

            '
    LoanPartnerProcessingUnitId:
      description: 'DE: ID der Einheit des Kreditgebers, welche den Kreditantrag bearbeitet. <br/> EN: Id of the loan partner processing unit.

        '
      required:
      - value
      properties:
        value:
          type: string
    RevokeSubmissionCounterOfferReason:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/RevokeSubmissionCounterOfferReasonKey'
    EstateId:
      type: object
      required:
      - value
      description: 'DE: ID der Immobilie. <br/> EN: ID of the estate.

        '
      properties:
        value:
          type: string
    Cycle:
      description: 'DE: Wrapper für Zykluswerte <br/> EN: Wrapper for cycle values.

        '
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/CycleKey'
    ApplicantIdRef:
      type: object
      description: 'DE: Id und Referenz des Antragstellers. <br/> EN: Id and reference of the applicant.

        '
      properties:
        _href:
          x-skip-camel-case-check: true
          $ref: '#/components/schemas/ResourceRef'
        applicantId:
          $ref: '#/components/schemas/ApplicantId'
    UserId:
      type: object
      required:
      - value
      description: 'DE: ID des Users. <br/> EN: ID of a user.

        '
      properties:
        value:
          type: string
    RefuseSignContractReason:
      type: object
      required:
      - key
      properties:
        key:
          $ref: '#/components/schemas/RefuseSignContractReasonKey'
   

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