Skip to content

GET_QUOTES

Summary

The GET_QUOTES event is used to request insurance quotes for a product. When triggered, the system orchestrates multiple rating actions (such as IOI_RATING, VERISK, VERISK_ALGO, or BUNDLE_RATING) based on the product configuration and returns calculated premiums, coverages, taxes, and fees.

Key behaviors:

  • Automatically creates or updates a client record with the provided intake data (unless batchMode: true)
  • Supports both synchronous and asynchronous response modes via the forceSync parameter
  • Can execute multiple rating actions in parallel and aggregate results
  • Returns quotes with detailed premium breakdowns, coverage information, and any applicable messages

When and what fires this event?

If this event is defined on a product, and it has actions that are enabled:

  • CoPilot: fires this event when a new quote is requested in the Account Builder
  • Storefront: fires this event at the end of client intake
  • Fired externally via API on-demand

Request

Endpoint

POST https://api.{ENV}.dais.com/ioi/v3/event/fire

Or via the internal trigger endpoint:

POST /pub/v1/trigger/fire

Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
AuthorizationBearer <token> or Basic <credentials>Yes

Request Body

curl --location --request POST 'https://api.{ENV}.dais.com/ioi/v3/event/fire' \
--header 'Authorization: Basic <yourAuthHere>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "GET_QUOTES",
    "lineId": "<lineId>",
    "forceSync": true,
    "source": {
        "organizationId": "<organizationId>",
        "sourceType": "STOREFRONT",
        "storefrontId": "<storefrontId>"
    },
    "payload": {
        "clientId": "<clientId>",
        "effectiveDate": "2026-02-01",
        "intake": {
            "<questionKey>": {
                "answer": "<answer>",
                "questionId": "<questionId>",
                "questionKey": "<questionKey>"
            }
        }
    }
}'
{
  "type": "GET_QUOTES",
  "lineId": "262e67be-c08c-43c0-bb51-06fe4408b4e9",
  "forceSync": true,
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT",
    "storefrontId": "bb0e8400-e29b-41d4-a716-446655440000"
  },
  "agencyCodes": [
    {
      "carrierId": "11111111-1111-1111-1111-111111111111",
      "carrierName": "Some Carrier",
      "contractCodeSetName": "AGENCY_CODES_SET",
      "agencyCodeData": {
        "agencyCode": "AG12345",
        "subProducerCode": "SUB999"
      }
    }
  ],
  "payload": {
    "clientId": "220c4020-7f20-4a16-ba51-d0945804dd83",
    "effectiveDate": "2026-02-01",
    "requestSource": "QUOTE",
    "referrer": "partner-website",
    "intake": {
      "business_name": {
        "answer": "Acme Corp",
        "questionId": "q1",
        "questionKey": "business_name"
      },
      "state": {
        "answer": "CA",
        "questionId": "q2",
        "questionKey": "state"
      },
      "employee_count": {
        "answer": "50",
        "questionId": "q3",
        "questionKey": "employee_count"
      }
    },
    "asConfiguredAtTimestamp": "2022-05-24T19:04:24.1Z"
  }
}

Request Fields

FieldTypeRequiredDescription
triggerRequestIdstring (UUID)NoUnique identifier for tracking this request. If not provided, the system auto-generates one.
typestringYesMust be GET_QUOTES.
lineIdstring (UUID)YesThe product/line identifier to get quotes for.
productVersionIdstring (UUID)NoSpecific product version to use for rating. If not provided, the system fetches the currently deployed version from the hosting service.
versionSystemSourcestringNoSpecifies where to fetch the product version from. See versionSystemSource Values.
forceSyncbooleanNoControls response behavior. See Understanding forceSync. Default: false.
batchModebooleanNoIf true, skips the automatic CREATE_OR_UPDATE_CLIENT action. Default: false.
batchIdstring (UUID)NoIdentifier for batch processing operations.
filterByOrganizationsarrayNoArray of organization UUIDs. Limits which rating actions are executed based on organization ownership.
eventTargetsarrayNoArray of action/event UUIDs. Limits execution to only the specified actions.
sourceobjectYesInformation about the request source. See source Object.
agencyCodesarrayNoArray of agency code configurations for carrier-specific routing. See agencyCodes Array.
payloadobjectYesThe quote request data including client information and intake answers. See payload Object.

