Warddocs
Capabilities

Credit

Can this customer carry a new obligation? Ward reads their statements month by month (income and its regularity, recurring obligations, balances and buffers, loan stacking) and returns an affordability band with every factor.

Type: credit · Endpoint: POST /api/v1/credit/analyze · File

Ward reads risk from the statements it is given. It is not a credit score and not a lending decision: debts in other accounts are invisible to it.

Request

curl https://api.mandatelabs.ai/api/v1/decide \
  -H "X-API-Key: $WARD_API_KEY" -H "Content-Type: application/json" \
  -d '{"type": "credit", "input": {"files": [{"file_base64": "...", "file_name": "jul.csv"}, {"file_base64": "...", "file_name": "aug.csv"}, {"file_base64": "...", "file_name": "sep.csv"}],
       "profile": {"monthly_income": 4100}, "requested_instalment": 420}}'
d = client.credit(["jul.csv", "aug.csv", "sep.csv"], profile={"monthly_income": 4100}, requested_instalment=420)
const d = await client.credit(["jul.csv", "aug.csv", "sep.csv"], { profile: { monthly_income: 4100 }, requested_instalment: 420 });

Same file input as Statement, plus requested_instalment (the new loan's monthly instalment) and optional thresholds.

Factors

Factor Weight
No income in full months / no regular payer 0.35 / 0.15
Irregular income (monthly variation > 50%, > 100%) 0.25 / 0.35
Obligations + requested instalment ≥ 43% / ≥ 60% of income 0.35 / 0.50
Loan disbursements from 2 / 3+ lenders (stacking) 0.45 / 0.60
Overdraft or returned items (1–2 / 3+) 0.25 / 0.40
Lowest balance below the instalment / below a third of it 0.35 / 0.45
Declared income above 1.5x / 2x observed 0.30 / 0.50
Gambling above 5% / 15% of spending 0.25 / 0.40

Result and decision

band, score, factors[], metrics (monthly income and its basis, regular payers, obligations and the top ten, burden, lowest and average balance, instalments covered), and coverage (fewer than 3 months, no balance column, no payroll, no instalment given).

Decision: low < 0.30 → APPROVE; medium → STEP_UP; high ≥ 0.60 → DECLINE. Store your own lines with PUT /api/v1/ward/thresholds ({"credit": {...}}).

Calibration: report outcomes as feedback labels defaulted, delinquent (bad) or repaid, performing (good); POST /api/v1/credit/calibrate fits the probability to your own loans.