Skip to main content

Overview

Configuration rating presets define the available coverage limit options for each coverage type. Each preset specifies a set of named limits (e.g., “Per Occurrence”, “Aggregate”) with their amounts, and can include additional settings for deductibles, defense costs, retroactive dates, and waiting periods. Presets are stored in the coverage_limit_presets table and are scoped to a company via company_id. Each preset references a coverage type via coverageTypeKey.

Key Concepts

  • 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. Multiple presets per coverage type are allowed, but only one can be the default. When creating a preset with isDefault: true, any existing default for the same coverage type is automatically set to non-default.
  • defenseInsideLimit: Whether defense costs count inside or outside the limit ("inside" or "outside").
  • Settings fields: Optional JSONB 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
POST/configuration/rating/presetsCreate a new coverage limit preset
DELETE/configuration/rating/presets/{presetId}Soft-delete a coverage limit preset

Permissions

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

Request Properties

PropertyTypeRequiredDescription
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
retroactiveDatestringNoISO date (YYYY-MM-DD)
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[].amountnumberYesLimit amount in dollars
allowLimitEditsbooleanNoWhether users can edit limit amounts on quotes

Response Properties (GET)

The list endpoint returns { items, totalCount } where each item includes all request properties plus:
PropertyTypeDescription
idstring (UUID)Preset identifier
createdAtstring | nullISO 8601 timestamp
updatedAtstring | nullISO 8601 timestamp
Nullable fields (defenseInsideLimit, deductible, retroactiveDate, and all settings) return null when not set.