Kita

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 requests
import 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.

Response (abridged)
{
  "application_id": "app_example_001",
  "n_documents": 2,
  "n_scored": 2,
  "application": {
    "model_version": "kfs-29k-20260622",
    "schema_version": 4,
    "n_documents": 2,
    "scores": {
      "bank_cash_flow_stability_index": {
        "key": "bank_cash_flow_stability_index",
        "name": "Bank Cash-Flow & Stability Index",
        "score": 0.7937,
        "percentile": 85.0
      },
      "address_verification_index": null
    }
  },
  "documents": [
    { "document_name": "bank-statement.pdf", "status": "ok" },
    { "document_name": "payslip.pdf", "status": "ok" }
  ]
}

On this page