REST API for commercial underwriting.
The same engine that powers the web app, exposed at api.aiunderwriting.net. JSON request and response, OAuth 2.0 and API keys, webhooks for asynchronous events.
Sandbox at sandbox.aiunderwriting.net
Test API keys (aiu_test_*) only. Synthetic data, no real PII accepted. Same surface as production. No production quota consumed.
curl https://sandbox.aiunderwriting.net/v1/health \
-H "Authorization: Bearer aiu_test_REPLACE_ME"const res = await fetch('https://sandbox.aiunderwriting.net/v1/health', {
headers: { Authorization: 'Bearer aiu_test_REPLACE_ME' },
});
const body = await res.json();
console.log(body);import urllib.request
req = urllib.request.Request(
'https://sandbox.aiunderwriting.net/v1/health',
headers={'Authorization': 'Bearer aiu_test_REPLACE_ME'},
)
with urllib.request.urlopen(req) as resp:
print(resp.read().decode())Webhook subscriptions
Subscribe to deal lifecycle events, report-ready notifications, and CRM push outcomes. HMAC-signed deliveries with replay tolerance. Growth tier and above.
Reference: apps/api/src/routes/v1/webhooks.ts
Idempotency keys
Every mutating request accepts an Idempotency-Key header. Replays return the original response without re-running the engine or re-charging usage meters.
Reference: apps/api/src/middleware/idempotency.ts
Per-tier rate limits
Burst, sustained, and daily caps scale with your tier. Soft caps on paid tiers bill overage at the configured per-call rate. Sandbox is a hard cap.
Reference: packages/shared-types/src/billing-config.ts
Rate limits by tier
Live values pulled from API_TIER_LIMITS. Marketing copy never duplicates these numbers; the table is the table.
| Tier | SaaS plan | Burst / sec | Sustained / 60s | Daily cap | Webhooks | OAuth 2.0 |
|---|---|---|---|---|---|---|
| Sandbox | Free | 5 | 60 | 1k / day | No | No |
| Starter | Pro+API | 20 | 600 | 25k / day | No | No |
| Growth | Enterprise | 100 | 3000 | 250k / day | Yes | Yes |
| Scale | Custom | 1000 | 30000 | 1M / day | Yes | Yes |
Enterprise tier limits are contract-defined; contact us for a quote.
Build against the same engine.
Free signup includes sandbox access. Upgrade to Pro+API for live keys.