Build credit, KYC & fraud checks on one API
Apenia is data-agnostic credit scoring, KYB/KYC and a learning engine behind a single REST API. Get an app key from the console, call an endpoint, ship.
Base URL
All requests are HTTPS. Public endpoints live under /v1.
https://verify.apenia.comAuthentication
Create an app in the console to get a key + secret, then send them as headers on every request.
X-App-Key: your_app_key
X-App-Secret: your_app_secretScore a statement in one call
Send any mix of statements and supporting documents to /v1/assess and get back a single score with credit limits.
curl -X POST https://verify.apenia.com/v1/assess \
-H "X-App-Key: $APENIA_APP_KEY" \
-H "X-App-Secret: $APENIA_APP_SECRET" \
-F "[email protected]" \
-F "employment=payslip" \
-F "collateral=logbook"
# → { "apenia_score": 712, "secured_limit": 250000,
# "unsecured_limit": 60000, "next_best_doc": "bank_statement" }Endpoints
A focused surface for lending: score, verify, pull bureau data, and teach the model over time.
Credit scoring & analysis
Turn statements and documents into a single, lender-ready apenia_score.
- POST
/v1/assessData-agnostic assessment across any mix of MoMo/bank statements, collateral & employment → one apenia_score with secured/unsecured limits and next-best-doc prompts.
- POST
/v1/analyzeSynchronous full analysis — ideal for typical statements.
- POST
/v1/documentsUpload one or more financial documents, get a score, and fire an IPN callback to your app.
- POST
/v1/fuseCombine an M-Pesa and a bank statement into one score — verified salary lifts a Fuliza-heavy profile.
- POST
/v1/jobsAsync path for large files — submit, then poll GET /v1/jobs/{id}.
- POST
/v1/trialPublic trial flow that powers the embeddable widget — acknowledges instantly, emails the report.
Identity — KYC / KYB & liveness
Face-match, active liveness and voice enrolment, hosted or API-first.
- POST
/v1/kyc/verifyVerify a person (identity) or a business (KYB). Feeds the assessment as identity confidence.
- GET
/v1/verify/challengeIssue a one-time active-liveness challenge — face actions plus a random phrase to read aloud.
- POST
/v1/verify/identityMatch a selfie to an ID, run challenge-response liveness, and enrol a voiceprint.
- POST
/v1/verify/voiceStandalone voice check — enrols on first use, then matches at loan time.
- POST
/v1/onboarding/linksCreate a one-time hosted onboarding URL to send to a customer; poll or receive an IPN for the result.
Credit bureau (CRB)
Consolidated TransUnion / Metropol reports, fused into the model.
- POST
/v1/crb/pullPull a consolidated CRB report for a subject and feed it to the model.
- GET
/v1/crb/{subject_id}Retrieve the latest stored CRB report for a subject.
Subjects & the learning flywheel
One universal subject_id per person; feed signals & outcomes to sharpen scoring.
- POST
/v1/subjects/enrollOnboard a subject from existing data and get a universal subject_id.
- GET
/v1/subjects/{subject_id}The consolidated profile: identifiers, every assessment, and every signal.
- POST
/v1/signals/{kind}Feed a learning signal (repayment, collections, messaging, fraud…) so scoring gets more precise.
- POST
/v1/outcomesReport a loan outcome (repaid / defaulted / current) — feeds the calibration flywheel.
- GET
/v1/learning/statsHow much the system has learned — assessments, default rate, corrections, calibration readiness.
- GET
/v1/usagePer-key call counts — your billing meter.
Add StatementAI+ to any site
No API secret required — the widget uses the public trial flow. Paste two lines, and customers can upload a statement and get a report by email.
Works on any HTML page — plain, React, or Next.js.
<div
id="apenia-widget"
data-api-base="https://verify.apenia.com"
data-app="APENIA"
data-app-url="https://apenia.com">
</div>
<script src="https://verify.apenia.com/widget.js" async></script>// Next.js
import Script from "next/script";
<div id="apenia-widget"
data-api-base="https://verify.apenia.com"
data-app="APENIA"
data-app-url="https://apenia.com" />
<Script
src="https://verify.apenia.com/widget.js"
strategy="afterInteractive" />Ready to build with Apenia?
Spin up an app, grab your keys, and make your first scored request in minutes.