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.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/oper-credits-simulators-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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