Documentation Index
Fetch the complete documentation index at: https://docs.aiinsurance.io/llms.txt
Use this file to discover all available pages before exploring further.
Quotes represent insurance pricing proposals in AI Insurance. The Quotes API allows you to programmatically create, read, and delete quotes, including policy information and custom data specific to your company’s configuration.
Key Concepts:
- Quotes are associated with a submission
- Quotes progress through various statuses from creation to binding
- Quotes contain policy information (
policyInfo) with coverage details and custom data
- When bound, quotes become policies
API Endpoints
Quote Status
Quotes progress through the following statuses:
| Status | Description |
|---|
in_progress | Quote is being prepared |
complete | Quote is complete and ready to send |
sent | Quote has been sent to the applicant |
accepted | Quote has been accepted by the applicant |
bound | Quote has been bound and converted to a policy |
cancelled | Quote has been cancelled |
archived | Quote has been archived |
applied_to_policy | Quote has been applied to an existing policy |
Quotes contain a policyInfo object with policy-level details:
{
"policyInfo": {
"policyNumber": "POL-2025-001",
"policyStartDate": "2025-01-01T00:00:00.000Z",
"policyEndDate": "2026-01-01T00:00:00.000Z",
"data": {
"policyDescription": "General Liability Coverage",
"specialConditions": "Standard terms apply"
}
}
}
Custom Data
The policyInfo.data field contains custom data specific to your company’s configuration. This allows you to store and retrieve company-specific information about quotes and policies.
Important: The data field uses field keys (human-readable names) instead of field IDs (UUIDs).
Field Configuration
Custom data fields are configured per company in AI Insurance. To see which fields are available for quotes, use the Get Quotes Configuration endpoint.
The response structure mirrors the quote request shape, making it clear where each schema applies:
{
"policyInfo": {
"data": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"policyDescription": {
"type": "string",
"title": "Policy Description"
},
"effectiveDate": {
"type": "string",
"title": "Effective Date",
"format": "date"
},
"contactEmail": {
"type": "string",
"title": "Contact Email",
"format": "email"
},
"coverageTerritory": {
"type": "string",
"title": "Coverage Territory",
"enum": ["domestic", "worldwide", "north_america"]
}
}
}
}
}
The policyInfo.data schema is a standard JSON Schema (draft 2020-12) that you can use directly with validation libraries like Ajv or Zod.
See JSON Schema Format Types for the list of supported format values.
Filtering and Sorting
List endpoints support comprehensive filtering and sorting options:
Filter Parameters
| Parameter | Type | Description |
|---|
submissionId | string | Filter by submission ID (UUID) |
applicationId | string | Filter by application ID (UUID) |
status | string or array | Filter by quote status |
filterText | string | Text search across quote fields |
dateFrom | string | Filter quotes created on or after this date |
dateTo | string | Filter quotes created on or before this date |
Sorting Parameters
| Parameter | Type | Default | Description |
|---|
sortBy | string | createdAt | Field to sort by (createdAt, updatedAt, status, number) |
sortDirection | string | desc | Sort direction (asc or desc) |
| Parameter | Type | Default | Description |
|---|
page | integer | 1 | Page number (1-based, page size 50) |
Response includes:
items - Array of quotes for the current page
totalCount - Total number of matching quotes across all pages
Permissions
Access to quotes requires the appropriate permissions based on your API key:
| Operation | Required Permission |
|---|
| List Quotes | company.quote:read |
| Get Quote | company.quote:read |
| Create Quote | company.quote:create |
| Delete Quote | company.quote:delete |
| Get Configuration | company.quote:read |
Example Response
{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"number": "Q00000001-01",
"status": "complete",
"submissionId": "550e8400-e29b-41d4-a716-446655440001",
"createdAt": "2025-01-15T10:30:00.000Z",
"description": "General Liability Coverage",
"policyCurrency": "USD",
"grandTotal": 2700.00,
"policyInfo": {
"policyNumber": "POL-2025-001",
"policyStartDate": "2025-01-01T00:00:00.000Z",
"policyEndDate": "2026-01-01T00:00:00.000Z",
"data": {
"policyDescription": "General Liability Coverage",
"specialConditions": "Standard terms apply"
}
}
}
],
"totalCount": 15
}