Skip to main content

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.

Product updates

New updates and improvements to the AI Insurance REST API.

May 8 2026

Submissions API

Changed
  • POST /api/external/companies/{companyId}/submissions/{submissionId}/files — Now accepts files of any content type, not just application/pdf. The 400 UnsupportedFileType error has been removed. The multipart field name changed from files to file.

April 28 2026

Submissions API

Added
  • POST /api/external/companies/{companyId}/submissions/{submissionId}/files — Attach one or more PDF files to an existing submission. Accepts multipart/form-data with each file in a part named files; non-PDF content types are rejected with 400 UnsupportedFileType. Returns 201 { fileIds: string[] } with IDs in upload order. Files appear in the submission’s Files tab. Requires submission.file:create.

April 27 2026

Address Resolution API

Added
  • GET /api/external/companies/{companyId}/resolve-address — Geocode a freeform address string and return its structured subfields (street, city, state, county, country, zipCode) in the shape Field Model V1 rating expects. Pre-flight utility: integrators call this before building create/update payloads so addresses include all required pieces (especially county). zipCode is returned as a string with leading zeros preserved. Failures (empty input, no match, missing required subfield, upstream geocoder error) surface as 400 (or 502 for upstream errors) with a distinct problemCode — partial addresses are never returned as success. Writes are not auto-enriched. Requires company:read.

April 24 2026

Configuration Rating Fields API

Added
  • PUT /api/external/companies/{companyId}/configuration/rating/fields/rank — Reorder rating input fields within a single (companyId, entityType) tuple by rewriting application_fields.rank. The array index of each fieldId becomes its new rank. The provided fieldIds must exactly match the set of rating fields currently defined for the entity type — partial reorders, duplicates, unknown ids, and missing ids are rejected with 400. Updates UI ordering only; does not modify rating_engine_revisions.config. Requires company:update.
Changed
  • GET /api/external/companies/{companyId}/configuration/rating/fields — Response now includes rank (integer, nullable), the UI rendering order of the field within its entity type. Lower values render first; null renders last. Not used as the endpoint’s sort key.

April 22 2026

Configuration Rating Form Logic API

Added
  • GET /api/external/companies/{companyId}/configuration/rating/form-logic — List form-logic rules from a rating engine revision’s config JSON. Requires ratingEngineRevisionId query parameter. Supports filtering by ruleName (exact match) and id, sorting by ruleName (default) or rank.
  • POST /api/external/companies/{companyId}/configuration/rating/form-logic — Create a form-logic rule in a rating engine revision’s config JSON (config.policyFormLogicConfigs). Rules use a shouldAdd conditional expression that supports AND/OR branches, leaf comparisons (=, !=, <, <=, >, >=, IN, NOTIN, EXISTS, NOTEXISTS, SOME), and an inverted-leaf shape. Requires ratingEngineRevisionId, revisionStrategy, ruleName, rank, and shouldAdd.
  • DELETE /api/external/companies/{companyId}/configuration/rating/form-logic/{formLogicId} — Remove a form-logic rule from a rating engine revision’s config JSON. Requires ratingEngineRevisionId and revisionStrategy query parameters.

April 15 2026

Configuration Rating Presets API

Added
  • GET /api/external/companies/{companyId}/configuration/rating/presets — List coverage limit presets from a rating engine revision’s config JSON. Requires ratingEngineRevisionId query parameter. Supports filtering by coverageTypeKey and id, sorting by setName or coverageTypeKey.
  • POST /api/external/companies/{companyId}/configuration/rating/presets — Create a coverage limit preset in a rating engine revision’s config JSON. For rating-engine companies where presets are stored in config.coverageLimitPresets, not in the coverage_limit_presets table. Requires ratingEngineRevisionId and revisionStrategy parameters. Supports default-steal (setting isDefault: true unsets existing defaults for the same coverage type).
  • DELETE /api/external/companies/{companyId}/configuration/rating/presets/{presetId} — Remove a coverage limit preset from a rating engine revision’s config JSON. The preset is permanently removed from the coverageLimitPresets array.

April 13 2026

FMV1 Policy Transaction API — Read Endpoints