Understanding forceSync

The forceSync parameter is critical for determining how the API responds to your request. It controls whether the system waits for all rating actions to complete before returning.

When forceSync: true (Synchronous Mode)

The API waits for all rating actions to complete and returns the quotes directly in the response.

Response behavior:

  • The API call blocks until all configured rating actions finish
  • The metadata.quotes array contains all generated quotes
  • Longer response time (depends on number and complexity of rating actions)

Example response with forceSync: true:

{
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "executedActionCount": 4,
  "expectedResponseCount": 3,
  "metadata": {
    "CREATE_OR_UPDATE_CLIENT": {
      "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
      "intake": {}
    },
    "quotes": [
      {
        "id": "ee0e8400-e29b-41d4-a716-446655440000",
        "actionType": "IOI_RATING",
        "type": "QUOTE",
        "quoteDetails": {
          "premium": { "amount": 5250.00, "currency": "USD" }
        }
      }
    ]
  }
}

When forceSync: false (Asynchronous Mode - Default)

The API returns immediately after triggering the rating actions. Quotes are processed in the background and posted asynchronously.

Response behavior:

  • The API returns quickly after initiating the actions
  • The metadata.quotes array is NOT present in the response
  • Use expectedResponseCount to know how many quotes will be generated

Example response with forceSync: false:

{
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "executedActionCount": 4,
  "expectedResponseCount": 3,
  "metadata": {
    "CREATE_OR_UPDATE_CLIENT": {
      "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
      "intake": {}
    }
  }
}

source Object

FieldTypeRequiredDescription
organizationIdstring (UUID)YesThe organization making the request.
sourceTypestringYesType of the requesting system. See sourceType Values.
storefrontIdstring (UUID)NoRequired when sourceType is STOREFRONT.

agencyCodes Array

Each item in the agencyCodes array represents agency code configuration for a specific carrier.

FieldTypeRequiredDescription
carrierIdstring (UUID)YesThe carrier's unique identifier.
carrierNamestringNoHuman-readable carrier name for reference.
contractCodeSetNamestringNoName of the contract code set to use for this carrier.
agencyCodeDataobjectNoContains carrier-specific agency codes (for example agencyCode, subProducerCode).

payload Object

FieldTypeRequiredDescription
clientIdstring (UUID)NoExisting client ID. If not provided and batchMode is false, a new client may be created automatically.
quoteIdstring (UUID)NoExisting quote ID for re-rating scenarios.
policyIdstring (UUID)NoPolicy ID for endorsement or renewal scenarios.
effectiveDatestring (date)NoRequested policy effective date. Format: YYYY-MM-DD.
requestSourcestringNoThe type of quote request. See requestSource Values. Default: QUOTE.
forwardingQuoteIdstring (UUID)NoQuote ID for forwarding scenarios.
referrerstringNoString value to track client referral source.
quoteIntegrationDataobjectNoCustom key-value data to attach to generated quotes.
clientIntegrationDataobjectNoCustom key-value data to attach to the client record.
intakeobjectYesClient answers/responses to questions. See intake Object.
asConfiguredAtTimestampstring (ISO 8601)NoUses product configuration as it existed at this timestamp.

intake Object

The intake object is a map where each key is a question identifier and the value contains the answer details.

Structure: { "<questionKey>": { answer details } }

Each answer object contains:

FieldTypeRequiredDescription
answerstringYesThe answer value provided by the client.
questionIdstringNoThe question's unique identifier in the system.
questionKeystringNoThe question's key/name.
typestringNoAnswer type indicator (for example ANSWER).
qidstringNoAlternative question identifier field.

Example:

