Skip to main content
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:
StatusDescription
in_progressQuote is being prepared
completeQuote is complete and ready to send
sentQuote has been sent to the applicant
acceptedQuote has been accepted by the applicant
boundQuote has been bound and converted to a policy
cancelledQuote has been cancelled
archivedQuote has been archived
applied_to_policyQuote has been applied to an existing policy

Policy Information

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

ParameterTypeDescription
submissionIdstringFilter by submission ID (UUID)
applicationIdstringFilter by application ID (UUID)
statusstring or arrayFilter by quote status
filterTextstringText search across quote fields
dateFromstringFilter quotes created on or after this date
dateTostringFilter quotes created on or before this date

Sorting Parameters

ParameterTypeDefaultDescription
sortBystringcreatedAtField to sort by (createdAt, updatedAt, status, number)
sortDirectionstringdescSort direction (asc or desc)

Pagination

ParameterTypeDefaultDescription
pageinteger1Page 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:
OperationRequired Permission
List Quotescompany.quote:read
Get Quotecompany.quote:read
Create Quotecompany.quote:create
Delete Quotecompany.quote:delete
Get Configurationcompany.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
}