Added
  • GET /api/v1/external/companies/{companyId}/policies/list — List policies with segment scope filtering, JSONB field filters, time travel, and pagination
  • GET /api/v1/external/companies/{companyId}/policies/versions — Search across all policy versions (cross-version search)
  • GET /api/v1/external/companies/{companyId}/policies/{policyId}/versions — List all versions for a single policy
These endpoints complete the read path for the transaction-based policy model. Use segmentScope to filter by date range, filters for field-level JSONB queries, and detail=full to include complete segment data.

Configuration Presets API

Changed
  • Moved coverage limit preset endpoints from /configuration/rating/presets to /configuration/presets — these endpoints operate on the coverage_limit_presets table (for non-rating-engine companies). The /configuration/rating/presets path will be used by new config-JSON endpoints for rating-engine companies. The old path is no longer available — update existing integrations to use the new path.

Exposure Types API

Added
  • DELETE /api/external/companies/{companyId}/exposure-types/{exposureTypeId} — Permanently delete an exposure type and remove it from the company’s enabled types. Validates the type is not referenced by insureds (409) before deletion.

Coverage Types API

Added
  • DELETE /api/external/companies/{companyId}/coverage-types/{coverageTypeId} — Permanently delete a company-specific coverage type. Validates the type is not global (403), not enabled (409), and has no field associations (409) before deletion.

April 10 2026

Coverage Types API

Added
  • GET /api/external/companies/{companyId}/coverage-types — List all coverage types (global and company-specific) with optional label filtering
  • POST /api/external/companies/{companyId}/coverage-types — Create a company-specific coverage type
  • PUT /api/external/companies/{companyId}/coverage-types/enabled — Replace the company’s enabled coverage types list wholesale

Exposure Types API

Added
  • GET /api/external/companies/{companyId}/exposure-types — List exposure types with optional label filtering
  • POST /api/external/companies/{companyId}/exposure-types — Create an exposure type and add it to the company’s enabled exposure types

Configuration Rating Outputs API

Added
  • GET /api/external/companies/{companyId}/configuration/rating/outputs — List rating output fields with filtering by ID, sorting, and pagination
  • DELETE /api/external/companies/{companyId}/configuration/rating/outputs/{fieldId} — Delete a rating output field and soft-delete its associated smart tag

April 9 2026

FMV1 Policy Transaction API

The FMV1 Policy API has been rebuilt around an immutable transaction model. Policies are now managed through transaction endpoints rather than direct CRUD operations. Added
  • POST /api/v1/external/companies/{companyId}/policies/transaction/new-business — Create a new policy via a NEW_BUSINESS transaction
The previous CRUD endpoints (POST /v1/policies, DELETE /v1/policies/{policyId}) are deprecated and will be removed in a future release. See Policy CRUD (Deprecated).

Configuration Rating Outputs API

Added
  • POST /api/external/companies/{companyId}/configuration/rating/outputs — Create a rating output field (rating_engine_display) with auto-created smart tag

Configuration Rating Fields API

Added
  • DELETE /api/external/companies/{companyId}/configuration/rating/fields/{fieldId} — Delete a rating input field, its application field association, and its entry in the rating engine revision config
  • GET /api/external/companies/{companyId}/configuration/rating/fields — List rating input fields with filtering by ID and entity type, sorting, and pagination

April 8 2026

Configuration Rating Fields API

Added
  • POST /api/external/companies/{companyId}/configuration/rating/fields — Create a rating input field and associate it with an entity type and rating engine revision

Field Model V1 Quote Lifecycle Endpoints

Added
  • POST /api/v1/external/companies/{companyId}/quotes/{quoteId}/bind — Bind a quote, creating a policy
  • POST /api/v1/external/companies/{companyId}/quotes/{quoteId}/send — Send a quote, transitioning status to “sent”

April 7 2026

Configuration Fields API

Added
  • GET /api/external/companies/{companyId}/configuration/fields — List entity fields with filtering by ID and entity name, sorting, and pagination
  • POST /api/external/companies/{companyId}/configuration/fields — Create a field definition and associate it with an entity type (events, insureds, policies)
  • DELETE /api/external/companies/{companyId}/configuration/fields/{fieldId} — Delete a field and its entity association
These endpoints manage entity-level configuration fields only. Rating fields are managed through separate /configuration/rating/ endpoints.

Field Model V1 Quotes API