{
  "intake": {
    "business_name": {
      "answer": "Acme Corp",
      "questionId": "q1",
      "questionKey": "business_name",
      "type": "ANSWER"
    },
    "employee_count": {
      "answer": "50",
      "questionId": "q2",
      "questionKey": "employee_count"
    }
  }
}

Response

Response Fields

FieldTypeDescription
triggerRequestIdstring (UUID)The unique identifier for this request.
executedActionCountnumberTotal number of actions that were executed.
expectedResponseCountnumberNumber of actions that will produce quote responses.
metadataobjectContains action results.

Metadata Object

FieldTypeDescription
CREATE_OR_UPDATE_CLIENTobjectResult from the client creation/update action.
quotesarrayList of generated quotes. Only present when forceSync: true.

CREATE_OR_UPDATE_CLIENT Object

FieldTypeDescription
clientIdstring (UUID)The created or updated client ID.
intakeobjectThe intake data associated with the client.

quote Object

FieldTypeDescription
idstring (UUID)Unique quote identifier.
actionIdstring (UUID)The action that generated this quote.
actionTypestringThe type of rating action. Values: IOI_RATING, VERISK, VERISK_ALGO, BUNDLE_RATING.
typestringThe quote result type. Values: QUOTE, DECLINE, BATCH, INDICATION.
lineIdstring (UUID)Product/Line identifier.
clientIdstring (UUID)Client identifier.
pipelineIdstring (UUID)Pipeline identifier.
quotingOrganizationIdstring (UUID)Organization that generated the quote.
clientOrganizationIdstring (UUID)Client's organization.
triggerRequestIdstring (UUID)Original trigger request ID.
requestIdstring (UUID)Individual action request ID.
effectiveDatestring (date)Policy effective date. Format: YYYY-MM-DD.
termnumberPolicy term in months.
bindablebooleanWhether the quote can be bound to a policy.
requiresUnderwriterApprovalbooleanWhether underwriter approval is required.
requiresPolicyholderAcceptancebooleanWhether policyholder acceptance is required.
quoteTimestampstring (ISO 8601)When the quote was generated.
quoteDetailsobjectPremium, coverages, taxes, and fees breakdown.
messagesarraySystem and consumer-facing messages.
metadataobjectAdditional quote metadata (varies by action type).
sourceobjectSource information.
productVersionIdstring (UUID)Product version used for rating.
versionSystemSourcestringVersion source system. Values: HOSTING, BUILDER, null.
inputMappingDataobjectThe input data used for rating calculation.

The actionType field should always be used by consumers to determine how to parse and interpret the quote response,especially the contents of the metadata object.

quoteDetails Object

FieldTypeDescription
premiumobjectPremium information.
coveragesarrayList of coverage details.
taxesobjectTax breakdown.
feesobjectFee breakdown.

premium Object

FieldTypeDescription
amountnumberThe premium amount. A value of -1 indicates a declined quote.
currencystringCurrency code (e.g., USD).

coverages Array Item

FieldTypeDescription
namestringCoverage name.
codestringCoverage code.
premiumnumberCoverage premium amount.
limitnumberCoverage limit.
deductiblenumberCoverage deductible.

taxes Object

FieldTypeDescription
amountnumberTotal tax amount.
detailsarrayBreakdown of individual taxes.

taxes.details Array Item

FieldTypeDescription
namestringTax name.
amountnumberTax amount.
ratenumberTax rate (decimal).

fees Object

FieldTypeDescription
amountnumberTotal fee amount.
detailsarrayBreakdown of individual fees.

fees.details Array Item

FieldTypeDescription
namestringFee name.
amountnumberFee amount.

messages Array Item

FieldTypeDescription
messagestringThe message text.
typestringMessage type. Values: SYSTEM, CONSUMER, ERROR.

Enum Values Reference

sourceType Values

ValueDescription
STOREFRONTRequest from a storefront application. Requires a valid storefrontId in the source object.
INTERNAL_CALLInternal service-to-service call.
APIExternal API request.
BATCHBatch processing request.

