openapi: 3.0.0 info: version: 4.2.0 title: Common Mortgage API (Public) description: | This specification defines a common mortgage API for mortgages as used in Switzerland. The API is supposed to be used by requesting parties who want to get, extend, or transfer mortgages from and to financial institutions. This specification uses schema definitions from the Common Data Model v1.2.2. termsOfService: Tbd contact: email: info@common-api.ch license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://mortgage.common-api.ch externalDocs: description: Find out more about SFTI API specifications. url: https://www.common-api.ch tags: - name: Existing Mortgages description: Operations related with existing mortgages. - name: Full Mortgage Cases description: Operations related to full mortgage cases including the application details. - name: Mortgage Application description: Operations needed to place an application (dossier) for a new mortgage. - name: Mortgage Financing Request description: Operations for handling financing requests for a specific accepted application (dossier). - name: Mortgage Offers description: Operations for handling the binding offers an FI provides. - name: Mortgage Order description: Operations for placing a binding order for a chosen offer. - name: Mortgage Products and Conditions description: Operations for synchronizing general mortgage product information from an FI. - name: Mortgage Prolongation description: Operations for handling the common special case of prolonging an existing mortgage. security: - ApiKeyAuth: [] - OAuth2: - read - write paths: /mortgage-cases: get: tags: - Full Mortgage Cases summary: Return the list of all mortgage cases for the authenticated context description: List of mortgage cases for the authenticated context including the corresponding properties, sorted by caseId. operationId: listMortgageCases parameters: - $ref: ./components/parameters/query/cursor.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: Paginated list of all mortgage cases with all related information sorted by caseId. content: application/json: schema: type: object required: - caseList properties: caseList: type: array items: $ref: ./components/schemas/MortgageCase.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgage-cases/{caseId}: get: tags: - Full Mortgage Cases summary: Return a specific existing mortgage case description: A specific existing mortgage case including the corresponding properties. operationId: getMortgageCase parameters: - $ref: ./components/parameters/path/case_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: Mortgage case details with the corresponding properties. content: application/json: schema: type: object properties: Case: $ref: ./components/schemas/MortgageCase.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages: get: tags: - Existing Mortgages summary: Return the list of all mortgages for the authenticated context description: List of mortgages for the authenticated context including the corresponding properties and related mortgages, sorted by mortgageId. operationId: listMortgages parameters: - $ref: ./components/parameters/query/expiring.yaml - $ref: ./components/parameters/query/cursor.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: Paginated list of all mortgages with all related information sorted by mortgageId. content: application/json: schema: type: object required: - mortgageList properties: mortgageList: type: array items: $ref: ./components/schemas/Mortgage.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/{mortgageId}: get: tags: - Existing Mortgages summary: Return a specific existing mortgage description: A specific existing mortgage including the corresponding properties and related mortgages. operationId: getMortgage parameters: - $ref: ./components/parameters/path/mortgage_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: Mortgage details with the corresponding properties and related mortgages. content: application/json: schema: type: object properties: Mortgage: $ref: ./components/schemas/Mortgage.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/products: get: tags: - Mortgage Products and Conditions summary: Get a list of all mortgage products description: Get a complete overview of all available mortgage products sorted by productId. operationId: listProducts parameters: - $ref: ./components/parameters/query/interest_rate_type.yaml - $ref: ./components/parameters/query/duration.yaml - $ref: ./components/parameters/query/cursor.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: Paginated list of all mortgage products with all related information sorted by productId. content: application/json: schema: type: object required: - productList properties: productList: type: array items: $ref: ./components/schemas/Product.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/products/{productId}/conditions: get: tags: - Mortgage Products and Conditions summary: Get the general conditions for the specified mortgage product description: The standard financial conditions for the product. operationId: listProductConditions parameters: - $ref: ./components/parameters/path/product_id.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/query/interest.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: List of conditions related to a specific mortgage product. content: application/json: schema: type: object properties: conditionList: type: array items: $ref: ./components/schemas/Condition.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications: post: tags: - Mortgage Application summary: Place a new mortgage application (serves as dossier) description: | Place a new application including all necessary information about the property and applicant's financial situation. **Note that in the case where the FI needs additional information on the property, the error response 400 must contain the minimum required JSON object (PropertyObject) as detail**. operationId: createApplication parameters: - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Static details (requesting party, property object) of the application to be added as a dossier. required: true content: application/json: schema: $ref: ./components/schemas/Application.yaml responses: '201': $ref: ./components/responses/standard201.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/required-information: get: tags: - Mortgage Application summary: Get the required property information for the specific FI needed for valuation description: Show the subset of property details required by the FI for valuation. operationId: getApplicationRequiredInformation parameters: - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: $ref: ./components/schemas/PropertyObject.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}: get: tags: - Mortgage Application summary: Get the details of a specific placed application description: Get the details of a specific placed application. operationId: getApplication parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: application: $ref: ./components/schemas/Application.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml put: tags: - Mortgage Application summary: Update the application's details description: | Update the application's details. Note that changing the application's details should not be possible after the application has been accepted by the FI. operationId: updateApplication parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Details of the order to be added. required: true content: application/json: schema: $ref: ./components/schemas/Application.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: status: type: string example: we need an example '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml delete: tags: - Mortgage Application summary: Cancel the application and removing it description: The request to delete a previously shared application. operationId: deleteApplication parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: reason: description: The reason for rejecting an application. type: string example: We need an example '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/swissrets: get: tags: - Mortgage Application summary: Get property details in SwissRETS format description: Get the real estate property's details in SwissRETS format XML according to https://swissrets.ch/. operationId: getApplicationInSwissrets parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/xml: schema: type: string '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml post: tags: - Mortgage Application summary: Add property details in the SwissRETS standard description: | This endpoint allows to upload the real estate property's details as an XML file in the SwissRETS format according to https://swissrets.ch/. operationId: addApplicationInSwissrets parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Details of the real estate property to be added. required: true content: application/xml: schema: type: string responses: '201': $ref: ./components/responses/standard201.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml put: tags: - Mortgage Application summary: Update the real estate property's details description: This endpoint allows to upload a modified XML file in the SwissRETS format changing the already existing information. operationId: updateApplicationInSwissrets parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Details of the real estate property to be added. required: true content: application/xml: schema: type: string responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: status: type: string example: we need an example '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/documents: get: tags: - Mortgage Application summary: Get a list of submitted documents for a specifically placed application description: All documents that have been shared against the Application ID can be retrieved here. operationId: getApplicationDocuments parameters: - $ref: ./components/parameters/query/cursor.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: OK. content: application/json: schema: $ref: ./components/schemas/DocumentUpload.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml post: tags: - Mortgage Application summary: Add documents for the specific application description: Documents can be assigned to a specific application ID. operationId: addApplicationDocument parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Details of the document to be added. required: true content: multipart/form-data: schema: type: object required: - documentType - fileContent - name - type - size properties: documentType: $ref: ./components/schemas/DocumentType.yaml fileContent: type: string format: binary description: The file content. name: type: string description: The name of the file without file type extension. maxLength: 128 example: my-property-flyer type: type: string description: The file type. maxLength: 64 example: application/pdf size: type: integer format: int64 description: The file size in bytes. example: 21543 applicantId: type: string format: uuid description: UUID v4 of the applicant (existing applicant within the current application). example: 576f8de3-6b30-4882-a7af-da2132a456cf responses: '201': $ref: ./components/responses/standard201.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/documents/{documentId}: delete: tags: - Mortgage Application summary: Delete a formerly uploaded document description: | Deletes a specific document attached to a specific application. Note that deleting documents should not be possible after the application has been accepted by the FI. operationId: deleteApplicationDocument parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/path/document_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: status: type: string example: we need an example '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/status: get: tags: - Mortgage Application summary: Get the current status of the application description: Get the current status of the application (rejected with reason, accepted, pending with reason). operationId: getApplicationStatus parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: status: type: string enum: - accepted - rejected - pending example: pending detail: type: string example: Waiting for details description: Additional information that can be shared with the status. '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/financing-requests: post: tags: - Mortgage Financing Request summary: Place a new financing-request for a specific accepted application (dossier) description: Place a new financing request including all necessary information. operationId: addApplicationFinancingRequest parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Specific financing request fo the given application (dossier). required: true content: application/json: schema: $ref: ./components/schemas/FinancingRequest.yaml responses: '201': $ref: ./components/responses/standard201.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/financing-requests/{financingRequestId}/required-information: get: tags: - Mortgage Financing Request summary: List all required documents / information for processing specific Financial request at FI description: All required documents for a specific FinancingRequestId can be retrieved herewith. operationId: listApplicationFinancingRequestRequiredInformation parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/path/financing_request_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: financingRequestId: type: string format: uuid example: 550e8400-e29b-41d4-a716-446655440000 documents: type: array items: $ref: ./components/schemas/DocumentType.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/financing-requests/{financingRequestId}: get: tags: - Mortgage Financing Request summary: Get the details of a financing request description: Get a specific financing request based on the financingRequestId. operationId: getApplicationFinancingRequest parameters: - $ref: ./components/parameters/query/cursor.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/path/financing_request_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: OK. content: application/json: schema: type: object required: - offerList properties: offerList: type: array items: $ref: ./components/schemas/FinancingRequest.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/financing-requests/{financingRequestId}/offers: get: tags: - Mortgage Offers summary: List all binding offers for a given financing request description: Lists the offers for a transferred application and the corresponding financing request. operationId: listApplicationFinancingRequestOffers parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/path/financing_request_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: offerList: type: array items: $ref: ./components/schemas/Offer.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/financing-requests/{financingRequestId}/offers/{offerId}: get: tags: - Mortgage Offers summary: Get the details of a specific offer description: Get the details of a specific offer for a specific placed application. operationId: getApplicationFinancingRequestOffer parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/path/financing_request_id.yaml - $ref: ./components/parameters/path/offer_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: offer: $ref: ./components/schemas/Offer.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/offers/{offerId}/document: get: tags: - Mortgage Offers summary: Get document for the given offer description: Get document for the offer, this can be used by TPP to display offer content. operationId: getOfferDocument parameters: - $ref: ./components/parameters/path/offer_id.yaml - $ref: ./components/parameters/query/language.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: document: $ref: ./components/schemas/Document.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/applications/{applicationId}/financing-requests/{financingRequestId}/offers/{offerId}/required-information: get: tags: - Mortgage Offers summary: List all required documents / information for processing specific offer at FI description: Lists the required documents for the previously submitted case. Thus, the TPP knows which documents are needed for the later check. operationId: listApplicationFinancingRequestOfferRequiredInformation parameters: - $ref: ./components/parameters/path/application_id.yaml - $ref: ./components/parameters/path/financing_request_id.yaml - $ref: ./components/parameters/path/offer_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: offerId: type: string format: uuid example: 550e8400-e29b-41d4-a716-446655440000 documents: type: array items: $ref: ./components/schemas/DocumentType.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/orders: post: tags: - Mortgage Order summary: Place a new order description: | Place a new order referencing a specific offerId and either an existing mortgage id (prolongation) or an application id (new mortgage) including all relevant information. operationId: addOrder parameters: - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml requestBody: description: Details of the order to be added. required: true content: application/json: schema: $ref: ./components/schemas/Order.yaml responses: '201': $ref: ./components/responses/standard201.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/orders/{orderId}: get: tags: - Mortgage Order summary: Get the details of a specific placed order description: Get the details of a specific placed order. operationId: getOrder parameters: - $ref: ./components/parameters/path/order_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: offer: $ref: ./components/schemas/Order.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/orders/{orderId}/status: get: tags: - Mortgage Order summary: Get the current status of the order description: | Returns the current status of the order. An order can be in accepted rejected or pending status. In addition, further details regarding the status can be transferred. operationId: getOrderStatus parameters: - $ref: ./components/parameters/path/order_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: status: type: string enum: - accepted - rejected - pending example: pending detail: type: string example: Waiting for details '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/orders/{orderId}/document: get: tags: - Mortgage Order summary: Get document for the given order description: Get document for given order, this can be used by TPP to display offer content. operationId: getOrderDocument parameters: - $ref: ./components/parameters/path/order_id.yaml - $ref: ./components/parameters/query/language.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: OK. content: application/json: schema: type: object properties: document: $ref: ./components/schemas/Document.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/{mortgageId}/offers: get: tags: - Mortgage Prolongation summary: Get all active offers for a specific tranche description: Get offer framework for the to be extended mortgage. operationId: listOffers parameters: - $ref: ./components/parameters/query/cursor.yaml - $ref: ./components/parameters/query/limit.yaml - $ref: ./components/parameters/path/mortgage_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml X-Next-Cursor: $ref: ./components/headers/X-Next-Cursor.yaml description: Paginated list of all offers for a specific expiring mortgage. content: application/json: schema: type: object required: - offerList properties: offerList: type: array items: $ref: ./components/schemas/Offer.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml /mortgages/{mortgageId}/offers/{offerId}: get: tags: - Mortgage Prolongation summary: Get a specific offer for a specific tranche description: Get a specific offer for the to be extended mortgage. operationId: getOffer parameters: - $ref: ./components/parameters/path/mortgage_id.yaml - $ref: ./components/parameters/path/offer_id.yaml - $ref: ./components/parameters/header/client_id.yaml - $ref: ./components/parameters/header/correlation.yaml - $ref: ./components/parameters/header/agent.yaml responses: '200': headers: X-Correlation-ID: $ref: ./components/headers/X-Correlation-ID.yaml description: Specific offer for a specific expiring mortgage. content: application/json: schema: type: object properties: offer: $ref: ./components/schemas/Offer.yaml '400': $ref: ./components/responses/standard400.yaml '401': $ref: ./components/responses/standard401.yaml '403': $ref: ./components/responses/standard403.yaml '404': $ref: ./components/responses/standard404.yaml '405': $ref: ./components/responses/standard405.yaml '500': $ref: ./components/responses/standard500.yaml '501': $ref: ./components/responses/standard501.yaml '503': $ref: ./components/responses/standard503.yaml components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://example.com/oauth/authorize tokenUrl: https://example.com/oauth/token scopes: read: Grants read access write: Grants write access