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

> Manage coverage limit presets in rating engine revision config

## 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](/api-legacy-reference/configuration-presets/overview) 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

| Method | Endpoint                                   | Description                                               |
| ------ | ------------------------------------------ | --------------------------------------------------------- |
| GET    | `/configuration/rating/presets`            | List coverage limit presets from the revision config      |
| POST   | `/configuration/rating/presets`            | Create a new coverage limit preset in the revision config |
| DELETE | `/configuration/rating/presets/{presetId}` | Remove a preset from the revision config                  |

## Permissions

| Action        | Permission       |
| ------------- | ---------------- |
| List presets  | `company:read`   |
| Create preset | `company:update` |
| Delete preset | `company:update` |

## GET Response Properties

The list endpoint returns `{ items }`. Each item has these properties:

| Property                           | Type           | Description                                              |
| ---------------------------------- | -------------- | -------------------------------------------------------- |
| id                                 | string (UUID)  | Preset identifier                                        |
| coverageTypeKey                    | string         | Coverage type key this preset belongs to                 |
| setName                            | string         | Display name for the preset                              |
| isDefault                          | boolean        | Whether this is the default preset for its coverage type |
| limits                             | object         | Limit definitions (see Limits Object below)              |
| defenseInsideLimit                 | string \| null | `"inside"` or `"outside"`                                |
| deductible                         | number \| null | Deductible amount in dollars                             |
| waitingPeriodSettings              | object \| null | Waiting period configuration                             |
| deductibleSettings                 | object \| null | Deductible default amount configuration                  |
| limitSettings                      | object \| null | Limit default amounts configuration                      |
| retroactiveDateSettings            | object \| null | Retroactive date default amount configuration            |
| priorPendingLitigationDateSettings | object \| null | Prior/pending litigation date configuration              |

Unlike the table-based [Configuration Presets](/api-legacy-reference/configuration-presets/overview) 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

| Property                           | Type          | Required | Description                                               |
| ---------------------------------- | ------------- | -------- | --------------------------------------------------------- |
| ratingEngineRevisionId             | string (UUID) | Yes      | Rating engine revision to add the preset to               |
| revisionStrategy                   | string        | Yes      | `"UpdateExistingRevision"` or `"CreateNewRevision"` (501) |
| coverageTypeKey                    | string        | Yes      | Coverage type key (must exist)                            |
| setName                            | string        | Yes      | Display name for the preset                               |
| limits                             | object        | Yes      | Limit definitions (see below)                             |
| isDefault                          | boolean       | No       | Whether this is the default preset (defaults to false)    |
| defenseInsideLimit                 | string        | No       | `"inside"` or `"outside"`                                 |
| deductible                         | number        | No       | Deductible amount in dollars                              |
| waitingPeriodSettings              | object        | No       | Waiting period configuration                              |
| deductibleSettings                 | object        | No       | Deductible default amount configuration                   |
| limitSettings                      | object        | No       | Limit default amounts configuration                       |
| retroactiveDateSettings            | object        | No       | Retroactive date default amount configuration             |
| priorPendingLitigationDateSettings | object        | No       | Prior/pending litigation date configuration               |

### Limits Object

| Property         | Type             | Required | Description                                                                                      |
| ---------------- | ---------------- | -------- | ------------------------------------------------------------------------------------------------ |
| limits           | array            | Yes      | Array of limit definitions                                                                       |
| limits\[].id     | string           | Yes      | Unique identifier for this limit                                                                 |
| limits\[].name   | string           | Yes      | Display name (e.g., "Per Occurrence")                                                            |
| limits\[].amount | number \| string | No       | Limit amount — a number (e.g. 1000000) or a string (e.g. "100%", "-"). Omit when not applicable. |
| allowLimitEdits  | boolean          | No       | Whether users can edit limit amounts on quotes                                                   |
