Data-driven decisions
Underwrite with verified income and employment instead of stated figures, and keep monitoring the borrower after disbursement.
One API call verifies identity and income, scores fraud and credit risk, and screens against watchlists — so account opening and loan origination move at the speed of the applicant, not the back office.
The shape · Three intersecting orbits — identity, income and risk checked together, each on its own axis.
Manual origination reviews are slow and inconsistent — a human underwriter re-keys applicant data across three or four vendor dashboards, and every extra minute in the queue costs conversion. Meanwhile, the fraud that does get through is exactly the kind manual review misses: synthetic identities and coordinated device rings that look fine one application at a time.
Smile returns one risk profile per applicant — identity, income, device, AML, and loan-stacking signals reconciled into a single API response — so an underwriting system can auto-approve, auto-decline, or route to review without waiting on a person to reconcile five separate vendor reports.
curl -X POST "https://sandbox.smileapi.io/v1/signals" \
-u "$SMILE_CLIENT_ID:$SMILE_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{
"phone": "+639559991234",
"templateId": "tpl-sgn003001",
"countryCode": "PH",
"consent": {
"type": "Terms And Conditions",
"version": "1.0",
"consentedWith": "I agree to the terms and conditions.",
"consentedAt": "2021-04-14T09:30:24Z",
"consentTemplateId": null
}
}'{
"code": "OK",
"message": "Success!",
"requestId": "bf218f72-441a-4d68-93da-eec76991bd4f",
"data": {
"id": "signal-5ae0c3de714241debb30c9f7b0ec92c9",
"createdAt": "2026-08-18T06:22:14Z",
"status": "COMPLETED",
"resultCode": "SUCCESS",
"resultMessage": "query success",
"signalType": "Signal1",
"requestMeta": { … },
"items": [
{ "name": "events_application_approval_day30", "value": "0", "valueType": "NUMBER" },
{ "name": "events_loan_disbursement_day30", "value": "0", "valueType": "NUMBER" },
{ "name": "events_successful_repayment_day30", "value": "0", "valueType": "NUMBER" },
{ "name": "events_overdue_day30", "value": "0", "valueType": "NUMBER" },
{ "name": "events_overdue_day90_amount", "value": null, "valueType": "NUMBER" },
…
]
}
}Data is encrypted in transit and at rest, sensitive fields are tokenized rather than stored in the clear, and consent is captured at the point of collection — adapted to the data privacy regulations applicable in each market you operate.
Idempotent requests, built-in retry support, and published rate limits mean a dropped connection or a retried request never produces a duplicate check. Each client can make up to 20 requests per second per IP address across all endpoints; anything above that returns HTTP 429.
Every error returns a descriptive status code and a structured JSON body with a machine-readable code and a request ID — never a bare 500 — so a failed check is something your application can handle, not just log.
Smile API gives digital lenders a verified, machine-readable borrower profile. Underwriting models and AI loan assistants can use it to make fast, data-driven credit decisions and explain them.
Underwrite with verified income and employment instead of stated figures, and keep monitoring the borrower after disbursement.
Clean, labelled and consented attributes — identity, income, device and watchlist outcomes — ready to use as inputs for credit and fraud scoring models.
An AI loan assistant can pull the borrower's profile, check affordability against verified income and route edge cases to a credit officer.
{
"profile": "prf_8f21",
"identity": "verified",
"income": { "status": "verified", "source": "payroll" },
"device": "trusted",
"fraudScore": 0.07,
"watchlists": "cleared",
"affordability": "within_policy",
"suggestedAction": "approve_with_limit"
}