Added
  • GET /api/v1/external/companies/{companyId}/quotes — List quotes with pagination, sorting, and submission filtering
  • POST /api/v1/external/companies/{companyId}/quotes — Create a quote with policy and exposure data
  • GET /api/v1/external/companies/{companyId}/quotes/{quoteId} — Get a single quote
  • PUT /api/v1/external/companies/{companyId}/quotes/{quoteId} — Update a quote (full replacement of policy and exposures)
  • DELETE /api/v1/external/companies/{companyId}/quotes/{quoteId} — Soft-delete a quote
  • GET /api/v1/external/companies/{companyId}/quotes/configuration — Get JSON Schemas for policy and exposure fields
Lifecycle fields (quoteType, quoteStatus, quoteNumber, quoteBindErrors, quoteSubmissionId) are read-only in responses and rejected on create/update.

March 31 2026

FMV1 Configuration Management API

Added
  • POST /api/v1/external/companies/{companyId}/configuration/generate — Generate a blank FMV1 configuration template spreadsheet
  • POST /api/v1/external/companies/{companyId}/configuration/export — Export FMV1 configuration to an existing Google Spreadsheet
  • POST /api/v1/external/companies/{companyId}/configuration/validate — Validate a configuration spreadsheet
  • POST /api/v1/external/companies/{companyId}/configuration/compare — Compare spreadsheet against database
  • POST /api/v1/external/companies/{companyId}/configuration/import — Import configuration from a spreadsheet
These endpoints require the new FMV1_CONFIGURATION_MANAGER role. New permissions: company.configuration:export and company.configuration:import.

March 30 2026

Coverage Type Fields API

Added
  • POST /api/external/companies/{companyId}/coverage-types/{coverageTypeId}/fields - Set fields on a company-specific coverage type
Changed
  • GET /api/external/companies/{companyId}/coverage-types/{coverageTypeId}/fields - Response now includes a metadata object with coverageTypeScope (global or company) and fieldSources (database, static, or both)

March 27 2026

Coverage Type Fields API

Added
  • GET /api/external/companies/{companyId}/coverage-types/{coverageTypeId}/fields - Get fields associated with a coverage type

Field Model V1 Events API

Changed
  • Event responses no longer include lawsuitId — lawsuits are now managed via entity relationships, not auto-created on event creation
  • fieldModelV1Data is now always present (non-nullable) in event responses
  • List endpoint now filters type and status via fieldModelV1Data JSONB fields instead of legacy columns
  • Creating an event no longer auto-creates a lawsuit record

Field Model V1 Exposures API

Changed
  • Exposures now read and write exclusively from fieldModelV1Data. Legacy columns (name, entity_type) are no longer populated on create or update.
  • List endpoint filtering and sorting now operate on JSONB fields (exposureType, exposureName) instead of legacy columns.

March 23 2026

Assignees API

Added
  • GET /api/external/companies/{companyId}/{entityType}/{entityId}/assignees - List assignees for an entity
  • PUT /api/external/companies/{companyId}/{entityType}/{entityId}/assignees - Set assignees for an entity (full replace)
Supports policies, submissions, insureds, and events.

March 16 2026

Field Model V1 Custom Objects API

Added
  • GET /api/v1/external/companies/{companyId}/custom-objects - List custom object types
  • GET /api/v1/external/companies/{companyId}/custom-objects/{objectType}/configuration - Get field schema and relationship metadata
  • GET /api/v1/external/companies/{companyId}/custom-objects/{objectType} - List custom objects (paginated)
  • GET /api/v1/external/companies/{companyId}/custom-objects/{objectType}/{objectId} - Get custom object by ID
  • POST /api/v1/external/companies/{companyId}/custom-objects/{objectType} - Create custom object
  • PUT /api/v1/external/companies/{companyId}/custom-objects/{objectType}/{objectId} - Update custom object (full replacement)
  • DELETE /api/v1/external/companies/{companyId}/custom-objects/{objectType}/{objectId} - Delete custom object
  • PUT /api/v1/external/companies/{companyId}/custom-objects/{objectType}/{objectId}/relationships/{fieldRefId}/{targetId} - Add relationship
  • DELETE /api/v1/external/companies/{companyId}/custom-objects/{objectType}/{objectId}/relationships/{fieldRefId}/{targetId} - Remove relationship

February 27 2026

Insureds Configuration API

