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.
Field Model V1 (FMV1) quotes store custom field data in a policy object and exposures array. The available fields are configured per company — use the Configuration endpoint to discover them.
Data Structure
Each quote contains:
policy — policy-level custom field values (key-value pairs). Includes read-only lifecycle fields in responses.
exposures — array of exposure objects, each with custom field values.
Lifecycle Fields
These fields are system-managed and read-only. They appear in GET/List responses inside policy but are rejected on create/update and omitted from the Configuration endpoint:
| Field | Description |
|---|
quoteType | Quote type (e.g., “New Business”) |
quoteStatus | Current status |
quoteNumber | Auto-generated quote number |
quoteBindErrors | Binding validation errors |
quoteSubmissionId | Associated submission ID |
API Endpoints
| Method | Endpoint | Description |
|---|
| GET | /v1/quotes | List quotes |
| POST | /v1/quotes | Create a quote |
| GET | /v1/quotes/{quoteId} | Get a quote |
| PUT | /v1/quotes/{quoteId} | Update a quote (full replace) |
| DELETE | /v1/quotes/{quoteId} | Delete a quote |
| POST | /v1/quotes/{quoteId}/send | Send a quote |
| POST | /v1/quotes/{quoteId}/bind | Bind a quote to create a Basic Policy (documented under Basic Policies) |
| GET | /v1/quotes/configuration | Get field configuration |
Configuration
Call GET /v1/quotes/configuration to get JSON Schemas of available fields for your company. The response contains:
policy schema — fields for the policy object
exposure schema — fields for each exposures[] item
Lifecycle fields are excluded from the configuration.
Permissions
| Operation | Permission |
|---|
| List, Get, Configuration | company.quote:read |
| Create | company.quote:create |
| Update | company.quote:update |
| Delete | company.quote:delete |
| Bind | company.quote:create |
| Send | company.quote:update |
Example Create Request
{
"submissionId": "550e8400-e29b-41d4-a716-446655440010",
"policy": {
"effectiveDate": "2025-01-01",
"premium": 15000
},
"exposures": [
{
"exposureName": "Acme Corp",
"employeeCount": 150
}
]
}
Example Response
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"companyId": "550e8400-e29b-41d4-a716-446655440000",
"submissionId": "550e8400-e29b-41d4-a716-446655440010",
"policyId": null,
"policy": {
"effectiveDate": "2025-01-01",
"premium": 15000,
"quoteType": "New Business",
"quoteStatus": "in_progress",
"quoteNumber": "Q-2025-001"
},
"exposures": [
{
"exposureName": "Acme Corp",
"employeeCount": 150
}
],
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": null,
"createdBy": "google-oauth2|123456789"
}