Install
openclaw skills install @vestafolio/vestafolio-capacite-empruntEstimate the maximum mortgage a French household can borrow from income, existing charges and the HCSF 35 % debt ratio using Vestafolio's simulator API, after asking the simulator's questions (net household income, fixed charges, rate, duration, insurance rate). Use when a user asks how much they can borrow, "combien puis-je emprunter", borrowing capacity (capacité d'emprunt), taux d'endettement, or what property budget their salary allows.
openclaw skills install @vestafolio/vestafolio-capacite-empruntFor a request within this simulator's scope:
https://www.vestafolio.com, summarize the fields and
values to be sent, and obtain the user's agreement. Existing explicit
approval for this destination and data scope is sufficient; do not ask
again for calls it already covers. Installing or selecting the skill alone
is not approval to transmit personal data. If the user declines, do not
POST; offer the simulator link for manual use without prefilled inputs.execute_code in OpenWebUI). Python can use
urllib.request; in browser-based Pyodide use await pyfetch(...) from
pyodide.http. A Python environment does not need a shell to call the API.ok must be true; read the
calculation from result. Ground the answer in that output, state relevant
assumptions and limits. Offer the simulator link when useful for checking
assumptions or exploring alternatives; respect requests for no links.Writing a code block is not execution. Do not substitute mental arithmetic, remembered tax rules, or the worked example for a tool result. If execution or network access is unavailable, or the API fails, say the calculation could not be completed and provide the simulator link; do not invent its result or recommendation. A schema GET alone is not a completed simulation.
Reply in French whenever the user speaks or writes in French.
Estimates the maximum amount a household can borrow for a property purchase from its net monthly income, existing charges, the envisaged loan rate and duration, and the maximum debt ratio (taux d'endettement). The formula below is the one coded in the simulator; use it to explain, and the API to compute.
The simulator asks these five inputs, in this order (card « Vos revenus et charges »). Ask or confirm each in French.
monthlyIncome (« Incluez tous les revenus du
foyer »: net monthly income before tax of all borrowers).monthlyCharges (« Uniquement les
charges fixes : crédits en cours, pensions alimentaires, loyers.
N'incluez pas les dépenses courantes (alimentation, loisirs...). »).rate (percent; the site allows 0 to 10).years (the site allows 5 to 25).insuranceRate (« Taux annuel moyen :
0,25% à 0,40% selon l'âge et l'état de santé »).debtRatio — the website does not ask it and always applies the 35 %
HCSF norm. Keep 35 unless the user explicitly wants to test another ratio.currentDebtRatio = (charges + maximum payment) / income: by construction
it equals the ratio (35 %) whenever something can be borrowed.Always fetch the canonical input schema first (fields, bounds, defaults):
GET https://www.vestafolio.com/api/tools/v1/capacite-emprunt
Then POST the user's parameters (all amounts in euros, rates in percent):
curl --fail-with-body --silent --show-error --max-time 30 -X POST https://www.vestafolio.com/api/tools/v1/capacite-emprunt \
-H 'Content-Type: application/json' \
-d '{
"monthlyIncome": 4000,
"monthlyCharges": 300,
"rate": 3.5,
"years": 20,
"insuranceRate": 0.3,
"debtRatio": 35
}'
Unknown fields are rejected (strict schema) — if you get a validation_error,
re-read the schema from the GET endpoint rather than guessing field names.
maxLoan — the headline number: maximum borrowable capital in eurosmaxMonthlyPayment — the payment ceiling implied by the debt ratio,
insurance included (the site shows it as « Mensualité »)monthlyInsurance — estimated insurance share of that paymentcurrentDebtRatio — debt ratio reached at that payment, in percent; only
informative when existing charges already exceed the ratio