New Features
  • Get Insureds Configuration: Response now includes fieldEntityTypeMappings (maps field keys to entity type associations). This allows API consumers to determine which fields apply to which entity types.
  • Entity-type scoped fields: The configuration response now only includes fields for entity types that are enabled for your company, instead of the union of all possible entity-type-specific fields.
  • Improved validation errors: When creating or updating an insured with a field that belongs to a different entity type, the error message now indicates which entity types the field belongs to, instead of the generic “Unknown field key” message.

February 26 2026

Create Policy API

Breaking Changes
  • Unified exposures array: The primaryInsured field and separate exposures array have been replaced with a single exposures array. Exactly one exposure must have role: "primary".
    • Before: Separate primaryInsured object (no role field) + optional exposures array (roles: named, additional, related)
    • After: Single required exposures array where one entry has role: "primary" and others have role: "named", "additional", or "related"
  • Field renames in docs: insuredTyperole, applicationDataratingInfo, insuredsexposures (docs now match actual code field names)

February 24 2026

Field Model V1 Exposures API

New Features
  • Field Model V1 Exposures CRUD API: Full operations for managing exposures with company-configured dynamic fields
    • GET /api/v1/external/companies/{companyId}/exposures/configuration - Get JSON Schema of available fields
    • POST /api/v1/external/companies/{companyId}/exposures - Create an exposure with dynamic fields
    • GET /api/v1/external/companies/{companyId}/exposures - List exposures with filtering and pagination
    • GET /api/v1/external/companies/{companyId}/exposures/{exposureId} - Retrieve a single exposure by ID
    • PATCH /api/v1/external/companies/{companyId}/exposures/{exposureId} - Update an exposure (full replacement of field data)
    • DELETE /api/v1/external/companies/{companyId}/exposures/{exposureId} - Soft delete an exposure
    • Fields are dynamically defined per company — use the configuration endpoint to discover available fields and types
    • Supports Text, Number, Boolean, Option Set, and Object field types
    • Required permissions: company.insured:read, company.insured:create, insured:update, insured:delete

Field Model V1 Policies API

New Features
  • FMV1 Policies CRUD API: Full operations for managing Field Model V1 policies
    • GET /api/v1/external/companies/{companyId}/policies - List policies with filtering, sorting, and pagination
    • POST /api/v1/external/companies/{companyId}/policies - Create a policy with segment data
    • GET /api/v1/external/companies/{companyId}/policies/{policyId} - Retrieve a single policy by ID
    • DELETE /api/v1/external/companies/{companyId}/policies/{policyId} - Soft delete a policy
    • GET /api/v1/external/companies/{companyId}/policies/configuration - Get JSON Schema for available custom fields
    • Segment-based data structure with policy, coverage, and exposure custom fields
    • Required permissions: company.policy:read (read operations), company.policy:create (write operations)

February 19 2026

Defendants API

New Features
  • Defendants CRUD API: Full operations for managing defendants on lawsuits
    • GET /api/external/companies/{companyId}/events/{eventId}/lawsuit/defendants - List defendants with filtering and pagination
    • POST /api/external/companies/{companyId}/events/{eventId}/lawsuit/defendants - Create a defendant for a lawsuit
    • GET /api/external/companies/{companyId}/events/{eventId}/lawsuit/defendants/{defendantId} - Retrieve a single defendant by ID
    • PATCH /api/external/companies/{companyId}/events/{eventId}/lawsuit/defendants/{defendantId} - Update a defendant (send null to clear fields)
    • DELETE /api/external/companies/{companyId}/events/{eventId}/lawsuit/defendants/{defendantId} - Soft delete a defendant
    • Each defendant is either an insured (insuredId) or non-insured party (nonInsuredName)
    • FK validation for insuredId, attorneyId, and lawFirmId
    • Required permission: company.event:export

Events API

Improvements
  • lawsuitId field: Event responses now include lawsuitId (nullable). Create and update event requests accept an optional lawsuitId to associate a lawsuit with an event.

February 17 2026

Lawsuits API

