Skip to main content
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:
FieldDescription
quoteTypeQuote type (e.g., “New Business”)
quoteStatusCurrent status
quoteNumberAuto-generated quote number
quoteBindErrorsBinding validation errors
quoteSubmissionIdAssociated submission ID

API Endpoints

MethodEndpointDescription
GET/v1/quotesList quotes
POST/v1/quotesCreate 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
GET/v1/quotes/configurationGet 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

OperationPermission
List, Get, Configurationcompany.quote:read
Createcompany.quote:create
Updatecompany.quote:update
Deletecompany.quote:delete

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"
}