NEXT STEP
See how Underwrite fits your exact stack.
Select your policy admin system, data sources, and carrier set. We'll generate a personalized architecture diagram — no form, no sales call required.
HARD QUESTIONS
These are the objections your underwriting ops lead will raise in the first vendor call. We've answered them here so you don't have to schedule a second one.
DATA INGESTION
What if our risk classes aren't standard?
Underwrite ships with a schema-agnostic ingestion layer that normalizes non-standard risk attributes at parse time — not at quote time. You pass us whatever shape your data is in: flat CSV exports from your legacy system, nested JSON from an IoT gateway, or raw ACORD XML from a carrier portal. Our normalization engine maps your fields to a canonical risk object using a combination of
Non-standard classes — surplus lines, specialty casualty, parametric triggers — are handled through appetite templates you define once per carrier. The platform never assumes ISO class codes exist. If your book runs on proprietary codes, those become first-class citizens in the pricing graph.
field-type inference and a configurable attribute_map.yaml you maintain in your own repo.Non-standard classes — surplus lines, specialty casualty, parametric triggers — are handled through appetite templates you define once per carrier. The platform never assumes ISO class codes exist. If your book runs on proprietary codes, those become first-class citizens in the pricing graph.
CARRIER API
How does carrier connectivity actually work?
Each carrier connection is a typed adapter that sits behind a unified submission interface. You call
Adapters handle authentication, rate versioning, and response normalization per carrier. When a carrier returns a declination or a referral, that signal propagates back through the waterfall to the next eligible carrier — all within the same synchronous response. You receive a ranked quote array, not a queue of pending callbacks. Current connectivity covers 12 admitted and E&S carriers, with new adapters taking 3–5 business days to build against a published carrier API spec.
POST /v1/quote with your risk object and a carrier preference list — or let the appetite-matching engine select carriers automatically based on the risk attributes in the payload.Adapters handle authentication, rate versioning, and response normalization per carrier. When a carrier returns a declination or a referral, that signal propagates back through the waterfall to the next eligible carrier — all within the same synchronous response. You receive a ranked quote array, not a queue of pending callbacks. Current connectivity covers 12 admitted and E&S carriers, with new adapters taking 3–5 business days to build against a published carrier API spec.
INTEGRATION
Can we keep our existing policy admin system?
Underwrite is a pricing engine, not a PAS replacement. It sits between your data sources and your policy administration system as a synchronous pricing microservice. The integration pattern is a single webhook endpoint on your PAS side that receives the binding-ready quote object — structured to match whatever schema your PAS expects.
We maintain certified output formatters for Applied Epic, Guidewire PolicyCenter, Duck Creek, and ISCS. If your PAS isn't on that list, the output formatter is a configurable JSON transform you own and version. Your PAS sees a structured quote payload. It doesn't know or care that Underwrite exists.
We maintain certified output formatters for Applied Epic, Guidewire PolicyCenter, Duck Creek, and ISCS. If your PAS isn't on that list, the output formatter is a configurable JSON transform you own and version. Your PAS sees a structured quote payload. It doesn't know or care that Underwrite exists.
PERFORMANCE
Is the 97.3% STP rate real, or is that cherry-picked data?
It's a trailing 90-day average across all production traffic, not a benchmark environment figure. STP — straight-through processing, meaning a quote returned without human referral — depends on three factors: risk completeness, appetite coverage, and whether the risk triggers any hard exclusion rules.
The 2.7% that doesn't process straight-through breaks down as follows: 1.4% carrier referrals (risk within appetite but above an underwriter threshold), 0.9% data quality flags RISK FLAG (missing required fields that can't be inferred), and 0.4% appetite misses (no carrier in your connected set will write that risk). We surface all three categories in the response body so your ops team knows exactly where to intervene.
The 2.7% that doesn't process straight-through breaks down as follows: 1.4% carrier referrals (risk within appetite but above an underwriter threshold), 0.9% data quality flags RISK FLAG (missing required fields that can't be inferred), and 0.4% appetite misses (no carrier in your connected set will write that risk). We surface all three categories in the response body so your ops team knows exactly where to intervene.
DATA SOURCES
What data sources can feed the engine?
The ingestion API accepts push and pull patterns simultaneously. For push: REST, GraphQL mutation, and SFTP drop with file-watcher. For pull: we maintain connectors to
Claims history ingestion handles structured and semi-structured formats. A five-year loss run in Excel parses in under 200ms. IoT telemetry streams are consumed via a persistent connection and scored on a rolling window you configure — default is 30-day trailing average. Third-party scores arrive as enrichment fields that the pricing model treats as first-class inputs, not post-hoc adjustments.
LexisNexis C.L.U.E., ISO A-PLUS, Verisk Xactware, and 14 IoT platform APIs including Samsara, Geotab, and Monnit.Claims history ingestion handles structured and semi-structured formats. A five-year loss run in Excel parses in under 200ms. IoT telemetry streams are consumed via a persistent connection and scored on a rolling window you configure — default is 30-day trailing average. Third-party scores arrive as enrichment fields that the pricing model treats as first-class inputs, not post-hoc adjustments.
COMPLIANCE
How do compliance and audit trails work at scale?
Every pricing decision is an immutable event in the audit log. The log entry captures: the full input risk object, the appetite evaluation trace, carrier selection rationale, the rate version applied, and the output quote — all cryptographically signed with a timestamp. Log entries are queryable via the
Rate filings are versioned with semantic versioning. When a carrier updates their filed rates, the new version goes live at the exact effective date without any code deployment on your side. Retroactive queries always return the rate version that was active at the time of the original quote — critical for E&O defense and regulatory examination.
GET /v1/audit/{quote_id} endpoint and exportable in NAIC-compliant format for state filings.Rate filings are versioned with semantic versioning. When a carrier updates their filed rates, the new version goes live at the exact effective date without any code deployment on your side. Retroactive queries always return the rate version that was active at the time of the original quote — critical for E&O defense and regulatory examination.