versionSystemSource Values

ValueDescription
HOSTINGUse the deployed version from the hosting service (production configuration).
BUILDERUse the version from product builder (useful for testing unpublished changes).
nullUse top-of-tree configuration (latest).

requestSource Values

ValueDescription
QUOTENew quote request. This is the default.
RENEWALRenewal quote request for an existing policy.
ISSUANCEPolicy issuance request.
ENDORSEMENTPolicy endorsement/modification request.
PACKAGE_RATERPackage/bundle rating request.
TRUE_UPTrue-up adjustment request.

actionType Values

ValueDescription
IOI_RATINGDAIS internal rating engine (Excel, Node, Java, or Origami-based).
VERISKVerisk RaaS (Rating as a Service) integration.
VERISK_ALGOHybrid rating combining Verisk RaaS with local Excel algorithm.
BUNDLE_RATINGBundled/package rating that aggregates multiple coverages into one quote.

Quote Type Values

ValueDescription
QUOTEValid quote with positive premium.
DECLINEQuote declined (premium = -1).
BATCHQuote generated in batch mode.
INDICATIONIndication only, not bindable.

messages.type Values

ValueDescription
SYSTEMInternal system message.
CONSUMERMessage intended for the end user.
ERRORError message.

Examples

Minimal Request (Synchronous)

{
  "type": "GET_QUOTES",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "forceSync": true,
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT",
    "storefrontId": "bb0e8400-e29b-41d4-a716-446655440000"
  },
  "payload": {
    "effectiveDate": "2026-02-01",
    "intake": {
      "business_name": { "answer": "Acme Corp" },
      "state": { "answer": "CA" },
      "zip_code": { "answer": "90210" }
    }
  }
}

Minimal Request (Asynchronous)

{
  "type": "GET_QUOTES",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "forceSync": false,
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "API"
  },
  "payload": {
    "effectiveDate": "2026-02-01",
    "intake": {
      "business_name": { "answer": "Acme Corp" },
      "state": { "answer": "CA" }
    }
  }
}

Request with Existing Client

{
  "type": "GET_QUOTES",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "forceSync": true,
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT",
    "storefrontId": "bb0e8400-e29b-41d4-a716-446655440000"
  },
  "payload": {
    "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
    "effectiveDate": "2026-02-01",
    "intake": {
      "employee_count": { "answer": "75" }
    }
  }
}

Renewal Request

{
  "type": "GET_QUOTES",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "forceSync": true,
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "INTERNAL_CALL"
  },
  "payload": {
    "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
    "policyId": "pp0e8400-e29b-41d4-a716-446655440000",
    "effectiveDate": "2027-02-01",
    "requestSource": "RENEWAL",
    "intake": {}
  }
}

Quote Response Examples by Action Type

The following examples show quote responses produced by different rating actions. Each example corresponds to a specific actionType.

GET_QUOTES may trigger multiple rating actions depending on the product configuration. Each rating action produces a separate quote response, which can be identified by the actionType field.

While the overall quote structure is consistent across responses, some fields and metadata vary depending on the action type. Consumers should always rely on actionType to understand how to interpret the quote metadata.

Supported action types

actionTypeDescriptionNotes
IOI_RATINGDAIS internal rating engineFully synchronous compatible
VERISKVerisk Rating as a Service (RaaS)May include raw request and response payloads
VERISK_ALGOVerisk with local algorithmCombines Verisk rating with local Excel logic
BUNDLE_RATINGAggregated bundle of multiple quotesDepends on underlying rating actions

IOI_RATING Quote

The DAIS internal rating engine quote response:

