Overview
Turn borrower documents into up to ten risk scores for your lending workflow.
Kita reads borrower documents (proof of income, proof of address, any image or file) and turns income, employment, banking, and document-quality signals into risk scores called Kita Financial Signals (KFS). Use them alongside your existing credit assessment.
A simple way to share income
Applicants share proof of income inside your app and review it before sending.
Supported inputs
File formats: .pdf, .jpg, .png, .heic
Customized for each enterprise client
Your score set, calibration, thresholds, and delivery format are agreed during onboarding.
Example request
Call from your backend and keep the key there. KITA_BASE_URL is
https://riskscore.kita.ai/<org> in production (kita_prod_ keys) or
https://sandbox-api.kita.ai/<org> in sandbox (kita_sbx_ keys). Sync requests
time out after 120 seconds. Node.js needs version 20 or later.
The full API reference (async jobs, batches, signed uploads, errors, limits) is at riskscore.kita.ai/docs (sign-in required).
Terminal
pip install requestsimport os
import requests
with open("bank-statement.pdf", "rb") as statement, open("payslip.pdf", "rb") as payslip:
response = requests.post(
os.environ["KITA_BASE_URL"].rstrip("/") + "/v1/score/application",
headers={"X-API-Key": os.environ["KITA_API_KEY"]},
data={"application_id": "app_example_001"},
files=[("files", ("bank-statement.pdf", statement, "application/pdf")),
("files", ("payslip.pdf", payslip, "application/pdf"))],
timeout=120,
)
response.raise_for_status()
result = response.json()
score = (result.get("application") or {}).get("scores", {}).get("bank_cash_flow_stability_index")
print(score["score"] if score else "Score unavailable")Example response
Scores are under application.scores, each with key, name, score, and
percentile. A score can be absent or null depending on your model and the
documents; address_verification_index is always null for now. Check n_scored
and the per-file outcomes in documents before using the result.


