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.

Overview

Configuration rating presets define coverage limit options stored in the rating engine revision’s config JSON (rating_engine_revisions.config.coverageLimitPresets). These endpoints are for rating-engine companies where presets live in the revision config, not in the coverage_limit_presets table. For non-rating-engine companies, use the Configuration Presets endpoints instead.

Key Concepts

  • ratingEngineRevisionId: The rating engine revision whose config contains the presets — must already exist.
  • revisionStrategy: Controls how the revision is updated — UpdateExistingRevision modifies the specified revision in place. CreateNewRevision is not yet implemented.
  • coverageTypeKey: The string key of an existing coverage type (global or company-specific). Must exist in the coverage_types table.
  • limits: An object containing an array of named limit amounts and an optional allowLimitEdits flag controlling whether users can modify amounts on quotes.
  • isDefault: Whether this preset is the default for its coverage type. When creating a preset with isDefault: true, any existing default for the same coverage type within the revision config is automatically set to non-default.
  • Settings fields: Optional JSON configuration for deductibles, limits, retroactive dates, waiting periods, and prior/pending litigation dates. These are opaque blobs passed through to the rating engine.

API Endpoints

MethodEndpointDescription
GET/configuration/rating/presetsList coverage limit presets from the revision config
POST/configuration/rating/presetsCreate a new coverage limit preset in the revision config
DELETE/configuration/rating/presets/{presetId}Remove a preset from the revision config

Permissions

ActionPermission
List presetscompany:read
Create presetcompany:update
Delete presetcompany:update

GET Response Properties

The list endpoint returns { items }. Each item has these properties:
PropertyTypeDescription
idstring (UUID)Preset identifier
coverageTypeKeystringCoverage type key this preset belongs to
setNamestringDisplay name for the preset
isDefaultbooleanWhether this is the default preset for its coverage type
limitsobjectLimit definitions (see Limits Object below)
defenseInsideLimitstring | null"inside" or "outside"
deductiblenumber | nullDeductible amount in dollars
waitingPeriodSettingsobject | nullWaiting period configuration
deductibleSettingsobject | nullDeductible default amount configuration
limitSettingsobject | nullLimit default amounts configuration
retroactiveDateSettingsobject | nullRetroactive date default amount configuration
priorPendingLitigationDateSettingsobject | nullPrior/pending litigation date configuration
Unlike the table-based Configuration Presets endpoint, config-JSON presets do not have createdAt, updatedAt, or retroactiveDate fields. Sorting is by setName (default) or coverageTypeKey instead of timestamps.

POST Request Properties

PropertyTypeRequiredDescription
ratingEngineRevisionIdstring (UUID)YesRating engine revision to add the preset to
revisionStrategystringYes"UpdateExistingRevision" or "CreateNewRevision" (501)
coverageTypeKeystringYesCoverage type key (must exist)
setNamestringYesDisplay name for the preset
limitsobjectYesLimit definitions (see below)
isDefaultbooleanNoWhether this is the default preset (defaults to false)
defenseInsideLimitstringNo"inside" or "outside"
deductiblenumberNoDeductible amount in dollars
waitingPeriodSettingsobjectNoWaiting period configuration
deductibleSettingsobjectNoDeductible default amount configuration
limitSettingsobjectNoLimit default amounts configuration
retroactiveDateSettingsobjectNoRetroactive date default amount configuration
priorPendingLitigationDateSettingsobjectNoPrior/pending litigation date configuration

Limits Object

PropertyTypeRequiredDescription
limitsarrayYesArray of limit definitions
limits[].idstringYesUnique identifier for this limit
limits[].namestringYesDisplay name (e.g., “Per Occurrence”)
limits[].amountnumber | stringNoLimit amount — a number (e.g. 1000000) or a string (e.g. “100%”, ”-”). Omit when not applicable.
allowLimitEditsbooleanNoWhether users can edit limit amounts on quotes