{
  "id": "ee0e8400-e29b-41d4-a716-446655440000",
  "actionId": "ff0e8400-e29b-41d4-a716-446655440000",
  "actionType": "IOI_RATING",
  "type": "QUOTE",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
  "pipelineId": "110e8400-e29b-41d4-a716-446655440000",
  "quotingOrganizationId": "880e8400-e29b-41d4-a716-446655440000",
  "clientOrganizationId": "aa0e8400-e29b-41d4-a716-446655440000",
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "requestId": "220e8400-e29b-41d4-a716-446655440000",
  "effectiveDate": "2026-02-01",
  "term": 12,
  "bindable": true,
  "requiresUnderwriterApproval": false,
  "requiresPolicyholderAcceptance": false,
  "quoteTimestamp": "2026-01-27T10:30:00Z",
  "quoteDetails": {
    "premium": {
      "amount": 5250.00,
      "currency": "USD"
    },
    "coverages": [
      {
        "name": "General Liability",
        "code": "GL",
        "premium": 3000.00,
        "limit": 1000000,
        "deductible": 1000
      },
      {
        "name": "Property",
        "code": "PROP",
        "premium": 2250.00,
        "limit": 500000,
        "deductible": 500
      }
    ],
    "taxes": {
      "amount": 262.50,
      "details": [
        {
          "name": "State Tax",
          "amount": 157.50,
          "rate": 0.03
        },
        {
          "name": "Municipal Tax",
          "amount": 105.00,
          "rate": 0.02
        }
      ]
    },
    "fees": {
      "amount": 50.00,
      "details": [
        {
          "name": "Policy Fee",
          "amount": 50.00
        }
      ]
    }
  },
  "messages": [],
  "metadata": {
    "excelMetadata": {},
       "rateMeta": {
        "ms": "10",
        "one": "453.00",
        "EAP Total": "$7,075.86",
        "John": "99.00",
        "Identity Total": "$108.72",
        "Elder Total": "Not included",
        "Seminar Total": "Not included",
        "two": "0.00",
        "three": "108.72",
        "Jelena": "151.80",
        "premium": "7637.58",
        "Team": "29.30",
        "Life Total": "$453.00",
        "newOne": "8 Session EAP"
      }
  },
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT"
  },
  "productVersionId": "770e8400-e29b-41d4-a716-446655440000",
  "versionSystemSource": "HOSTING",
  "inputMappingData": {
    "business_name": "Acme Corp",
    "employee_count": "50",
    "state": "CA",
    "zip_code": "90210"
  },
  "executedPlugins": []
}

IOI_RATING metadata Object

FieldTypeDescription
excelMetadataobjectMetadata from Excel processing (messages, exceptions).
rateMetaobjectCustom rating metadata from free-form fields.

VERISK Quote

The Verisk RaaS (Rating as a Service) quote response:

{
  "id": "ee0e8400-e29b-41d4-a716-446655440001",
  "actionId": "ff0e8400-e29b-41d4-a716-446655440001",
  "actionType": "VERISK",
  "type": "QUOTE",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
  "pipelineId": "110e8400-e29b-41d4-a716-446655440000",
  "quotingOrganizationId": "880e8400-e29b-41d4-a716-446655440000",
  "clientOrganizationId": "aa0e8400-e29b-41d4-a716-446655440000",
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "requestId": "220e8400-e29b-41d4-a716-446655440001",
  "effectiveDate": "2026-02-01",
  "term": 12,
  "bindable": true,
  "requiresUnderwriterApproval": false,
  "requiresPolicyholderAcceptance": false,
  "quoteTimestamp": "2026-01-27T10:30:00Z",
  "quoteDetails": {
    "premium": {
      "amount": 4800.00,
      "currency": "USD"
    },
    "coverages": [
      {
        "name": "Workers Compensation",
        "code": "WC",
        "premium": 4800.00,
        "limit": 1000000,
        "deductible": 0
      }
    ],
    "taxes": {
      "amount": 240.00,
      "details": [
        {
          "name": "State Tax",
          "amount": 240.00,
          "rate": 0.05
        }
      ]
    },
    "fees": {
      "amount": 0.00,
      "details": []
    }
  },
  "messages": [],
  "metadata": {
    "verisk": {
      "adjusted": true,
      "factors": {
        "experienceMod": 0.95,
        "scheduleCredit": 0.10,
        "safetyCredit": 0.05
      }
    },
    "forward": null
  },
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT"
  },
  "productVersionId": "770e8400-e29b-41d4-a716-446655440000",
  "versionSystemSource": "HOSTING",
  "inputMappingData": {
    "business_name": "Acme Corp",
    "class_code": "8810",
    "payroll": "500000",
    "state": "CA"
  },
  "rawQuoteRequest": {},
  "rawQuoteDetails": {},
  "executedPlugins": []
}

