Oper Credits Simulators API

The Simulators API from Oper Credits — 15 operation(s) for simulators.

Operations 20

POST /api/simulators/calculate/ #
POST /api/simulators/default-products/ #
GET /api/simulators/discounts/ #
POST /api/simulators/discounts/ #
GET /api/simulators/mortgage/advisor/client-upload-document-types/ #
GET /api/simulators/mortgage/advisor/client-upload-document-types/{id}/ #
POST /api/simulators/mortgage/advisor/convert/ #
POST /api/simulators/mortgage/advisor/products/ #
GET /api/simulators/mortgage/advisor/simulations/ #
POST /api/simulators/mortgage/advisor/simulations/ #
POST /api/simulators/mortgage/advisor/simulations/clean-up/ #
DELETE /api/simulators/mortgage/advisor/simulations/{id}/ #
GET /api/simulators/mortgage/advisor/simulations/{id}/ #
PATCH /api/simulators/mortgage/advisor/simulations/{id}/ #
PUT /api/simulators/mortgage/advisor/simulations/{id}/ #
DELETE /api/simulators/mortgage/advisor/simulations/{id}/remove/ #
POST /api/simulators/mortgage/advisor/simulations/{id}/sync-simulations/ #
POST /api/simulators/mortgage/client/ #
POST /api/simulators/offer/ #
POST /api/simulators/offers/ #

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/oper-credits-simulators-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

oper-credits-simulators-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Oper Credits Agent Documents Simulators API
  version: '1.0'