New Features
  • Lawsuits CRUD API: Full operations for managing lawsuits on events (1:1 relationship)
    • POST /api/external/companies/{companyId}/events/{eventId}/lawsuit - Create a lawsuit for an event (409 if one already exists)
    • GET /api/external/companies/{companyId}/events/{eventId}/lawsuit - Retrieve the lawsuit for an event
    • PATCH /api/external/companies/{companyId}/events/{eventId}/lawsuit - Update the lawsuit (send null to clear fields)
    • DELETE /api/external/companies/{companyId}/events/{eventId}/lawsuit - Soft delete the lawsuit
    • All fields are optional on create; update supports partial updates with null clearing
    • FK validation for plaintiffAttorneyId and plaintiffLawFirmId
    • Required permission: company.event:export

Event Financials API

New Features
  • Void Event Transaction: PATCH /api/external/companies/{companyId}/events/{eventId}/financials/transactions/{transactionId}
    • Void an existing financial transaction by setting status: "void"
    • Required voidReason field to document why the transaction was voided
    • Returns full transaction detail after voiding
    • Required permission: company.payment:update

February 16 2026

Attorneys API

New Features
  • Attorneys API: Full CRUD operations for managing attorneys
    • GET /api/external/companies/{companyId}/attorneys - List attorneys with filtering and pagination
    • POST /api/external/companies/{companyId}/attorneys - Create a new attorney
    • GET /api/external/companies/{companyId}/attorneys/{attorneyId} - Get attorney details
    • PATCH /api/external/companies/{companyId}/attorneys/{attorneyId} - Update an attorney
    • DELETE /api/external/companies/{companyId}/attorneys/{attorneyId} - Soft delete an attorney
    • Filter by ID (single or array) or text search across attorney names
    • Sort by createdAt, updatedAt, or name
    • Optional lawFirmId to associate an attorney with a law firm payee

February 11 2026

Events API

Improvements
  • Get Events Configuration: Response now includes fieldCoverageTypeMappings (maps field keys to coverage type associations) and companyCoverageTypes (list of enabled coverage type IDs). This allows API consumers to determine which fields apply to which coverage types.

January 26 2026

Exposures API

New Features
  • New /exposures/ endpoints: Added /exposures/ as the preferred endpoint path for managing exposures (previously called “insureds”)
    • GET /api/external/companies/{companyId}/exposures - List exposures with filtering and pagination
    • GET /api/external/companies/{companyId}/exposures/{exposureId} - Retrieve a single exposure by ID
    • POST /api/external/companies/{companyId}/exposures - Create a new exposure
    • PATCH /api/external/companies/{companyId}/exposures/{exposureId} - Update an existing exposure
    • DELETE /api/external/companies/{companyId}/exposures/{exposureId} - Soft delete an exposure
    • The existing /insureds/ endpoints remain available for backwards compatibility

Insured API

New Features
  • Get insured endpoint: GET /api/external/companies/{companyId}/insureds/{insuredId}
    • Retrieve a single insured (exposure) by ID
    • Returns insured details including name, entity type, and associated policy IDs

January 13 2026

Smart Tags API

New Features
  • Smart Tags API: List smart tags for a company
    • GET /api/external/companies/{companyId}/smart-tags - List smart tags with filtering and pagination
    • Filter by ID (single or array) or text search across tag names
    • Sort by createdAt, updatedAt, tagName, or tagDisplayName

Policies API

New Features
  • Create policy endpoint: POST /api/external/companies/{companyId}/policies
    • Create policies directly for historical imports without going through quote→bind flow
    • Takes existing insured IDs (insureds must be created first via POST /insureds)
    • Creates insured snapshots with optional applicationData for rating
    • Creates policy snapshot with coverages
    • Supports: policy type, billing period, timezone, premium override, broker info
    • Validates exactly one primary insured, policy number uniqueness
    • Returns { id } with HTTP 201

January 6 2026

Event Financials API

New Features
  • Event Financials API: Full management of financial transactions and reserves for events
    • GET /api/external/companies/{companyId}/events/{eventId}/financials/transactions - List transactions for an event
    • POST /api/external/companies/{companyId}/events/{eventId}/financials/transactions - Create payment or invoice
    • GET /api/external/companies/{companyId}/events/{eventId}/financials/transactions/{transactionId} - Get transaction details with line items
    • GET /api/external/companies/{companyId}/events/{eventId}/financials/reserves - Get reserve amounts by category
    • PATCH /api/external/companies/{companyId}/events/{eventId}/financials/expected-totals - Update expected totals/reserves
    • GET /api/external/companies/{companyId}/events/financials/{transactionType}/totals - Get financial totals across all events
    • Support for itemized and non-itemized transaction types
    • Transaction statuses: owed, paid, approved, void

