Integration Flow
The complete lifecycle of a loan application involves four API calls on your end and four webhook events from ours. The flow is async and webhook-driven — you never need to poll.
POST /applications/initiateYour callCreate the applicant and application in one call. Receive a Mono Connect widget URL and an applicationId.
Open the widget URLUser actionRedirect or embed the widgetUrl so your applicant can link their bank account through Mono Connect. The widget closes automatically on completion.
account.linked webhookWe sendWe notify your webhook URL that a bank account has been linked. Enrichment (income analysis + statement insights) begins automatically. No action needed yet.
account.enrichment_ready webhookWe sendEnrichment for that account is complete. If you need to link an additional account, call /link-account again and repeat steps 2–4. Otherwise, proceed to finalize.
POST /applications/:id/finalize-linkingYour callSignal that the applicant has finished linking all their accounts. This locks the application and makes it eligible for analysis.
application.ready_for_analysis webhookWe sendAll linked accounts are enriched and the application is ready. The applicationId is included — use it in the next call.
POST /applications/:id/analyzeYour callTrigger loan analysis. The scoring engine reads all enriched account data and runs the full credit pipeline.
application.decision webhookWe sendThe full scored decision object — including score, band, approval details or counter-offer, and explainability — is delivered to your webhook URL.
/analyze before this will return a 400 error.