VERISK metadata Object

FieldTypeDescription
veriskobjectVerisk-specific metadata.
verisk.adjustedbooleanWhether post-RaaS adjustments were applied.
verisk.factorsobjectRating factors returned from Verisk (experience mod, credits, etc.).
forwardobjectForwarding configuration if applicable.

VERISK Additional Fields

FieldTypeDescription
rawQuoteRequestobjectThe raw request sent to Verisk RaaS.
rawQuoteDetailsobjectThe raw response received from Verisk RaaS.

VERISK_ALGO Quote

The Verisk with local algorithm hybrid quote response:

{
  "id": "ee0e8400-e29b-41d4-a716-446655440002",
  "actionId": "ff0e8400-e29b-41d4-a716-446655440002",
  "actionType": "VERISK_ALGO",
  "type": "QUOTE",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
  "pipelineId": "110e8400-e29b-41d4-a716-446655440000",
  "quotingOrganizationId": "880e8400-e29b-41d4-a716-446655440000",
  "clientOrganizationId": "aa0e8400-e29b-41d4-a716-446655440000",
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "requestId": "220e8400-e29b-41d4-a716-446655440002",
  "effectiveDate": "2026-02-01",
  "term": 12,
  "bindable": true,
  "requiresUnderwriterApproval": false,
  "requiresPolicyholderAcceptance": false,
  "quoteTimestamp": "2026-01-27T10:30:00Z",
  "quoteDetails": {
    "premium": {
      "amount": 5100.00,
      "currency": "USD"
    },
    "coverages": [
      {
        "name": "Commercial Auto",
        "code": "CA",
        "premium": 5100.00,
        "limit": 1000000,
        "deductible": 500
      }
    ],
    "taxes": {
      "amount": 255.00,
      "details": [
        {
          "name": "State Tax",
          "amount": 255.00,
          "rate": 0.05
        }
      ]
    },
    "fees": {
      "amount": 25.00,
      "details": [
        {
          "name": "Processing Fee",
          "amount": 25.00
        }
      ]
    }
  },
  "messages": [],
  "metadata": {
    "localAlgorithm": {
      "version": "1.0",
      "templateId": "algo-template-001"
    },
    "verisk": {
      "baseRate": 4500.00,
      "adjusted": true
    }
  },
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT"
  },
  "productVersionId": "770e8400-e29b-41d4-a716-446655440000",
  "versionSystemSource": "HOSTING",
  "inputMappingData": {
    "business_name": "Acme Corp",
    "vehicle_count": "5",
    "driver_count": "8",
    "state": "CA"
  },
  "executedPlugins": []
}

VERISK_ALGO metadata Object

FieldTypeDescription
localAlgorithmobjectLocal algorithm execution details.
localAlgorithm.versionstringAlgorithm version used.
localAlgorithm.templateIdstringExcel template identifier.
veriskobjectVerisk contribution to the rating.
verisk.baseRatenumberBase rate from Verisk before local adjustments.
verisk.adjustedbooleanWhether adjustments were applied.

BUNDLE_RATING Quote

The bundled/package rating quote response (aggregates multiple rating actions):