Policies API

New Features
  • List policies endpoint: GET /api/external/companies/{companyId}/policies
    • Retrieve policies with filtering and pagination support

Insured API

New Features
  • Create insured endpoint: POST /api/external/companies/{companyId}/insureds
    • Create new insured (exposure) records with name and entity type
  • Delete insured endpoint: DELETE /api/external/companies/{companyId}/insureds/{insuredId}
    • Soft delete insured records

December 30 2025

Payees & Transaction Categories

New Features
  • Payees API: Full CRUD operations for managing payees
    • GET /api/external/companies/{companyId}/payees - List all payees with filtering
    • GET /api/external/companies/{companyId}/payees/{payeeId} - Get payee details
    • POST /api/external/companies/{companyId}/payees - Create new payee
    • PUT /api/external/companies/{companyId}/payees/{payeeId} - Update payee
    • DELETE /api/external/companies/{companyId}/payees/{payeeId} - Delete payee
    • Support for saved and non-saved payee types
  • Transaction Categories endpoint: GET /api/external/companies/{companyId}/transaction-categories
    • Retrieve available transaction categories for accounting integration
Improvements
  • Added batchId audit logging support for bulk operations

December 22 2025

Submissions & Configuration Endpoints

New Features
  • Submissions CRUD API: Complete submission management
    • GET /api/external/companies/{companyId}/submissions/{submissionId} - Get submission details
    • POST /api/external/companies/{companyId}/submissions - Create new submission
    • PUT /api/external/companies/{companyId}/submissions/{submissionId} - Update submission
    • DELETE /api/external/companies/{companyId}/submissions/{submissionId} - Delete submission
  • Events configuration endpoint: GET /api/external/companies/{companyId}/events/configuration
    • Retrieve event type configuration and available options
Improvements
  • Updated currency field documentation to use JSON Schema money format type

December 19 2025

Brokers & Quotes Configuration

New Features
  • Brokers CRUD API: Full broker management
    • GET /api/external/companies/{companyId}/brokers - List brokers
    • GET /api/external/companies/{companyId}/brokers/{brokerId} - Get broker details
    • POST /api/external/companies/{companyId}/brokers - Create broker
    • PUT /api/external/companies/{companyId}/brokers/{brokerId} - Update broker
    • DELETE /api/external/companies/{companyId}/brokers/{brokerId} - Delete broker
  • Quotes configuration endpoint: GET /api/external/companies/{companyId}/quotes/configuration
    • Retrieve quote-related configuration settings
Improvements
  • Added force parameter to DELETE /events/{eventId} for force deletion

December 17 2025

Brokerages & API Improvements

New Features
  • Brokerages CRUD API: Complete brokerage management
    • GET /api/external/companies/{companyId}/brokerages - List brokerages
    • GET /api/external/companies/{companyId}/brokerages/{brokerageId} - Get brokerage details
    • POST /api/external/companies/{companyId}/brokerages - Create brokerage
    • PUT /api/external/companies/{companyId}/brokerages/{brokerageId} - Update brokerage
    • DELETE /api/external/companies/{companyId}/brokerages/{brokerageId} - Delete brokerage
Improvements
  • Create endpoints now return 201 Created status code (previously 200 OK)
  • Removed deprecated requestorEmail field from all endpoints

December 11 2025

Events API

New Features
  • Events CRUD API: Full event lifecycle management
    • GET /api/external/companies/{companyId}/events - List events with filtering
    • GET /api/external/companies/{companyId}/events/{eventId} - Get event details
    • POST /api/external/companies/{companyId}/events - Create new event
    • PUT /api/external/companies/{companyId}/events/{eventId} - Update event
    • DELETE /api/external/companies/{companyId}/events/{eventId} - Delete event
Improvements
  • Added insuredIds array field for multi-insured event support
  • Removed legacy fields from events API for cleaner responses
  • Added nullable fields documentation for events API

December 5 2025

Notes & Quote Operations