servers:
- url: https://developers.opercredits.com/
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Simulators
paths:
  /api/simulators/calculate/:
    post:
      operationId: api_simulators_calculate_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvisorMortgageSimulator'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AdvisorMortgageSimulator'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AdvisorMortgageSimulator'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvisorMortgageSimulator'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/default-products/:
    post:
      description: "The DynamicProductLiteViewSet provides a way to fetch the list of available products by providing loan request data\n as input since no actual LR will exist at the time of calling this in Advisor Simulator v2.\nIt is used to select products to add to an offer as product items.\n\nThe list is a multiplication of the active ProductVersions with a start date of at least today and\nthe allowed variabilities configured for the product.\nAs an example:\n2 Products (A & B) with each one version\nProduct A has 2 allowed variabilities (fix and 5-5-5)\nProduct B has 1 allowed variabilities (fix)\nThe view will return 3 results\nIf product A has 2 versions that have a start date of at least today, the view will return 5 results.\n\nNext to the product details, the view runs the acceptance rules and provides the result in the errors attribute.\n\nDeveloper notes:\nThe logic used in this view and its related code assumes that there is no offer or product items\nto base calculations on.\n\nYou can define the duration you want to calculate the products for by setting the query params min_duration\nand max_duration to an equal value. Otherwise, those values are only used to filter and the default duration\non the product version is used in the calculations.,\n\nInputs will be sent in the body of the POST request:\n{\n    \"loan_amount\": decimal,\n    \"cash_own_funds\": decimal,\n    \"bridge_loan_amount\": decimal,\n    \"realty_price\": decimal,\n    \"building_costs\": decimal,\n    \"price_of_land\": decimal,\n    \"total_renovation_costs\": decimal,\n    \"cost_vat\": decimal,\n    \"additional_financing_needs\": decimal,\n    \"region\": {\n        \"id\": int,\n        \"definition\": \"str\"\n    },\n    \"is_main_first_residence\": boolean,\n    \"venal_value_after\": decimal,\n    \"loan_purposes\": [\n        {\n            \"id\": int,\n            \"definition\": \"str\"\n        }\n    ]\n}\n\nAs inputs we will take known data from the simulator and construct LoanRequest and Realty objects, which will then\nbe used to initialize DataHandlers in Serializer context. Then the serializer will proceed with rate calculations.\nThis serializer won't be running acceptance criteria and will not have the results in the data."
      operationId: api_simulators_default_products_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicProductLite'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/discounts/:
    get:
      operationId: api_simulators_discounts_list
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BaseProductDiscountsSimulator'
                type: array
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
    post:
      operationId: api_simulators_discounts_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaseProductDiscountsSimulator'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BaseProductDiscountsSimulator'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BaseProductDiscountsSimulator'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseProductDiscountsSimulator'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/client-upload-document-types/:
    get:
      description: Informative document types
      operationId: api_simulators_mortgage_advisor_client_upload_document_types_list
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DocumentType'
                type: array
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/client-upload-document-types/{id}/:
    get:
      description: Informative document types
      operationId: api_simulators_mortgage_advisor_client_upload_document_types_retrieve
      parameters:
      - description: A unique integer value identifying this Document Type.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentType'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/convert/:
    post:
      description: Convert a simulation to Loan Request
      operationId: api_simulators_mortgage_advisor_convert_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertSimulationToLoanRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ConvertSimulationToLoanRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ConvertSimulationToLoanRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConvertLoanRequestSummary'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/products/:
    post:
      description: "The DynamicProductLiteViewSet provides a way to fetch the list of available products by providing loan request data\n as input since no actual LR will exist at the time of calling this in Advisor Simulator v2.\nIt is used to select products to add to an offer as product items.\n\nThe list is a multiplication of the active ProductVersions with a start date of at least today and\nthe allowed variabilities configured for the product.\nAs an example:\n2 Products (A & B) with each one version\nProduct A has 2 allowed variabilities (fix and 5-5-5)\nProduct B has 1 allowed variabilities (fix)\nThe view will return 3 results\nIf product A has 2 versions that have a start date of at least today, the view will return 5 results.\n\nNext to the product details, the view runs the acceptance rules and provides the result in the errors attribute.\n\nDeveloper notes:\nThe logic used in this view and its related code assumes that there is no offer or product items\nto base calculations on.\n\nYou can define the duration you want to calculate the products for by setting the query params min_duration\nand max_duration to an equal value. Otherwise, those values are only used to filter and the default duration\non the product version is used in the calculations.,\n\nInputs will be sent in the body of the POST request:\n{\n    \"loan_amount\": decimal,\n    \"cash_own_funds\": decimal,\n    \"bridge_loan_amount\": decimal,\n    \"realty_price\": decimal,\n    \"building_costs\": decimal,\n    \"price_of_land\": decimal,\n    \"total_renovation_costs\": decimal,\n    \"cost_vat\": decimal,\n    \"additional_financing_needs\": decimal,\n    \"region\": {\n        \"id\": int,\n        \"definition\": \"str\"\n    },\n    \"is_main_first_residence\": boolean,\n    \"venal_value_after\": decimal,\n    \"loan_purposes\": [\n        {\n            \"id\": int,\n            \"definition\": \"str\"\n        }\n    ]\n}\n\nAs inputs we will take known data from the simulator and construct LoanRequest and Realty objects, which will then\nbe used to initialize DataHandlers in Serializer context. Then the serializer will proceed with rate calculations.\nThis serializer won't be running acceptance criteria and will not have the results in the data."
      operationId: api_simulators_mortgage_advisor_products_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DynamicProductLite'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicProductLite'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/:
    get:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_list
      parameters:
      - in: query
        name: analyst
        schema:
          type: integer
      - in: query
        name: loan_request
        schema:
          type: integer
      - in: query
        name: obsolete
        schema:
          type: boolean
      - description: Which field to use when ordering the results.
        in: query
        name: ordering
        required: false
        schema:
          type: string
      - description: A page number within the paginated result set.
        in: query
        name: page
        required: false
        schema:
          type: integer
      - description: Number of results to return per page.
        in: query
        name: page_size
        required: false
        schema:
          type: integer
      - description: A search term.
        in: query
        name: search
        required: false
        schema:
          type: string
      - in: query
        name: source
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReducedMortgageSimulationResultList'
          description: ''
      tags:
      - Simulators
    post:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_create
      responses:
        '201':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/clean-up/:
    post:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_clean_up_create
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/{id}/:
    delete:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_destroy
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No response body
      tags:
      - Simulators
    get:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_retrieve
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
    patch:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_partial_update
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
    put:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_update
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/{id}/remove/:
    delete:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_remove_destroy
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/advisor/simulations/{id}/sync-simulations/:
    post:
      description: A ViewSet mixin that parametrizes DRF methods over roles
      operationId: api_simulators_mortgage_advisor_simulations_sync_simulations_create
      parameters:
      - description: A unique integer value identifying this Mortgage Simulation.
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: No response body
      tags:
      - Simulators
  /api/simulators/mortgage/client/:
    post:
      operationId: api_simulators_mortgage_client_create
      responses:
        '200':
          description: No response body
      security:
      - jwtAuth: []
      - {}
      tags:
      - Simulators
  /api/simulators/offer/:
    post:
      operationId: api_simulators_offer_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSimulatorOffer'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateSimulatorOffer'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateSimulatorOffer'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSimulatorOffer'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
  /api/simulators/offers/:
    post:
      operationId: api_simulators_offers_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateSimulatorOffers'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenerateSimulatorOffers'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GenerateSimulatorOffers'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateSimulatorOffers'
          description: ''
      security:
      - jwtAuth: []
      tags:
      - Simulators
