/checkAuto-Triage Inbound Cases
Automatically triage and score every case that lands on your desk.
Who is this for
Underwriter or Packager at a lender. You receive dozens of mortgage applications daily and need to prioritise which ones need attention. Instead of manually reviewing every case, you run an automated admin-level check that flags high-risk applications for manual review.
What you'll do
- 1Set up an automated loop that runs an admin-level check on every inbound case
- 2Attach internal metadata (source, queue ID) to each job for tracking
- 3Route passing cases straight to the processing queue
- 4Flag cases with issues for manual underwriter review
The API call
Loop through inbound cases and run an admin_check on each one. The metadata field lets you attach internal tracking IDs.
from curvestone import Agentagent = Agent() # reads CURVESTONE_API_KEY from env# inbound_cases: list of case objects from your internal systemfor case in inbound_cases:result = agent.check(case_type=case.type,depth="admin_check",documents=case.documents,reference=case.ref,metadata={"source": "lender_portal","queue": "auto_triage",},)if result.triage == "pass":queue.add(case.ref, priority="normal")else:queue.add(case.ref, priority="review", flags=result.flags)notify_underwriter(case.ref, result.flags)print(f"{case.ref}: {result.triage} ({result.processing_time})")
The response
A compact admin-level result with pass/fail checks and a flags array for issues.
1{2 "id": "job_3mNx8kQpT1",3 "type": "check",4 "status": "completed",5 "triage": "fail",6 "reference": "APP-2026-08821",7 "processing_time": "28s",8 "scoring": "pass_fail",9 "checks": [10 { "name": "Document Presence", "triage": "pass" },11 { "name": "Application Completeness", "triage": "pass" },12 { "name": "Basic Eligibility", "triage": "fail" }13 ],14 "flags": [15 "missing_proof_of_deposit"16 ],17 "metadata": {18 "source": "lender_portal",19 "queue": "auto_triage"20 },21 "cost": "£0.50"22}
What happens
Fastest and cheapest depth tier
Admin checks are the lightest depth tier: £0.50 per case and approximately 30 seconds to complete. They are designed for high-volume triage where you need to process dozens or hundreds of cases per day without breaking the budget.
Three core checks for triage
Admin checks run three focused checks: document presence (are all required documents attached?), application completeness (are all required fields populated?), and basic eligibility (does the applicant meet minimum criteria?). These catch the most common blockers before a case reaches an underwriter.
Flags route cases to manual review
When a check fails, the response includes a flags array with machine-readable issue codes. Your internal system can use these flags to route the case to the right queue: cases that pass go straight through, while cases with flags are routed to manual review with the specific issues pre-identified.
Metadata for internal tracking
The metadata field is a free-form object that is stored with the job and returned in every response and webhook event. Use it to attach your internal case IDs, queue names, source systems, or any other tracking data you need to correlate Curvestone results with your internal workflows.
| Depth | Use case | Time | Cost |
|---|---|---|---|
admin_check | High-volume triage | ~30s | £0.50 |
soft_check | Pre-submission screening | ~30s | £0.50 |
full_check | Full compliance review | ~2 min | £3.00+ |
Next steps
Mortgage Domain Reference
Full reference for depth tiers: admin_check, soft_check, full_check, and deep_audit.
Read moreWebhooks & Events
Set up webhooks to receive real-time notifications when jobs complete.
Read moreActors & Permissions
Understand the lender actor type and its available permissions.
Read more