New Features
  • Notes API: Create and retrieve notes
    • GET /api/external/companies/{companyId}/notes - List notes with filtering
    • POST /api/external/companies/{companyId}/notes - Create new note
    • Support for author override fields
  • Quote creation endpoint: POST /api/external/companies/{companyId}/quotes
    • Create new quotes programmatically
  • Quote deletion endpoint: DELETE /api/external/companies/{companyId}/quotes/{quoteId}
    • Delete quotes that are no longer needed
  • Quote update endpoint: PATCH /api/external/companies/{companyId}/quotes/{quoteId}
    • Update existing quote fields
  • Quote binding endpoint: POST /api/external/companies/{companyId}/quotes/{quoteId}/bind
    • Bind a quote to convert it to a policy

December 4 2025

Quotes API Consolidation

Breaking Changes
  • Consolidated quote endpoints: Moved from submission-scoped paths to single company-level endpoints with optional filters
    • Before: GET /api/external/companies/{companyId}/submissions/{submissionId}/quotes
    • After: GET /api/external/companies/{companyId}/quotes?submissionId={submissionId}
    • All quote endpoints now use optional submissionId and applicationId query parameters instead of path parameters
New Features
  • Lightweight quote info endpoint: GET /api/external/companies/{companyId}/quotes-info
    • Returns essential fields only (9 fields vs 40+)
    • Optimized for listing, searching, and filtering
    • ~3x faster response times for dashboard views
    • Fields: id, number, status, createdAt, updatedAt, description, policyId, policyCurrency, grandTotal
  • Enhanced pagination: All list endpoints now support robust pagination
    • Page size: 50 quotes per page
    • 1-based indexing (page=1 is first page, page=0 coerced to 1)
    • Response includes totalCount for pagination UI
  • Advanced filtering: Comprehensive query parameters for all list endpoints
    • status: Filter by single status or array of statuses
    • filterText: Full-text search across quote fields
    • dateFrom/dateTo: Filter by creation date range
    • applicationId: Filter by associated application
  • Flexible sorting: Control result ordering
    • sortBy: Choose field (createdAt, updatedAt, status, number)
    • sortDirection: asc or desc
    • Default: Most recent first (createdAt desc)
Improvements
  • Unified response format: All list endpoints return { items: [], totalCount: number }
  • Updated quote statuses: Status values now match actual implementation
    • Added: in_progress, complete, sent, accepted, applied_to_policy
    • Updated: More granular status tracking for quote lifecycle
  • Better data models: Clear distinction between lightweight and full quote representations
  • Improved documentation: Separate guides for submissions and quotes with detailed examples

August 8 2025

External API enhancements

Improvements
  • New submission creation: Create submissions with complete policy, coverage, and insured data via POST /api/external/companies/{companyId}/submissions
  • Submission updates: Update existing submissions by adding new quotes via PUT /api/external/companies/{companyId}/submissions/{submissionId}
  • Enhanced quote retrieval: Get detailed quote information including policy data, coverages, and billing configuration via GET /api/external/companies/{companyId}/quotes/{quoteId}
  • Configuration endpoint: Retrieve company-specific configuration including rating fields, entity types, and coverage options via GET /api/external/companies/{companyId}/configuration
API structure improvements
  • All endpoints now use /api/external/ prefix for better organization and versioning
  • Enhanced data models with comprehensive ImportPolicy, ImportPolicyCoverage, and ImportInsured objects
  • Added support for policy types: Claims Made (C), Occurrence (O), Claims Paid (P), and more
  • Expanded quote response with billing details, forms management, and binding settings
Developer experience
  • Complete API documentation with detailed request/response examples
  • Enhanced error handling and validation
  • Comprehensive data model reference with all field descriptions
  • Support for complex insurance workflows including renewals and endorsements

Initial Release

Core API functionality

New features
  • List submissions: Retrieve paginated submissions for a company with filtering and sorting options
  • List quotes: Get all quotes associated with a specific submission
  • Quote management: Basic quote retrieval and status tracking
  • Authentication: API key-based authentication for secure access
Data models
  • Core Submission object with status tracking and metadata
  • Basic Quote object with pricing and status information
  • Support for submission types: new business, renewals, and endorsements
  • Quote status management: draft, active, expired, bound, declined, superseded
API foundation
  • RESTful API design following industry standards
  • Comprehensive error handling with detailed error responses
  • Rate limiting and security best practices
  • UUID-based resource identification