Quickstart
Submit your first job in under 5 minutes.
Prerequisites
You need an API key from the Curvestone Console. Keys starting with cs_live_ target production; cs_test_ keys target the sandbox.
1
Set your API key
Export your key as an environment variable. Both SDKs read it automatically.
terminal
bash
export CURVESTONE_API_KEY='cs_live_xxxxxxxxxxxx'
2
Install the SDK
Pick your language. Both libraries ship with full type definitions.
terminal
bash
pip install curvestone
3
Submit your first job
Submit documents and run a mortgage compliance job. The agent resolves the correct skills, processes the documents, and returns a structured result.
check.py
python
from curvestone import Agentagent = Agent() # reads CURVESTONE_API_KEY from envresult = agent.check(case_type="residential_mortgage",depth="full_check",documents=[open("fact_find.pdf", "rb"),open("suitability_letter.pdf", "rb"),],reference="CASE-2026-00451",)print(f"Triage: {result.triage}") # green | amber | redprint(f"Job ID: {result.id}")print(f"Time: {result.processing_time}")
4
Read the results
The response includes a top-level triage, the checks that ran, and any findings that need attention.
response.json
json
1{2 "id": "job_7kTx9mNpQ2",3 "type": "check",4 "status": "completed",5 "triage": "amber",6 "reference": "CASE-2026-00451",7 "processing_time": "147s",8 "checks": [9 { "name": "Suitability of Advice", "triage": "green" },10 { "name": "Income Verification", "triage": "green" },11 { "name": "Affordability Assessment", "triage": "amber" },12 { "name": "Product Selection", "triage": "green" },13 { "name": "Disclosure & Consent", "triage": "green" },14 { "name": "Debt Consolidation Rationale", "triage": "amber" },15 { "name": "Total Cost Comparison", "triage": "green" }16 ],17 "findings": [18 {19 "severity": "amber",20 "skill": "Affordability Assessment",21 "finding": "Affordability buffer within 2% of threshold"22 }23 ]24}
Understanding triage
The top-level triage reflects the worst-case outcome across all executed checks. A single amber skill produces an overall amber result.
GreenAll clear. No issues found.
AmberReview needed. Findings require attention.
RedFail. Escalation required.