GET_QUOTES This event is fired when requesting quotes for a product. It will always trigger the CREATE_OR_UPDATE_CLIENT event using the provided client intake. If clientId is not provided, a new client will be created and its ID will be returned in the response.
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 payload POST: https://api.{ENV}.dais.com/ioi/v3/event/fire
curl --location --request POST 'https://api.{ENV}.dais.com/ioi/v3/event/fire' \
--header 'Authorization: Basic <yourAuthHere>' \
--header 'Content-Type: application/json' \
--data-raw '{
"lineId": "<UUID of the product>",
"type": "GET_QUOTES",
"payload": {
"intake": {
"<qid>": {
"type": "ANSWER",
"answer": "<answer>",
"qid": "<qid>"
}
},
"asConfiguredAtTimestamp": "2022-05-24T19:04:24.1Z"
}
}'
Copy {
"lineId": "262e67be-c08c-43c0-bb51-06fe4408b4e9",
"type": "GET_QUOTES",
"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",
"referrer": "String",
"intake": {
"numEmployees": {
"type": "ANSWER",
"answer": "55",
"qid": "numEmployees"
},
"isNonProfit": {
"type": "ANSWER",
"answer": "YES",
"qid": "isNonProfit"
},
"claimInLast12Mo": {
"type": "ANSWER",
"answer": "12",
"qid": "claimInLast12Mo"
}
},
"asConfiguredAtTimestamp": "2022-05-24T19:04:24.1Z"
}
}
Copy Request fields Property Required Description lineIdtrueUUID for the product typetrueMust be set to GET_QUOTES agencyCodesfalseArray of objects payloadtrueExplained below
Payload fields Property Required Description clientIdfalseUUID for client id. A new client will be created if clientId is omitted. referrerfalseString value to track a client referral. intakefalseMap of question identifiers (qid) to client answers. asConfiguredAtTimestampfalseTimestamp of the rating configuration to use for this quote.
Response Body {
"triggerRequestId": "550e8400-e29b-41d4-a716-446655440000",
"executedActionCount": 4,
"expectedResponseCount": 4,
"metadata": {
"CREATE_OR_UPDATE_CLIENT": {
"clientId": "dd0e8400-e29b-41d4-a716-446655440000",
"intake": {}
}
}
}
Copy Response Fields Field Type Description triggerRequestIdstring (UUID) The unique identifier for this request. executedActionCountnumber Total number of actions that were executed. expectedResponseCountnumber Number of actions that will produce quote responses. metadataobject Contains action results.
Field Type Description CREATE_OR_UPDATE_CLIENTobject Result from the client creation/update action. quotesarray List of generated quotes. Only present when forceSync: true.
CREATE_OR_UPDATE_CLIENT Object Field Type Description clientIdstring (UUID) The created or updated client ID. intakeobject The intake data associated with the client.
quote Object Field Type Description idstring (UUID) Unique quote identifier. actionIdstring (UUID) The action that generated this quote. actionTypestring The type of rating action. Values: IOI_RATING, VERISK, VERISK_ALGO, BUNDLE_RATING. typestring The 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. termnumber Policy term in months. bindableboolean Whether the quote can be bound to a policy. requiresUnderwriterApprovalboolean Whether underwriter approval is required. requiresPolicyholderAcceptanceboolean Whether policyholder acceptance is required. quoteTimestampstring (ISO 8601) When the quote was generated. quoteDetailsobject Premium, coverages, taxes, and fees breakdown. messagesarray System and consumer-facing messages. metadataobject Additional quote metadata (varies by action type). sourceobject Source information. productVersionIdstring (UUID) Product version used for rating. versionSystemSourcestring Version source system. Values: HOSTING, BUILDER. inputMappingDataobject The input data used for rating calculation.
quoteDetails Object Field Type Description premiumobject Premium information. coveragesarray List of coverage details. taxesobject Tax breakdown. feesobject Fee breakdown.
premium Object Field Type Description amountnumber The premium amount. A value of -1 indicates a declined quote. currencystring Currency code (e.g., USD).
coverages Array Item Field Type Description namestring Coverage name. codestring Coverage code. premiumnumber Coverage premium amount. limitnumber Coverage limit. deductiblenumber Coverage deductible.
taxes Object Field Type Description amountnumber Total tax amount. detailsarray Breakdown of individual taxes.
taxes.details Array Item Field Type Description namestring Tax name. amountnumber Tax amount. ratenumber Tax rate (decimal).
fees Object Field Type Description amountnumber Total fee amount. detailsarray Breakdown of individual fees.
fees.details Array Item Field Type Description namestring Fee name. amountnumber Fee amount.
messages Array Item Field Type Description messagestring The message text. typestring Message type. Values: SYSTEM, CONSUMER, ERROR.
Enum Values Reference type (Trigger Type) Value Description GET_QUOTESRequest quotes for a client.
sourceType Value Description 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 Value Description HOSTINGUse deployed version from hosting service. BUILDERUse version from product builder.
requestSource (in payload) Value Description QUOTENew quote request. RENEWALRenewal quote request. ISSUANCEPolicy issuance request. ENDORSEMENTPolicy endorsement request.
actionType (in quote) Value Description IOI_RATINGDAIS internal rating engine. VERISKVerisk RaaS (Rating as a Service). VERISK_ALGOVerisk with local algorithm. BUNDLE_RATINGBundled/package rating (multiple coverages).
type (Quote Type) Value Description QUOTEValid quote with positive premium. DECLINEQuote declined (premium = -1). BATCHQuote generated in batch mode. INDICATIONIndication only, not bindable.
messages.type Value Description SYSTEMInternal system message. CONSUMERMessage intended for the end user. ERRORError message.
Examples Minimal Request {
"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" }
}
}
}
Copy Quote Response Examples by Action Type 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": {
"customField1": "value1",
"customField2": "value2"
}
},
"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": []
}
Copy Field Type Description excelMetadataobject Metadata from Excel processing (messages, exceptions). rateMetaobject Custom 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": []
}
Copy Field Type Description veriskobject Verisk-specific metadata. verisk.adjustedboolean Whether post-RaaS adjustments were applied. verisk.factorsobject Rating factors returned from Verisk (experience mod, credits, etc.). forwardobject Forwarding configuration if applicable.
VERISK Additional Fields Field Type Description rawQuoteRequestobject The raw request sent to Verisk RaaS. rawQuoteDetailsobject The 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": []
}
Copy Field Type Description localAlgorithmobject Local algorithm execution details. localAlgorithm.versionstring Algorithm version used. localAlgorithm.templateIdstring Excel template identifier. veriskobject Verisk contribution to the rating. verisk.baseRatenumber Base rate from Verisk before local adjustments. verisk.adjustedboolean Whether 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": []
}
Copy Field Type Description bundledQuotesarray List of individual quotes that make up the bundle. bundledQuotes[].actionTypestring The action type that generated this component. bundledQuotes[].quoteIdstring (UUID) The individual quote ID. bundledQuotes[].lineIdstring (UUID) The product line for this component. bundledQuotes[].premiumnumber Premium for this component. bundledQuotes[].coverageNamestring Name of the coverage. packageDiscountobject Package discount information if applicable. packageDiscount.appliedboolean Whether a package discount was applied. packageDiscount.percentagenumber Discount percentage (decimal). packageDiscount.amountnumber Discount 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": {}
}
Copy Declined Quote Indicators Field Value Description typeDECLINEIndicates the quote was declined. quoteDetails.premium.amount-1.00Negative premium indicates decline. bindablefalseCannot be bound to a policy. messagesarray Contains 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": {}
}
},
{
"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": []
}
}
]
}
}
Copy 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.