components:
  schemas:
    LoanRequestSubPurpose:
      description: Can be managed at /resources/loan-request-sub-purpose
      properties:
        definition:
          type: string
        id:
          type: integer
        is_mortgage:
          type: boolean
        is_refinance:
          type:
          - boolean
          - 'null'
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    MortgageSimulatorFinancialAsset:
      properties:
        amount:
          format: double
          minimum: 0
          type: number
        type:
          $ref: '#/components/schemas/FinancialAssetType'
      required:
      - amount
      - type
      type: object
    AdvisorMortgageSimulatorConvertProductItem:
      properties:
        acceptance_rules:
          items:
            additionalProperties: {}
            type: object
          readOnly: true
          type: array
        amortization:
          format: double
          type: number
        amortization_mensuality:
          format: double
          readOnly: true
          type: number
        amount:
          format: double
          type: number
        aprc:
          format: double
          readOnly: true
          type: number
        bandwidth_config:
          additionalProperties: {}
          readOnly: true
          type:
          - object
          - 'null'
        base_rate:
          format: double
          type: number
        cost_file:
          format: double
          readOnly: true
          type: number
        costs:
          items:
            $ref: '#/components/schemas/ProductItemCost'
          readOnly: true
          type: array
        discounts:
          items:
            $ref: '#/components/schemas/DiscountSimulator'
          type: array
        discounts_rate:
          format: double
          readOnly: true
          type: number
        duration:
          minimum: 0
          type: integer
        end_amount:
          format: double
          readOnly: true
          type: number
        id:
          type: integer
        interest_rate:
          default: 0.0
          format: double
          type: number
        interest_rate_overridden:
          default: false
          type: boolean
        internal_reference:
          readOnly: true
          type: string
        is_amount_overridden:
          default: false
          type: boolean
        max_amortization:
          format: double
          readOnly: true
          type: number
        max_amortization_period:
          readOnly: true
          type: integer
        max_duration:
          format: double
          readOnly: true
          type: number
        min_duration:
          format: double
          readOnly: true
          type: number
        pricing_sheet:
          allOf:
          - $ref: '#/components/schemas/PricingSheet'
        principal_delta:
          format: double
          readOnly: true
          type: number
        product:
          $ref: '#/components/schemas/ReducedProductVersion'
        product_version_id:
          type: integer
        quality_adjustments:
          readOnly: true
        scoring_rate:
          format: double
          type: number
        severity:
          $ref: '#/components/schemas/SeverityType'
        success:
          readOnly: true
          type: boolean
        total_amount_to_reimburse:
          format: double
          type:
          - number
          - 'null'
        total_costs:
          format: double
          readOnly: true
          type: number
        total_interest:
          format: double
          readOnly: true
          type: number
        total_interest_mensuality:
          format: double
          readOnly: true
          type: number
        total_payback_amount:
          format: double
          readOnly: true
          type: number
        variability:
          $ref: '#/components/schemas/Variability'
      required:
      - acceptance_rules
      - amortization
      - amortization_mensuality
      - amount
      - aprc
      - bandwidth_config
      - cost_file
      - costs
      - discounts_rate
      - duration
      - end_amount
      - id
      - internal_reference
      - max_amortization
      - max_amortization_period
      - max_duration
      - min_duration
      - principal_delta
      - product
      - product_version_id
      - quality_adjustments
      - severity
      - success
      - total_costs
      - total_interest
      - total_interest_mensuality
      - total_payback_amount
      - variability
      type: object
    CompanyType:
      description: Can be managed at /resources/company-types
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    ReducedCreditProvider:
      description: To be used for a short summary of the CreditProvider
      properties:
        active:
          readOnly: true
          type: boolean
        fsma_reference:
          maxLength: 128
          readOnly: true
          type: string
        full_name:
          readOnly: true
          type: string
        id:
          type: integer
        is_liability_provider:
          readOnly: true
          type: boolean
        loan_request_form_documents:
          readOnly: true
          type: string
        logo_url:
          format: uri
          readOnly: true
          type: string
        name:
          readOnly: true
          type: string
        order:
          maximum: 2147483647
          minimum: 0
          readOnly: true
          type:
          - integer
          - 'null'
      required:
      - active
      - fsma_reference
      - full_name
      - id
      - is_liability_provider
      - loan_request_form_documents
      - logo_url
      - name
      - order
      type: object
    MortgageSimulatorBorrowerInfo:
      properties:
        birth_date:
          format: date
          type:
          - string
          - 'null'
        emails:
          items:
            $ref: '#/components/schemas/Email'
          type:
          - array
          - 'null'
        first_name:
          type:
          - string
          - 'null'
        has_vehicle:
          default: true
          type:
          - boolean
          - 'null'
        id:
          type:
          - integer
          - 'null'
        incomes:
          items:
            $ref: '#/components/schemas/MortgageSimulatorIncome'
          type: array
        is_living_in_same_household:
          default: false
          type:
          - boolean
          - 'null'
        is_main_borrower:
          type:
          - boolean
          - 'null'
        language:
          allOf:
          - $ref: '#/components/schemas/Language'
        last_name:
          type:
          - string
          - 'null'
        liabilities:
          items:
            $ref: '#/components/schemas/MortgageSimulatorLiability'
          type: array
        number_of_dependents:
          type:
          - integer
          - 'null'
        people_in_household:
          type:
          - integer
          - 'null'
        phone_numbers:
          items:
            $ref: '#/components/schemas/Phone'
          type:
          - array
          - 'null'
      type: object
    ProductType:
      description: Can be managed at /resources/product-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    BaseProductDiscountsSimulator:
      description: To be used in the ProductItemSerializer
      properties:
        active:
          readOnly: true
          type: boolean
        credit_provider:
          allOf:
          - $ref: '#/components/schemas/ReducedCreditProvider'
          readOnly: true
        discounts:
          items:
            properties:
              discounts:
                items:
                  properties:
                    ignore_childs:
                      type: boolean
                    interest_rate:
                      format: double
                      type: number
                    is_corrected:
                      type: boolean
                    is_outdated:
                      type: boolean
                    is_selected:
                      type: boolean
                    is_selected_by_default:
                      type: boolean
                    is_valid:
                      type: boolean
                    max_discounts_allowed:
                      type: integer
                    name:
                      type: string
                  required:
                  - name
                  type: object
                type: array
              ignore_childs:
                type: boolean
              interest_rate:
                format: double
                type: number
              is_corrected:
                type: boolean
              is_outdated:
                type: boolean
              is_selected:
                type: boolean
              is_selected_by_default:
                type: boolean
              is_valid:
                type: boolean
              max_discounts_allowed:
                type: integer
              name:
                type: string
            required:
            - name
            type: object
          readOnly: true
          type: array
        funder:
          allOf:
          - $ref: '#/components/schemas/Funder'
          readOnly: true
        id:
          type: integer
        is_simulator_reference_product:
          readOnly: true
          type: boolean
        loan_type:
          allOf:
          - $ref: '#/components/schemas/LoanType'
          readOnly: true
        logo_url:
          format: uri
          maxLength: 200
          readOnly: true
          type: string
        name:
          maxLength: 64
          readOnly: true
          type: string
      required:
      - active
      - credit_provider
      - discounts
      - funder
      - id
      - is_simulator_reference_product
      - loan_type
      - logo_url
      - name
      type: object
    IncomeType:
      description: Can be managed at /resources/income-type
      properties:
        color:
          readOnly: true
          type: string
        definition:
          type: string
        form_template:
          readOnly: true
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - color
      - definition
      - form_template
      - id
      - order
      type: object
    MortgageSimulatorRefinanceTranche:
      properties:
        interest_rate:
          format: double
          type:
          - number
          - 'null'
        original_loan_amount:
          format: double
          type:
          - number
          - 'null'
        outstanding_balance:
          format: double
          type: number
        related_realties:
          items:
            $ref: '#/components/schemas/MortgageSimulatorRelatedRealties'
          type: array
      required:
      - outstanding_balance
      type: object
    LandPurchaseType:
      description: Can be managed at /resources/land-purchase-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    ExternalCalculatorType:
      description: Can be managed at /resources/external-calculator-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    MortgageSecurityType:
      description: Can be managed at /resources/mortgage-security-type
      properties:
        definition:
          type: string
        id:
          type: integer
        order:
          readOnly: true
          type: integer
      required:
      - definition
      - id
      - order
      type: object
    ReducedProductVersion:
      description: Used as a serializer mixin for filtering library documents
      properties:
        allowed_due_days:
          items:
            type: integer
          readOnly: true
          type: array
        allowed_product_variabilities:
          items:
            $ref: '#/components/schemas/AllowedProductVariability'
          readOnly: true
          type: array
        allowed_variabilities:
          readOnly: true
          type: string
        base_product_id:
          readOnly: true
          type: integer
        credit_provider:
          allOf:
          - $ref: '#/components/schemas/ReducedCreditProvider'
          readOnly: true
        custom_translations:
          readOnly: true
        due_day:
          readOnly: true
          type:
          - integer
          - 'null'
        funder:
          allOf:
          - $ref: '#/components/schemas/Funder'
          readOnly: true
        grace_period:
          readOnly: true
          type:
          - integer
          - 'null'
        id:
          type: integer
        is_interest_paid_in_grace_period:
          readOnly: true
          type: boolean
        loan_request_form_documents:
          readOnly: true
          type: string
        loan_type:
          allOf:
          - $ref: '#/components/schemas/LoanType'
          readOnly: true
        logo_url:
          format: uri
          readOnly: true
          type: string
        max_grace_period:
          readOnly: true
          type: integer
        min_grace_period:
          readOnly: true
          type: integer
        name:
          readOnly: true
          type: string
        product_type:
          allOf:
          - $ref: '#/components/schemas/LoanType'
          readOnly: true
      required:
      - allowed_due_days
      - allowed_product_variabilities
      - allowed_variabilities
      - base_product_id
      - credit_provider
      - custom_translations
      - due_day
      - funder
      - grace_period
      - id
      - is_interest_paid_in_grace_period
      - loan_request_form_documents
      - loan_type
      - logo_url
      - max_grace_period
      - min_grace_period
      - name
      - product_type
      type: object
    AdvisorMortgageSimulator:
      properties:
        additional_needs:
          items:
            $ref: '#/components/schemas/MortgageSimulationAdditionalFinancingNeeds'
          type:
          - array
          - 'null'
        akr_expenses:
          readOnly: true
          type: string
        architect_fees:
          default: 0.0
          format: double
          minimum: 0
          type:
          - number
          - 'null'
          writeOnly: true
        borrowers_info:
          items:
            $ref: '#/components/schemas/MortgageSimulatorBorrowerInfo'
          type: array
        building_costs:
          default: 0.0
          format: double
          minimum: 0
          type:
          - number
          - 'null'
          writeOnly: true
        buy_out_amount:
          default: 0.0
          fo

# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oper-credits/refs/heads/main/openapi/oper-credits-simulators-api-openapi.yml