Product Configs
Retrieve configuration records for a product. Records are grouped by configuration type under the response's config property.
Retrieve Configurations#
POST https://api.{ENV}.dais.com/ioi/v3/product/config/all
curl --location --request POST 'https://api.{ENV}.dais.com/ioi/v3/product/config/all' \
--header 'Authorization: Basic <Base64-encoded API key and secret>' \
--header 'Content-Type: application/json' \
--data-raw '{
"productId": "<UUID of the product ID>"
}'
| Property | Type | Required | Description |
|---|---|---|---|
productId | UUID | Yes | Product whose configurations are requested. |
organizationId | UUID | No | Organization selector, subject to service access checks. |
requestSource | string | No | Context for the configuration request. |
requestSource values are PRE_POLICY_QUOTING, PRE_ISSUANCE, ISSUANCE, ENDORSEMENT, CANCELLATION, RENEWAL, WORKFLOW, PACKAGE_RATER, TRUE_UP, and TRUE_UP_SUMMARY.
Response Structure#
The response contains organizationId and a config object. Each key inside config is a configuration type, and its value is an array of records.
{
"organizationId": "<UUID of the organization ID>",
"config": {
"POLICY_FORM": [
{
"id": "<UUID of the form configuration ID>",
"configIdentity": "POLICY_FORM",
"organizationId": "<UUID of the organization ID>",
"productId": "<UUID of the product ID>",
"spec": {
"name": "<Name>",
"formType": "POLICY",
"productId": "<UUID of the product ID>",
"documentMappings": {},
"compositeType": false
},
"updatedTimestamp": "2026-01-27T10:30:00Z",
"revision": 0,
"lastUpdatedBy": null
}
]
}
}
Configuration Record Fields#
| Property | Type | Description |
|---|---|---|
id | UUID | Configuration identifier, used as configId by operations that request it. |
configIdentity | string | Configuration type. |
organizationId | UUID | Organization owning the record. |
productId | UUID | Product owning the record. |
spec | object | Type-specific configuration data. |
updatedTimestamp | ISO 8601 timestamp | Last update time. |
revision | integer | Configuration revision. The field is named revision, not version. |
lastUpdatedBy | object | User details for the last update, when supplied. |
forkTracker | object | Fork tracking information, when supplied. |
The sections below describe selected configuration types. Other configured types can also be returned. The spec property is a map; fields depend on the configuration type and stored product configuration.
POLICY_FORM#
Form configurations are in config.POLICY_FORM. This is an example spec object:
{
"name": "<Name>",
"formType": "POLICY",
"productId": "<UUID of the product ID>",
"documentMappings": {},
"compositeType": false
}
| Property | Description |
|---|---|
name | Form name. |
formType | Form purpose, such as POLICY, QUOTE, ENDORSEMENT, or CANCELLATION. |
productId | Associated form product identifier. |
documentMappings | Document mapping definitions keyed by product UUID. |
compositeType | Whether this is a composite form. |
compositeFormComponents | Component form definitions for a composite form, when configured. |
ENDORSEMENTS#
Endorsement configurations are in config.ENDORSEMENTS. Example spec:
{
"title": "<Title>",
"description": "<Description>",
"endorsementProductId": "<UUID of the endorsement product ID>",
"nonRatingEndorsement": false,
"enableEndorsementRules": false,
"allowEndorsementsInThePast": false,
"generateAndIncludePolicyDeck": true,
"exposeToClient": false
}
| Property | Description |
|---|---|
title, description | Endorsement name and description. |
endorsementConfigId | Optional associated form configuration UUID. |
endorsementProductId | Exposure product UUID. |
nonRatingEndorsement | Whether the endorsement avoids rating recalculation. |
enableEndorsementRules | Whether endorsement eligibility rules are enabled. |
allowEndorsementsInThePast | Whether backdating is enabled. |
generateAndIncludePolicyDeck | Whether to generate and include the policy document. |
exposeToClient, clientFacingDescription | Client-facing availability and description. |
calculationConfig | Premium calculation configuration, when supplied. |
CANCELLATIONS#
Cancellation reason configurations are in config.CANCELLATIONS. Example spec:
{
"title": "<Title>",
"description": "<Description>",
"cancellationConfigId": "<UUID of the cancellation configuration ID>",
"cancellationProductId": "<UUID of the cancellation product ID>",
"enableCancellationRules": false,
"enableCancellationProduct": true,
"cancellationType": "PRO_RATA"
}
| Property | Description |
|---|---|
title, description | Cancellation reason name and description. |
cancellationConfigId | Associated form configuration UUID. |
cancellationProductId | Associated cancellation product UUID. |
enableCancellationRules | Whether cancellation rules are enabled. |
enableCancellationProduct | Whether the associated cancellation product is enabled. |
cancellationType | Cancellation calculation type, for example PRO_RATA. |
shortRateSpec | Short-rate configuration, when supplied. |
exposeToClient, clientFacingDescription | Client-facing availability and description. |