> ## 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.

# Overview

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

* **[List Quotes](/api-reference/quotes/list-quotes)** - Retrieve paginated list of quotes with filtering and sorting
* **[Create Quote](/api-reference/quotes/create-quote)** - Create a new quote
* **[List Quote Info](/api-reference/quotes/list-quote-info)** - Retrieve lightweight quote information (faster for dashboards)
* **[Get Quote](/api-reference/quotes/get-quote)** - Retrieve a single quote by ID with full details
* **[Delete Quote](/api-reference/quotes/delete-quote)** - Soft delete a quote
* **[Get Quotes Configuration](/api-reference/quotes/get-quotes-configuration)** - Retrieve JSON Schema for quote custom fields

***

## 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   |

***

## Policy Information

Quotes contain a `policyInfo` object with policy-level details:

```json theme={null}
{
  "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](/api-reference/quotes/get-quotes-configuration) endpoint.

The response structure mirrors the quote request shape, making it clear where each schema applies:

```json theme={null}
{
  "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](/api-legacy-reference/data-models#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`)                                |

### Pagination

| 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

```json theme={null}
{
  "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
}
```

***