{
  "id": "ee0e8400-e29b-41d4-a716-446655440003",
  "actionId": "ff0e8400-e29b-41d4-a716-446655440003",
  "actionType": "BUNDLE_RATING",
  "type": "QUOTE",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
  "pipelineId": "110e8400-e29b-41d4-a716-446655440000",
  "quotingOrganizationId": "880e8400-e29b-41d4-a716-446655440000",
  "clientOrganizationId": "aa0e8400-e29b-41d4-a716-446655440000",
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "requestId": "220e8400-e29b-41d4-a716-446655440003",
  "effectiveDate": "2026-02-01",
  "term": 12,
  "bindable": true,
  "requiresUnderwriterApproval": false,
  "requiresPolicyholderAcceptance": false,
  "quoteTimestamp": "2026-01-27T10:30:00Z",
  "quoteDetails": {
    "premium": {
      "amount": 15150.00,
      "currency": "USD"
    },
    "coverages": [
      {
        "name": "General Liability",
        "code": "GL",
        "premium": 5250.00,
        "limit": 1000000,
        "deductible": 1000
      },
      {
        "name": "Workers Compensation",
        "code": "WC",
        "premium": 4800.00,
        "limit": 1000000,
        "deductible": 0
      },
      {
        "name": "Commercial Auto",
        "code": "CA",
        "premium": 5100.00,
        "limit": 1000000,
        "deductible": 500
      }
    ],
    "taxes": {
      "amount": 757.50,
      "details": [
        {
          "name": "State Tax",
          "amount": 606.00,
          "rate": 0.04
        },
        {
          "name": "Surcharge",
          "amount": 151.50,
          "rate": 0.01
        }
      ]
    },
    "fees": {
      "amount": 75.00,
      "details": [
        {
          "name": "Policy Fee",
          "amount": 50.00
        },
        {
          "name": "Processing Fee",
          "amount": 25.00
        }
      ]
    }
  },
  "messages": [],
  "metadata": {
    "bundledQuotes": [
      {
        "actionType": "IOI_RATING",
        "quoteId": "ee0e8400-e29b-41d4-a716-446655440000",
        "lineId": "line-gl-001",
        "premium": 5250.00,
        "coverageName": "General Liability"
      },
      {
        "actionType": "VERISK",
        "quoteId": "ee0e8400-e29b-41d4-a716-446655440001",
        "lineId": "line-wc-001",
        "premium": 4800.00,
        "coverageName": "Workers Compensation"
      },
      {
        "actionType": "VERISK_ALGO",
        "quoteId": "ee0e8400-e29b-41d4-a716-446655440002",
        "lineId": "line-ca-001",
        "premium": 5100.00,
        "coverageName": "Commercial Auto"
      }
    ],
    "packageDiscount": {
      "applied": true,
      "percentage": 0.05,
      "amount": 757.50
    }
  },
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT"
  },
  "productVersionId": "770e8400-e29b-41d4-a716-446655440000",
  "versionSystemSource": "HOSTING",
  "inputMappingData": {
    "business_name": "Acme Corp",
    "employee_count": "50",
    "vehicle_count": "5",
    "state": "CA"
  },
  "executedPlugins": []
}

BUNDLE_RATING metadata Object

FieldTypeDescription
bundledQuotesarrayList of individual quotes that make up the bundle.
bundledQuotes[].actionTypestringThe action type that generated this component.
bundledQuotes[].quoteIdstring (UUID)The individual quote ID.
bundledQuotes[].lineIdstring (UUID)The product line for this component.
bundledQuotes[].premiumnumberPremium for this component.
bundledQuotes[].coverageNamestringName of the coverage.
packageDiscountobjectPackage discount information if applicable.
packageDiscount.appliedbooleanWhether a package discount was applied.
packageDiscount.percentagenumberDiscount percentage (decimal).
packageDiscount.amountnumberDiscount amount.

Declined Quote Response

When a quote is declined due to rules or validation:

