https://www.brainiac.software/api/v1/insurance-intelligence/policy-normalize$0.04 USDCNormalize insurance policies
Normalize caller-supplied or locally extracted policy identity, term, and premium fields. Preliminary document analysis only—not coverage confirmation.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"policies": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"premium": 12000,
"currency": "USD",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "normalized",
"policyCount": 1,
"items": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"premium": 12000,
"premiumSupplied": true,
"currency": "USD",
"side": "current",
"source": "Caller-supplied",
"coverageConfirmed": false
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/policy-normalize" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"policies": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"premium": 12000,
"currency": "USD",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/policy-limit-compare$0.04 USDCCompare policy limits
Compare caller-supplied left/right or prior/renewal coverage limits. Not a coverage determination.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"limits": [
{
"id": "L1",
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "L2",
"coverage": "Each Occurrence",
"limitAmount": 2000000,
"side": "renewal",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "compared",
"pairCount": 1,
"items": [
{
"coverageLeft": "Each Occurrence",
"coverageRight": "Each Occurrence",
"leftLimitAmount": 1000000,
"leftLimitAmountSupplied": true,
"rightLimitAmount": 2000000,
"rightLimitAmountSupplied": true,
"deltaAmount": 1000000,
"deltaAmountSupplied": true,
"matchScore": 1,
"matched": true,
"coverageConfirmed": false,
"source": "Caller-supplied; Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [
{
"kind": "observation",
"code": "limit_delta",
"subject": "L1",
"detail": "Limit delta 1000000 for coverage \"Each Occurrence\"."
}
],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/policy-limit-compare" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"limits": [
{
"id": "L1",
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "L2",
"coverage": "Each Occurrence",
"limitAmount": 2000000,
"side": "renewal",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/policy-exclusion-compare$0.04 USDCCompare policy exclusions
Compare caller-supplied exclusion schedules across prior/renewal or left/right sides. Preliminary text matching only.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"exclusions": [
{
"id": "E1",
"title": "Pollution",
"text": "Pollution exclusion",
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "E2",
"title": "Pollution",
"text": "Pollution exclusion",
"side": "renewal",
"source": "Caller-supplied"
},
{
"id": "E3",
"title": "Cyber",
"text": "Cyber liability exclusion",
"side": "renewal",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "compared",
"pairCount": 2,
"items": [
{
"titleLeft": "Pollution",
"titleRight": "Pollution",
"matched": true,
"matchScore": 1,
"onlyIn": "both",
"coverageConfirmed": false,
"source": "Caller-supplied; Caller-supplied"
},
{
"titleLeft": "",
"titleRight": "Cyber",
"matched": false,
"matchScore": 0,
"onlyIn": "right",
"coverageConfirmed": false,
"source": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [
{
"kind": "observation",
"code": "exclusion_right_only",
"subject": "E3",
"detail": "Exclusion present on right only: \"Cyber\"."
}
],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/policy-exclusion-compare" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"exclusions": [
{
"id": "E1",
"title": "Pollution",
"text": "Pollution exclusion",
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "E2",
"title": "Pollution",
"text": "Pollution exclusion",
"side": "renewal",
"source": "Caller-supplied"
},
{
"id": "E3",
"title": "Cyber",
"text": "Cyber liability exclusion",
"side": "renewal",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/deductible-structure-extract$0.03 USDCExtract deductible structures
Extract deductible/SIR amounts and apply-per structure from caller-supplied rows or local PDF text.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"deductibles": [
{
"id": "D1",
"coverage": "Each Occurrence",
"amount": 5000,
"type": "deductible",
"appliesPer": "occurrence",
"currency": "USD",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "extracted",
"deductibleCount": 1,
"items": [
{
"id": "D1",
"policyId": "",
"coverage": "Each Occurrence",
"amount": 5000,
"amountSupplied": true,
"type": "deductible",
"appliesPer": "occurrence",
"currency": "USD",
"side": "current",
"source": "Caller-supplied",
"coverageConfirmed": false
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/deductible-structure-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"deductibles": [
{
"id": "D1",
"coverage": "Each Occurrence",
"amount": 5000,
"type": "deductible",
"appliesPer": "occurrence",
"currency": "USD",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/renewal-change-detect$0.05 USDCDetect insurance renewal changes
Detect insurer, premium, limit, and exclusion deltas between prior and renewal sides. Not insurer confirmation.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"policies": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"premium": 12000,
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "P2",
"policyNumber": "GL-200",
"insurer": "Example Mutual",
"premium": 14500,
"effectiveAt": "2026-01-01",
"expiresAt": "2027-01-01",
"side": "renewal",
"source": "Caller-supplied"
}
],
"limits": [
{
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "prior",
"source": "Caller-supplied"
},
{
"coverage": "Each Occurrence",
"limitAmount": 2000000,
"side": "renewal",
"source": "Caller-supplied"
}
],
"exclusions": [
{
"title": "Pollution",
"text": "Pollution exclusion",
"side": "prior",
"source": "Caller-supplied"
},
{
"title": "Cyber",
"text": "Cyber liability exclusion",
"side": "renewal",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "detected",
"changeCount": 2,
"items": [
{
"field": "premium",
"priorValue": "12000",
"renewalValue": "14500",
"changed": true,
"delta": 2500
},
{
"field": "limit",
"coverage": "Each Occurrence",
"priorValue": "1000000",
"renewalValue": "2000000",
"changed": true,
"delta": 1000000
}
],
"coverageConfirmed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [
{
"kind": "observation",
"code": "limit_delta",
"subject": "LIM-1",
"detail": "Limit delta 1000000 for coverage \"Each Occurrence\"."
}
],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/renewal-change-detect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"policies": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"premium": 12000,
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "P2",
"policyNumber": "GL-200",
"insurer": "Example Mutual",
"premium": 14500,
"effectiveAt": "2026-01-01",
"expiresAt": "2027-01-01",
"side": "renewal",
"source": "Caller-supplied"
}
],
"limits": [
{
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "prior",
"source": "Caller-supplied"
},
{
"coverage": "Each Occurrence",
"limitAmount": 2000000,
"side": "renewal",
"source": "Caller-supplied"
}
],
"exclusions": [
{
"title": "Pollution",
"text": "Pollution exclusion",
"side": "prior",
"source": "Caller-supplied"
},
{
"title": "Cyber",
"text": "Cyber liability exclusion",
"side": "renewal",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/coverage-gap-detect$0.05 USDCDetect coverage gaps
Compare caller-supplied contract requirements to supplied limits, deductibles, and exclusions. Preliminary gap signals only—not coverage confirmation.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"limits": [
{
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "current",
"source": "Caller-supplied"
}
],
"deductibles": [
{
"coverage": "Each Occurrence",
"amount": 5000,
"source": "Caller-supplied"
}
],
"requirements": [
{
"id": "R1",
"coverage": "Each Occurrence",
"minLimitAmount": 2000000,
"maxDeductibleAmount": 10000,
"requiredEndorsement": "Additional Insured",
"forbiddenExclusion": "Contractual Liability",
"source": "Caller-supplied contract"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "detected",
"requirementCount": 1,
"gapCount": 1,
"items": [
{
"requirementId": "R1",
"coverage": "Each Occurrence",
"matchedLimitAmount": 1000000,
"matchedLimitAmountSupplied": true,
"minLimitAmount": 2000000,
"minLimitAmountSupplied": true,
"gaps": [
"limit_below_requirement",
"missing_required_endorsement_signal"
],
"hasGap": true,
"coverageConfirmed": false,
"source": "Caller-supplied contract"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [
{
"kind": "conflict",
"code": "coverage_gap",
"subject": "R1",
"detail": "Coverage gaps: limit_below_requirement, missing_required_endorsement_signal."
}
],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/coverage-gap-detect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"limits": [
{
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "current",
"source": "Caller-supplied"
}
],
"deductibles": [
{
"coverage": "Each Occurrence",
"amount": 5000,
"source": "Caller-supplied"
}
],
"requirements": [
{
"id": "R1",
"coverage": "Each Occurrence",
"minLimitAmount": 2000000,
"maxDeductibleAmount": 10000,
"requiredEndorsement": "Additional Insured",
"forbiddenExclusion": "Contractual Liability",
"source": "Caller-supplied contract"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/loss-run-normalize$0.04 USDCNormalize loss runs
Normalize caller-supplied loss-run claim rows into paid/reserved/incurred fields. Not a claim adjudication.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"lossRuns": [
{
"id": "C1",
"claimNumber": "CLM-1",
"policyNumber": "GL-100",
"lossDate": "2025-06-01",
"status": "closed",
"paidAmount": 25000,
"reservedAmount": 0,
"cause": "Slip",
"currency": "USD",
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "normalized",
"claimCount": 1,
"totalIncurredAmount": 25000,
"items": [
{
"id": "C1",
"claimNumber": "CLM-1",
"policyNumber": "GL-100",
"lossDate": "2025-06-01",
"reportedAt": "",
"status": "closed",
"paidAmount": 25000,
"paidAmountSupplied": true,
"reservedAmount": 0,
"reservedAmountSupplied": true,
"incurredAmount": 25000,
"incurredAmountSupplied": true,
"cause": "Slip",
"currency": "USD",
"source": "Caller-supplied",
"coverageConfirmed": false
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/loss-run-normalize" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"lossRuns": [
{
"id": "C1",
"claimNumber": "CLM-1",
"policyNumber": "GL-100",
"lossDate": "2025-06-01",
"status": "closed",
"paidAmount": 25000,
"reservedAmount": 0,
"cause": "Slip",
"currency": "USD",
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/underwriting-evidence-completeness$0.03 USDCCheck underwriting evidence completeness
Check caller-supplied evidence items against a required checklist. Missing items are flagged; coverage is not confirmed.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"requiredEvidence": [
"Current policy declarations/schedule",
"Loss runs (3–5 years)",
"Contract insurance requirements"
],
"evidenceItems": [
{
"id": "EV1",
"label": "Current policy declarations/schedule",
"present": true,
"source": "Caller-supplied"
},
{
"id": "EV2",
"label": "Loss runs (3–5 years)",
"present": false,
"source": "Caller-supplied"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "checked",
"requiredCount": 3,
"presentCount": 1,
"items": [
{
"id": "REQEV-1",
"label": "Current policy declarations/schedule",
"present": true,
"matchedEvidenceId": "EV1",
"matchScore": 1,
"coverageConfirmed": false,
"source": "Caller-supplied"
},
{
"id": "REQEV-2",
"label": "Loss runs (3–5 years)",
"present": false,
"matchedEvidenceId": "",
"matchScore": 1,
"coverageConfirmed": false,
"source": "Caller-supplied"
},
{
"id": "REQEV-3",
"label": "Contract insurance requirements",
"present": false,
"matchedEvidenceId": "",
"matchScore": 0,
"coverageConfirmed": false,
"source": "Caller-supplied"
}
],
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"coverageConfirmed": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [
{
"kind": "missing",
"code": "evidence_item",
"subject": "Loss runs (3–5 years)",
"detail": "Underwriting evidence not marked present: \"Loss runs (3–5 years)\"."
},
{
"kind": "missing",
"code": "evidence_item",
"subject": "Contract insurance requirements",
"detail": "Underwriting evidence not marked present: \"Contract insurance requirements\"."
}
],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/underwriting-evidence-completeness" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"requiredEvidence": [
"Current policy declarations/schedule",
"Loss runs (3–5 years)",
"Contract insurance requirements"
],
"evidenceItems": [
{
"id": "EV1",
"label": "Current policy declarations/schedule",
"present": true,
"source": "Caller-supplied"
},
{
"id": "EV2",
"label": "Loss runs (3–5 years)",
"present": false,
"source": "Caller-supplied"
}
]
}
JSONhttps://www.brainiac.software/api/v1/insurance-intelligence/program-comparison$0.08 USDCCompare insurance programs
Aggregate policy, limit, exclusion, deductible, premium, coverage-gap, and renewal comparisons from caller-supplied program records only.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
files | No | array; Array |
policies | No | array; Array |
limits | No | array; Array |
exclusions | No | array; Array |
deductibles | No | array; Array |
premiums | No | array; Array |
requirements | No | array; Array |
lossRuns | No | array; Array |
evidenceItems | No | array; Array |
requiredEvidence | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-04T21:00:00.000Z",
"policies": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"premium": 12000,
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "P2",
"policyNumber": "GL-200",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"premium": 14500,
"effectiveAt": "2026-01-01",
"expiresAt": "2027-01-01",
"side": "renewal",
"source": "Caller-supplied"
}
],
"limits": [
{
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "prior",
"source": "Caller-supplied"
},
{
"coverage": "Each Occurrence",
"limitAmount": 2000000,
"side": "renewal",
"source": "Caller-supplied"
}
],
"exclusions": [
{
"title": "Pollution",
"text": "Pollution exclusion",
"side": "prior",
"source": "Caller-supplied"
},
{
"title": "Cyber",
"text": "Cyber liability exclusion",
"side": "renewal",
"source": "Caller-supplied"
}
],
"deductibles": [
{
"coverage": "Each Occurrence",
"amount": 5000,
"type": "deductible",
"appliesPer": "occurrence",
"source": "Caller-supplied"
}
],
"premiums": [
{
"amount": 12000,
"side": "prior",
"source": "Caller-supplied"
},
{
"amount": 14500,
"side": "renewal",
"source": "Caller-supplied"
}
],
"requirements": [
{
"coverage": "Each Occurrence",
"minLimitAmount": 2000000,
"maxDeductibleAmount": 10000,
"requiredEndorsement": "Additional Insured",
"source": "Caller-supplied contract"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "compared",
"sections": {
"policies": {
"policyCount": 2
},
"limits": {
"pairCount": 1
},
"exclusions": {
"pairCount": 1
},
"deductibles": {
"deductibleCount": 1
},
"premiums": {
"changeCount": 1
},
"coverageGaps": {
"requirementCount": 1,
"gapCount": 1
},
"renewalChanges": {
"changeCount": 2
}
},
"coverageConfirmed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"insurerConnected": false,
"brokerConnected": false,
"preliminaryDocumentAnalysisOnly": true,
"pdfExtracted": false,
"findings": [
{
"kind": "observation",
"code": "limit_delta",
"subject": "LIM-1",
"detail": "Limit delta 1000000 for coverage \"Each Occurrence\"."
},
{
"kind": "conflict",
"code": "coverage_gap",
"subject": "REQ-1",
"detail": "Coverage gaps: missing_required_endorsement_signal."
}
],
"limitations": [
"Policies, schedules, limits, exclusions, deductibles, premiums, requirements, loss runs, and evidence items are copied only from labeled fields or local PDF/text extraction of caller-uploaded files.",
"No insurer or broker system is contacted and no API key is required.",
"PDF text extraction is local and heuristic. Scanned/image-only PDFs are not OCR-read. Missing values are not invented.",
"Results are preliminary document analysis for underwriting workflow support. They are not confirmation of insurance coverage, a coverage determination, or legal advice.",
"Program and renewal comparisons use only supplied sides/labels. Insurer confirmation is not claimed."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/insurance-intelligence/program-comparison" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-04T21:00:00.000Z",
"policies": [
{
"id": "P1",
"policyNumber": "GL-100",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"premium": 12000,
"effectiveAt": "2025-01-01",
"expiresAt": "2026-01-01",
"side": "prior",
"source": "Caller-supplied"
},
{
"id": "P2",
"policyNumber": "GL-200",
"insurer": "Example Mutual",
"insured": "Acme LLC",
"lineOfBusiness": "General Liability",
"premium": 14500,
"effectiveAt": "2026-01-01",
"expiresAt": "2027-01-01",
"side": "renewal",
"source": "Caller-supplied"
}
],
"limits": [
{
"coverage": "Each Occurrence",
"limitAmount": 1000000,
"side": "prior",
"source": "Caller-supplied"
},
{
"coverage": "Each Occurrence",
"limitAmount": 2000000,
"side": "renewal",
"source": "Caller-supplied"
}
],
"exclusions": [
{
"title": "Pollution",
"text": "Pollution exclusion",
"side": "prior",
"source": "Caller-supplied"
},
{
"title": "Cyber",
"text": "Cyber liability exclusion",
"side": "renewal",
"source": "Caller-supplied"
}
],
"deductibles": [
{
"coverage": "Each Occurrence",
"amount": 5000,
"type": "deductible",
"appliesPer": "occurrence",
"source": "Caller-supplied"
}
],
"premiums": [
{
"amount": 12000,
"side": "prior",
"source": "Caller-supplied"
},
{
"amount": 14500,
"side": "renewal",
"source": "Caller-supplied"
}
],
"requirements": [
{
"coverage": "Each Occurrence",
"minLimitAmount": 2000000,
"maxDeductibleAmount": 10000,
"requiredEndorsement": "Additional Insured",
"source": "Caller-supplied contract"
}
]
}
JSON