Oper Credits Simulators API
The Simulators API from Oper Credits — 15 operation(s) for simulators.
The Simulators API from Oper Credits — 15 operation(s) for simulators.
openapi: 3.0.3
info:
title: Oper Credits Agent Documents Simulators API
version: ''
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:
Funder:
properties:
id:
readOnly: true
type: integer
name:
maxLength: 256
type: string
required:
- id
- name
type: object
LoanRequestSubPurpose:
description: Can be managed at /resources/loan-request-sub-purpose
properties:
definition:
type: string
id:
type: integer
is_mortgage:
type: boolean
is_refinance:
nullable: true
type: boolean
order:
readOnly: true
type: integer
required:
- definition
- id
- order
type: object
MortgageSimulatorRenovationCost:
properties:
amount:
format: double
minimum: 0
type: number
id:
nullable: true
type: integer
is_green_renovations:
nullable: true
type: boolean
type:
$ref: '#/components/schemas/RenovationType'
required:
- amount
- type
type: object
PaginatedReducedMortgageSimulationResultList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/ReducedMortgageSimulationResult'
type: array
required:
- count
- results
type: object
PurchaseSaleType:
description: Can be managed at /resources/purchase-sale-type
properties:
definition:
type: string
id:
type: integer
order:
readOnly: true
type: integer
required:
- definition
- id
- order
type: object
MortgageSimulatorBorrowerInfo:
properties:
birth_date:
format: date
nullable: true
type: string
emails:
items:
$ref: '#/components/schemas/Email'
nullable: true
type: array
first_name:
nullable: true
type: string
has_vehicle:
default: true
nullable: true
type: boolean
id:
nullable: true
type: integer
incomes:
items:
$ref: '#/components/schemas/MortgageSimulatorIncome'
type: array
is_living_in_same_household:
default: false
nullable: true
type: boolean
is_main_borrower:
nullable: true
type: boolean
language:
allOf:
- $ref: '#/components/schemas/Language'
nullable: true
last_name:
nullable: true
type: string
liabilities:
items:
$ref: '#/components/schemas/MortgageSimulatorLiability'
type: array
number_of_dependents:
nullable: true
type: integer
people_in_household:
nullable: true
type: integer
phone_numbers:
items:
$ref: '#/components/schemas/Phone'
nullable: true
type: array
type: object
MortgageSimulatorCollateral:
properties:
collateral_amount:
format: double
nullable: true
type: number
collateral_purpose:
allOf:
- $ref: '#/components/schemas/RealtyPurpose'
nullable: true
credit_provider:
allOf:
- $ref: '#/components/schemas/ReducedCreditProvider'
nullable: true
has_existing_loan:
default: false
type: boolean
mortgage_inscription_start_date:
format: date
nullable: true
type: string
mortgage_security_type:
allOf:
- $ref: '#/components/schemas/MortgageSecurityType'
nullable: true
original_loan_amount:
format: double
nullable: true
type: number
realty_type:
allOf:
- $ref: '#/components/schemas/RealtyType'
nullable: true
realty_usage_type:
allOf:
- $ref: '#/components/schemas/RealtyUsageType'
nullable: true
type: object
Phone:
properties:
country_code:
$ref: '#/components/schemas/PhoneCountryCode'
id:
readOnly: true
type: integer
value:
maxLength: 32
type: string
required:
- country_code
- id
- value
type: object
CoLivingGroupType:
description: Can be managed at /resources/co-living-group-type
properties:
definition:
type: string
id:
type: integer
order:
readOnly: true
type: integer
required:
- definition
- id
- order
type: object
ConvertSimulationToLoanRequest:
properties:
additional_needs:
items:
$ref: '#/components/schemas/MortgageSimulationAdditionalFinancingNeeds'
nullable: true
type: array
akr_expenses:
nullable: true
analyst:
allOf:
- $ref: '#/components/schemas/ReducedBaseUser'
nullable: true
architect_fees:
format: double
nullable: true
type: number
borrowers_info:
items:
$ref: '#/components/schemas/MortgageSimulatorBorrowerInfo'
type: array
broker:
allOf:
- $ref: '#/components/schemas/ReducedBroker'
nullable: true
building_costs:
format: double
nullable: true
type: number
buy_out_amount:
format: double
nullable: true
type: number
calculated_financial_plan:
allOf:
- $ref: '#/components/schemas/MortgageSimulationFinancialPlan'
nullable: true
co_living_group_type:
allOf:
- $ref: '#/components/schemas/CoLivingGroupType'
nullable: true
collaterals:
items:
$ref: '#/components/schemas/MortgageSimulatorCollateral'
nullable: true
type: array
created_by:
allOf:
- $ref: '#/components/schemas/ReducedBaseUser'
readOnly: true
dscr:
nullable: true
dsti:
format: double
nullable: true
type: number
epc_after_renovations:
minimum: 0
nullable: true
type: integer
epc_before_renovations:
minimum: 0
nullable: true
type: integer
external_calculators:
nullable: true
fair_market_value:
format: double
nullable: true
type: number
fiduciary:
allOf:
- $ref: '#/components/schemas/Fiduciary'
nullable: true
financial_assets:
items:
$ref: '#/components/schemas/MortgageSimulatorFinancialAsset'
nullable: true
type: array
financial_plan:
allOf:
- $ref: '#/components/schemas/MortgageSimulationFinancialPlan'
nullable: true
financial_plan_loan_amount_items:
description: Financial plan items funded by loans
items:
$ref: '#/components/schemas/MortgageSimulatorFinancialPlanLoanAmountItem'
type: array
financial_plan_overridden_fields:
allOf:
- $ref: '#/components/schemas/MortgageSimulationFinancialPlan'
nullable: true
financial_plan_own_fund_items:
description: Financial plan items funded by own funds
items:
$ref: '#/components/schemas/MortgageSimulatorFinancialPlanOwnFundItem'
type: array
free_use_mortgage:
format: double
nullable: true
type: number
id:
type: integer
internal_reference:
readOnly: true
type: string
is_main_first_residence:
default: false
type: boolean
is_realtor_excluded:
default: false
type: boolean
is_shared_with_borrower:
default: false
type: boolean
land_purchase_type:
allOf:
- $ref: '#/components/schemas/LandPurchaseType'
nullable: true
land_value:
format: double
nullable: true
type: number
lead_generator:
allOf:
- $ref: '#/components/schemas/ReducedLeadGenerator'
nullable: true
loan_purposes:
items:
$ref: '#/components/schemas/LoanRequestPurpose'
type: array
ltv:
format: double
nullable: true
type: number
main_borrower:
allOf:
- $ref: '#/components/schemas/NestedClientProfile'
readOnly: true
monthly_payment_estimations:
items:
$ref: '#/components/schemas/MortgageSimulatorMonthlyPaymentEstimation'
nullable: true
type: array
name:
nullable: true
type: string
notary:
allOf:
- $ref: '#/components/schemas/Notary'
nullable: true
offers:
items:
$ref: '#/components/schemas/AdvisorMortgageSimulatorConvertOffer'
nullable: true
type: array
price_of_land:
format: double
nullable: true
type: number
pro_fisco_value:
format: double
nullable: true
type: number
products_search_filters:
allOf:
- $ref: '#/components/schemas/MortgageSimulatorProductsSearchFilters'
nullable: true
purchase_sale_type:
allOf:
- $ref: '#/components/schemas/PurchaseSaleType'
nullable: true
realty_price:
format: double
nullable: true
type: number
realty_type:
allOf:
- $ref: '#/components/schemas/RealtyType'
nullable: true
realty_usage_type:
allOf:
- $ref: '#/components/schemas/RealtyUsageType'
nullable: true
refinances:
items:
$ref: '#/components/schemas/MortgageSimulatorRefinance'
nullable: true
type: array
region:
allOf:
- $ref: '#/components/schemas/Region'
nullable: true
renovation_costs:
items:
$ref: '#/components/schemas/MortgageSimulatorRenovationCost'
nullable: true
type: array
selected_discounts:
nullable: true
selected_document_types:
items:
type: integer
nullable: true
type: array
writeOnly: true
selected_products:
items:
items:
$ref: '#/components/schemas/NestedProduct'
type: array
nullable: true
type: array
source:
allOf:
- $ref: '#/components/schemas/MortgageSimulationSource'
readOnly: true
status:
$ref: '#/components/schemas/MortgageSimulationStatus'
subsidy_bridge_amount:
format: double
nullable: true
type: number
surplus:
format: double
nullable: true
type: number
total_additional_needs:
default: 0.0
format: double
type: number
total_build_costs:
format: double
nullable: true
type: number
total_buy_out_costs:
format: double
nullable: true
type: number
total_costs:
format: double
nullable: true
type: number
total_credit_costs:
format: double
nullable: true
type: number
total_distribution_costs:
format: double
nullable: true
type: number
total_financial_assets:
default: 0.0
format: double
type: number
total_financing:
format: double
nullable: true
type: number
total_monthly_amount:
format: double
nullable: true
type: number
total_other_costs:
format: double
nullable: true
type: number
total_purchase_cost:
format: double
nullable: true
type: number
total_purchase_price:
format: double
nullable: true
type: number
total_refinancing_costs:
format: double
nullable: true
type: number
total_renovation_costs:
format: double
nullable: true
type: number
unsecured_lending_amount:
format: double
nullable: true
type: number
venal_value_after:
format: double
nullable: true
type: number
venal_value_before:
format: double
nullable: true
type: number
required:
- created_by
- id
- internal_reference
- main_borrower
- source
type: object
ReducedMortgageSimulationResult:
properties:
analyst:
allOf:
- $ref: '#/components/schemas/ReducedBaseUser'
nullable: true
broker:
allOf:
- $ref: '#/components/schemas/ReducedBroker'
nullable: true
created:
format: date-time
readOnly: true
title: Creation date and time
type: string
created_by:
allOf:
- $ref: '#/components/schemas/ReducedBaseUser'
readOnly: true
expiration_date:
readOnly: true
type: string
fiduciary:
allOf:
- $ref: '#/components/schemas/Fiduciary'
nullable: true
id:
type: integer
internal_reference:
readOnly: true
type: string
last_modified:
format: date-time
readOnly: true
title: Modification date and time
type: string
lead_generator:
allOf:
- $ref: '#/components/schemas/ReducedLeadGenerator'
nullable: true
loan_amount:
readOnly: true
type: string
loan_purposes:
items:
$ref: '#/components/schemas/LoanRequestPurpose'
type: array
loan_request:
allOf:
- $ref: '#/components/schemas/ReducedLoanRequest'
readOnly: true
main_borrower:
$ref: '#/components/schemas/ReducedClientProfileWithContactInformation'
name:
nullable: true
type: string
notary:
allOf:
- $ref: '#/components/schemas/Notary'
nullable: true
preapproval_status:
readOnly: true
type: string
region:
allOf:
- $ref: '#/components/schemas/Region'
nullable: true
source:
allOf:
- $ref: '#/components/schemas/MortgageSimulationSource'
readOnly: true
# --- truncated at 32 KB (115 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oper-credits/refs/heads/main/openapi/oper-credits-simulators-api-openapi.yml