{
  "id": "ee0e8400-e29b-41d4-a716-446655440004",
  "actionId": "ff0e8400-e29b-41d4-a716-446655440000",
  "actionType": "IOI_RATING",
  "type": "DECLINE",
  "lineId": "660e8400-e29b-41d4-a716-446655440000",
  "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
  "pipelineId": "110e8400-e29b-41d4-a716-446655440000",
  "quotingOrganizationId": "880e8400-e29b-41d4-a716-446655440000",
  "clientOrganizationId": "aa0e8400-e29b-41d4-a716-446655440000",
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "requestId": "220e8400-e29b-41d4-a716-446655440004",
  "effectiveDate": "2026-02-01",
  "term": 12,
  "bindable": false,
  "quoteTimestamp": "2026-01-27T10:30:00Z",
  "quoteDetails": {
    "premium": {
      "amount": -1.00
    },
    "coverages": [],
    "taxes": {},
    "fees": {}
  },
  "messages": [
    {
      "message": "Business type not eligible for coverage in this state",
      "type": "SYSTEM"
    },
    {
      "message": "Please contact an agent for assistance",
      "type": "CONSUMER"
    }
  ],
  "metadata": {},
  "source": {
    "organizationId": "aa0e8400-e29b-41d4-a716-446655440000",
    "sourceType": "STOREFRONT"
  },
  "productVersionId": "770e8400-e29b-41d4-a716-446655440000",
  "versionSystemSource": "HOSTING",
  "inputMappingData": {}
}

Declined Quote Indicators

FieldValueDescription
typeDECLINEIndicates the quote was declined.
quoteDetails.premium.amount-1.00Negative premium indicates decline.
bindablefalseCannot be bound to a policy.
messagesarrayContains reasons for decline.

Complete Response Example with Multiple Quotes

When multiple rating actions are configured and forceSync: true:

{
  "triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
  "executedActionCount": 6,
  "expectedResponseCount": 4,
  "metadata": {
    "CREATE_OR_UPDATE_CLIENT": {
      "clientId": "dd0e8400-e29b-41d4-a716-446655440000",
      "intake": {
        "business_name": {
          "answer": "Acme Corp",
          "questionId": "q1"
        },
        "state": {
          "answer": "CA",
          "questionId": "q3"
        }
      }
    },
    "quotes": [
      {
        "id": "ee0e8400-e29b-41d4-a716-446655440000",
        "actionType": "IOI_RATING",
        "type": "QUOTE",
        "quoteDetails": {
          "premium": { "amount": 5250.00 }
        },
        "metadata": {
          "excelMetadata": {},
             "rateMeta": {
                "ms": "10",
                "one": "453.00",
                "EAP Total": "$7,075.86",
                "John": "99.00",
                "Identity Total": "$108.72",
                "Elder Total": "Not included",
                "Seminar Total": "Not included",
                "two": "0.00",
                "three": "108.72",
                "Jelena": "151.80",
                "premium": "7637.58",
                "Team": "29.30",
                "Life Total": "$453.00",
                "newOne": "8 Session EAP"
      }
        }
      },
      {
        "id": "ee0e8400-e29b-41d4-a716-446655440001",
        "actionType": "VERISK",
        "type": "QUOTE",
        "quoteDetails": {
          "premium": { "amount": 4800.00 }
        },
        "metadata": {
          "verisk": {
            "adjusted": true,
            "factors": {}
          }
        },
        "rawQuoteRequest": {},
        "rawQuoteDetails": {}
      },
      {
        "id": "ee0e8400-e29b-41d4-a716-446655440002",
        "actionType": "VERISK_ALGO",
        "type": "QUOTE",
        "quoteDetails": {
          "premium": { "amount": 5100.00 }
        },
        "metadata": {
          "localAlgorithm": {},
          "verisk": {}
        }
      },
      {
        "id": "ee0e8400-e29b-41d4-a716-446655440003",
        "actionType": "BUNDLE_RATING",
        "type": "QUOTE",
        "quoteDetails": {
          "premium": { "amount": 15150.00 }
        },
        "metadata": {
          "bundledQuotes": []
        }
      }
    ]
  }
}

Note: executedActionCount (6) includes all actions (CREATE_OR_UPDATE_CLIENT + 4 rating actions + non-quote actions like WEBHOOK/EMAIL), but expectedResponseCount (4) only counts actions that produce quotes.