Skip to content

Firing an Event

Submit events through a shared envelope. The event type selects the payload contract and the configured workflow determines the actions that run.

Endpoint#

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

Use Content-Type: application/json and the authentication described in Authentication.

JSON
{
  "lineId": "<UUID of the product ID>",
  "type": "GET_QUOTES",
  "forceSync": false,
  "agencyCodes": [
    {
      "carrierId": "<UUID of the carrier ID>",
      "carrierName": "<Carrier name>",
      "contractCodeSetName": "<Contract code set name>",
      "agencyCodeData": {
        "agencyCode": "<Agency code>"
      }
    }
  ],
  "payload": {
    "effectiveDate": "2026-11-01",
    "intake": {
      "<Business name question ID>": {
        "type": "ANSWER",
        "qid": "<Business name question ID>",
        "answer": "<Business name>"
      }
    }
  }
}

Omit agencyCodes when your configured actions do not need them. Each entry is an object; the keys in agencyCodeData are integration-specific.

Envelope Fields#

FieldTypeDescription
typeEvent enumRequired. See the event-specific pages for supported payloads.
lineIdUUIDProduct identifier used to select the workflow. Context requirements depend on the event.
productVersionIdUUIDOptional product version identifier.
versionSystemSourceEnumOptional version source: BUILDER or HOSTING.
forceSyncBooleanRequests synchronous rating for GET_QUOTES; defaults to false. The action service ignores this flag for other event types.
sourceObjectOptional source information described below.
agencyCodesArray of objectsOptional carrier agency-code information.
filterByOrganizationsArray of UUIDsOptional organization filter.
payloadObjectEvent-specific data.
triggerRequestIdUUIDOptional trigger request identifier.
eventTargetsArray of UUIDsOptional event targets.
batchModeBooleanSkips built-in default actions when true; defaults to false. For GET_QUOTES, batch mode supplies temporary client context without creating or updating a client.
batchIdUUIDOptional batch identifier.
asConfiguredAtTimestampDate/time selectorLegacy configuration selector in the envelope, not the event payload. The current DTO declares a date-only yyyy-MM-dd JSON pattern on this field; confirm compatibility with the deployed service before using it.

The public API validates the envelope and forwards the payload to the action service. The required fields shown on event pages cover their declared payload contracts and the inputs used by built-in actions. Configured actions may need additional context. They do not define a complete list of possible errors or guarantee a particular HTTP error for missing records.

Source#

When source is omitted, the public API sets sourceType to EXTERNAL and organizationId to the authenticated organization. A supplied source object can contain:

FieldTypeDescription
sourceTypeEnumTEST, COPILOT, STOREFRONT, EXTERNAL, INTERNAL_CALL, or SCHEDULED_AUTOMATION.
organizationIdUUIDSource organization.
storefrontIdUUIDRequired when sourceType is STOREFRONT for GET_QUOTES or SELECT_QUOTE.
personIdUUIDPerson context, when applicable.
urlStringSource URL.

Request Example#

cURL
curl --location --request POST 'https://api.{ENV}.dais.com/ioi/v3/event/fire' \
--header 'Authorization: Basic <Base64-encoded API key and secret>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "lineId": "<UUID of the product ID>",
  "type": "GET_QUOTES",
  "payload": {
    "effectiveDate": "2026-11-01",
    "intake": {
      "<Business name question ID>": {
        "type": "ANSWER",
        "qid": "<Business name question ID>",
        "answer": "<Business name>"
      }
    }
  }
}'

Replace UUID placeholders with actual records from the target environment, and use the product's question identifiers. Nested policy and quote snapshots should come from the corresponding retrieval endpoints and refer to the same records as the surrounding payload.

Response#

A successful event submission returns 200 OK with the common trigger result. The following example illustrates the shape; counts and metadata vary with the configured actions.

JSON
{
  "triggerRequestId": "<UUID of the trigger request ID>",
  "executedActionCount": 0,
  "expectedResponseCount": 0,
  "metadata": {}
}
FieldDescription
triggerRequestIdIdentifier for tracking the trigger execution.
executedActionCountNumber of configured actions dispatched; built-in default actions are not included.
expectedResponseCountNumber of expected action responses. Not every action produces a response, and this is not a count of successful business results.
metadataAction-specific data. Built-in actions use the result fields described on their event pages; configured actions can add other keys.

Execution Modes#

forceSync defaults to false and is honored only for GET_QUOTES. With forceSync: true, the action service initializes metadata.quotes, and the IOI_RATING, VERISK, VERISK_ALGO, and BUNDLE_RATING implementations return their rating results into that array. Other configured actions determine their own execution behavior; this flag does not guarantee completion of every external integration.

For other event types, the action service ignores forceSync. Built-in default actions run before configured actions unless batchMode is enabled. A default action may complete during the request even when forceSync is false.

A trigger result is not by itself confirmation that every asynchronous action succeeded. For quotes, use the returned trigger request ID with the quote retrieval endpoints. See GET_QUOTES for its request contract.