Product · Decisioning

The engine, exposed.
An API for credit decisions.

Banks, SACCOs and lenders plug into the same scoring and lifecycle engine that underwrites our telco lending. Score requests in milliseconds, lifecycle hooks for origination through write-off, sandboxes that mirror production, and audit trails built for regulators.

decisioning.movapay.com
POST /v1/score
Content-Type: application/json

{
  "customer_ref": "254712345678",
  "context":      "agri_loan_30d",
  "requested":    15000,
  "currency":     "KES"
}

200 OK  — 84ms
{
  "score":           782,
  "decision":        "approve",
  "approved_amount": 15000,
  "max_tenor_days":  45,
  "reasons":         ["telco_history_strong"],
  "audit_id":        "dec_a8x32m..."
}
What we expose

A short, deliberate API surface.

We've kept the surface area small on purpose. Most teams integrate the score endpoint and one or two lifecycle webhooks — and that's enough to run a real lending product.

POST
/v1/score

Synchronous scoring — returns decision, limit, max tenor and reason codes.

POST
/v1/origination

Notify the engine that a loan was disbursed against a prior score. Closes the decision loop.

POST
/v1/repayment

Send repayment events as they happen. Drives next-cycle limit updates.

POST
/v1/writeoff

Notify the engine of a default outcome. Used for model improvement and customer-state transitions.

GET
/v1/audit/:id

Replay any decision. Inputs, model version, timestamp, signed.

WHK
webhook.score_changed

Push event when a customer's score crosses a threshold. Useful for proactive credit-line moves.

Built for regulators

Audit trails. Model governance.
Sandbox parity.

Every decision is replayable

Each score is signed, versioned and stored with its model version, feature inputs and reason codes. Replay a year-old decision in three lines of code.

Models are governed

Challenger models run in shadow against production for weeks before promotion. We don't deploy a scoring change you don't see first.

Sandboxes mirror production

The sandbox runs the same code path as live, with synthetic data shaped to your market. What works in sandbox works in production.

Decisioning

Score smarter. Lend with conviction.

Most integrations begin with a 30-minute scoping call, followed by sandbox credentials inside a week.