Hepster Development Platform: Catalog API Reference

Hepster's development platform offers several tools and APIs. The Catalog API enables developers access hepster's product catalog and calculate insurance premiums in real time. The API is organized around REST.

Version: 0.5

Authentication

basicAuth

type
basic

Paths

Retrieve all available products

GET /v1/products

Fetches all available products..

salesChannel: String
in query

Parameter to filter the result based on the sales channel

200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "name": "string",
    "category": "string",
    "qualities": [
      {
        "id": "string (uuid)",
        "name": "string",
        "priority": "integer (int32)",
        "coverages": [
          {
            "id": "integer (int32)",
            "sum": "number",
            "coverageType": "string",
            "coverageAmount": "integer (int32)",
            "durations": [
              {
                "id": "integer (int32)",
                "start": "integer (int32)",
                "end": "integer (int32)",
                "contractDuration": "integer (int32)",
                "timeUnit": "string",
                "contractType": "string",
                "prices": [
                  {
                    "id": "integer (int32)",
                    "unitPrice": "number",
                    "insurees": "integer (int32)",
                    "basePrice": "number",
                    "installments": "integer (int32)"
                  }
                ],
                "variants": [
                  {
                    "id": "integer (int64)",
                    "key": "string",
                    "value": "string",
                    "selection": "string",
                    "options": [
                      {
                        "id": "integer (int64)",
                        "key": "string",
                        "value": "string",
                        "default": "boolean",
                        "dependsOn": [
                          {
                            "id": "integer (int64)",
                            "key": "string",
                            "value": "string",
                            "default": "boolean",
                            "dependsOn": [
                              {
                                "id": "integer (int64)",
                                "key": "string",
                                "value": "string",
                                "default": "boolean",
                                "dependsOn": [
                                  {
                                    "id": "integer (int64)",
                                    "key": "string",
                                    "value": "string",
                                    "default": "boolean",
                                    "dependsOn": [
                                      {
                                        "id": "integer (int64)",
                                        "key": "string",
                                        "value": "string",
                                        "default": "boolean",
                                        "dependsOn": [
                                          {
                                            "id": "integer (int64)",
                                            "key": "string",
                                            "value": "string",
                                            "default": "boolean",
                                            "dependsOn": [
                                              {
                                                "id": "integer (int64)",
                                                "key": "string",
                                                "value": "string",
                                                "default": "boolean",
                                                "dependsOn": [
                                                  {
                                                    "id": "integer (int64)",
                                                    "key": "string",
                                                    "value": "string",
                                                    "default": "boolean",
                                                    "dependsOn": [
                                                      null
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
]

Retrieve all available products for a category

GET /v1/categories/{id}/products

Fetches all active products that belong to the given category.

id: integer (int32)
in path

(no description)

200 OK

OK

type
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "name": "string",
    "category": "string",
    "qualities": [
      {
        "id": "string (uuid)",
        "name": "string",
        "priority": "integer (int32)",
        "coverages": [
          {
            "id": "integer (int32)",
            "sum": "number",
            "coverageType": "string",
            "coverageAmount": "integer (int32)",
            "durations": [
              {
                "id": "integer (int32)",
                "start": "integer (int32)",
                "end": "integer (int32)",
                "contractDuration": "integer (int32)",
                "timeUnit": "string",
                "contractType": "string",
                "prices": [
                  {
                    "id": "integer (int32)",
                    "unitPrice": "number",
                    "insurees": "integer (int32)",
                    "basePrice": "number",
                    "installments": "integer (int32)"
                  }
                ],
                "variants": [
                  {
                    "id": "integer (int64)",
                    "key": "string",
                    "value": "string",
                    "selection": "string",
                    "options": [
                      {
                        "id": "integer (int64)",
                        "key": "string",
                        "value": "string",
                        "default": "boolean",
                        "dependsOn": [
                          {
                            "id": "integer (int64)",
                            "key": "string",
                            "value": "string",
                            "default": "boolean",
                            "dependsOn": [
                              {
                                "id": "integer (int64)",
                                "key": "string",
                                "value": "string",
                                "default": "boolean",
                                "dependsOn": [
                                  {
                                    "id": "integer (int64)",
                                    "key": "string",
                                    "value": "string",
                                    "default": "boolean",
                                    "dependsOn": [
                                      {
                                        "id": "integer (int64)",
                                        "key": "string",
                                        "value": "string",
                                        "default": "boolean",
                                        "dependsOn": [
                                          {
                                            "id": "integer (int64)",
                                            "key": "string",
                                            "value": "string",
                                            "default": "boolean",
                                            "dependsOn": [
                                              {
                                                "id": "integer (int64)",
                                                "key": "string",
                                                "value": "string",
                                                "default": "boolean",
                                                "dependsOn": [
                                                  {
                                                    "id": "integer (int64)",
                                                    "key": "string",
                                                    "value": "string",
                                                    "default": "boolean",
                                                    "dependsOn": [
                                                      null
                                                    ]
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
]

Calculate insurance premium (sales price)

POST /v1/pricing

Calculate the final sales price for a product, based on its quality, insurance sum, duration, and voucher. You may want to skip validation of policy attributes to calculate the insurance premium. To do so, leave the field policyAttributes empty. The operation returns the final sale price for the insurance product.

Request Content-Types: application/json
Request Example
{
  "salesChannel": "string",
  "partnerId": "string (uuid)",
  "cartItems": [
    {
      "productId": "string (uuid)",
      "qualityId": "4",
      "coverageAmount": 1,
      "coverageSum": 2000,
      "coverageDuration": 10,
      "contractDuration": 1,
      "coverageEndDate": "string (date-time)",
      "durationTimeUnit": "DAYS",
      "coverageType": "THING",
      "contractStartDate": "string (date-time)",
      "variants": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "selection": "string",
          "options": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    {
                                                      "id": "integer (int64)",
                                                      "key": "string",
                                                      "value": "string"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
Response Content-Types: application/json
Response Example (200 OK)
{
  "calculatePricingRequest": {
    "salesChannel": "string",
    "partnerId": "string (uuid)",
    "cartItems": [
      {
        "productId": "string (uuid)",
        "qualityId": "4",
        "coverageAmount": 1,
        "coverageSum": 2000,
        "coverageDuration": 10,
        "contractDuration": 1,
        "coverageEndDate": "string (date-time)",
        "durationTimeUnit": "DAYS",
        "coverageType": "THING",
        "price": "number",
        "originalPrice": "number",
        "insuranceTax": "number",
        "taxRate": "number",
        "serviceFees": "number",
        "transferFees": "number",
        "discountAppliedAmount": "number",
        "salesCommissionRate": "number",
        "salesCommission": "number",
        "policySummary": "string",
        "contractStartDate": "string (date-time)",
        "variants": [
          {
            "id": "integer (int64)",
            "key": "string",
            "value": "string",
            "selection": "string",
            "options": [
              {
                "id": "integer (int64)",
                "key": "string",
                "value": "string",
                "default": "boolean",
                "dependsOn": [
                  {
                    "id": "integer (int64)",
                    "key": "string",
                    "value": "string",
                    "default": "boolean",
                    "dependsOn": [
                      {
                        "id": "integer (int64)",
                        "key": "string",
                        "value": "string",
                        "default": "boolean",
                        "dependsOn": [
                          {
                            "id": "integer (int64)",
                            "key": "string",
                            "value": "string",
                            "default": "boolean",
                            "dependsOn": [
                              {
                                "id": "integer (int64)",
                                "key": "string",
                                "value": "string",
                                "default": "boolean",
                                "dependsOn": [
                                  {
                                    "id": "integer (int64)",
                                    "key": "string",
                                    "value": "string",
                                    "default": "boolean",
                                    "dependsOn": [
                                      {
                                        "id": "integer (int64)",
                                        "key": "string",
                                        "value": "string",
                                        "default": "boolean",
                                        "dependsOn": [
                                          {
                                            "id": "integer (int64)",
                                            "key": "string",
                                            "value": "string",
                                            "default": "boolean",
                                            "dependsOn": [
                                              {
                                                "id": "integer (int64)",
                                                "key": "string",
                                                "value": "string",
                                                "default": "boolean",
                                                "dependsOn": [
                                                  null
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Fetch product category

GET /v1/categories/{id}

Fetch additional details for a product category. To enrich the response with additional content, append embed=media to your query.

id: integer (int64)
in path

(no description)

embed: string
in query

Embed additional content like terms and conditions.

OK

Response Example (200 OK)
{
  "id": "integer (int32)",
  "name": "string",
  "media": [
    {
      "key": "string",
      "value": "object"
    }
  ]
}

Retrieve a product by its id

GET /v1/products/{id}

Retrieve product details with qualities, durations, and availabilities. The response contains all the data needed to calculate the insurance premium with calculatePricing. To enrich the response with additional content, append embed=media to your query.

id: string (uuid)
in path

(no description)

embed: string
in query

Embed additional content like terms and conditions.

200 OK

OK

Response Example (200 OK)
{
  "id": "string (uuid)",
  "name": "string",
  "category": "string",
  "qualities": [
    {
      "id": "string (uuid)",
      "name": "string",
      "priority": "integer (int32)",
      "coverages": [
        {
          "id": "integer (int32)",
          "sum": "number",
          "coverageType": "string",
          "coverageAmount": "integer (int32)",
          "durations": [
            {
              "id": "integer (int32)",
              "start": "integer (int32)",
              "end": "integer (int32)",
              "contractDuration": "integer (int32)",
              "timeUnit": "string",
              "contractType": "string",
              "prices": [
                {
                  "id": "integer (int32)",
                  "unitPrice": "number",
                  "insurees": "integer (int32)",
                  "basePrice": "number",
                  "installments": "integer (int32)"
                }
              ],
              "variants": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "selection": "string",
                  "options": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    null
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Retrieve all product categories

GET /v1/categories

Fetches all available product categories.

embed: string
in query

(no description)

Response Example (200 OK)
[
  {
    "id": "integer (int32)",
    "name": "string",
    "media": [
      {
        "key": "string",
        "value": "object"
      }
    ]
  }
]

Retrieve voucher by its token

GET /v1/vouchers/{token}

Retrieve a voucher by its token.

token: string
in path

(no description)

200 OK

OK

Response Example (200 OK)
{
  "id": "integer (int32)",
  "minimumOrderValue": "number",
  "type": "string",
  "token": "string",
  "maxUsageCount": "integer (int32)",
  "fixedDiscount": "number",
  "relativeDiscount": "number",
  "startDate": "string (date-time)",
  "endDate": "string (date-time)"
}

Get details for a product quality

GET /v1/products/{productId}/qualities/{id}

Retrieve details for a product quality. To enrich the response with additional content, append embed=media to your query.

id: string (uuid)
in path

(no description)

productId: string (uuid)
in path

(no description)

embed: string
in query

Embed additional media content.

200 OK

OK

type
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "name": "string",
    "priority": "integer (int32)",
    "coverages": [
      {
        "id": "integer (int32)",
        "sum": "number",
        "coverageType": "string",
        "coverageAmount": "integer (int32)",
        "durations": [
          {
            "id": "integer (int32)",
            "start": "integer (int32)",
            "end": "integer (int32)",
            "contractDuration": "integer (int32)",
            "timeUnit": "string",
            "contractType": "string",
            "prices": [
              {
                "id": "integer (int32)",
                "unitPrice": "number",
                "insurees": "integer (int32)",
                "basePrice": "number",
                "installments": "integer (int32)"
              }
            ],
            "variants": [
              {
                "id": "integer (int64)",
                "key": "string",
                "value": "string",
                "selection": "string",
                "options": [
                  {
                    "id": "integer (int64)",
                    "key": "string",
                    "value": "string",
                    "default": "boolean",
                    "dependsOn": [
                      {
                        "id": "integer (int64)",
                        "key": "string",
                        "value": "string",
                        "default": "boolean",
                        "dependsOn": [
                          {
                            "id": "integer (int64)",
                            "key": "string",
                            "value": "string",
                            "default": "boolean",
                            "dependsOn": [
                              {
                                "id": "integer (int64)",
                                "key": "string",
                                "value": "string",
                                "default": "boolean",
                                "dependsOn": [
                                  {
                                    "id": "integer (int64)",
                                    "key": "string",
                                    "value": "string",
                                    "default": "boolean",
                                    "dependsOn": [
                                      {
                                        "id": "integer (int64)",
                                        "key": "string",
                                        "value": "string",
                                        "default": "boolean",
                                        "dependsOn": [
                                          {
                                            "id": "integer (int64)",
                                            "key": "string",
                                            "value": "string",
                                            "default": "boolean",
                                            "dependsOn": [
                                              {
                                                "id": "integer (int64)",
                                                "key": "string",
                                                "value": "string",
                                                "default": "boolean",
                                                "dependsOn": [
                                                  {
                                                    "id": "integer (int64)",
                                                    "key": "string",
                                                    "value": "string",
                                                    "default": "boolean"
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
]

Schema Definitions

CoverageDto: object

id: integer (int32)
sum: number
coverageType: string THING, PERSON, EVENT
coverageAmount: integer (int32)
durations: DurationDto
DurationDto
variants: VariantDto
VariantDto
Example
{
  "id": "integer (int32)",
  "sum": "number",
  "coverageType": "string",
  "coverageAmount": "integer (int32)",
  "durations": [
    {
      "id": "integer (int32)",
      "start": "integer (int32)",
      "end": "integer (int32)",
      "contractDuration": "integer (int32)",
      "timeUnit": "string",
      "contractType": "string",
      "prices": [
        {
          "id": "integer (int32)",
          "unitPrice": "number",
          "insurees": "integer (int32)",
          "basePrice": "number",
          "installments": "integer (int32)"
        }
      ],
      "variants": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "selection": "string",
          "options": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    null
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

DurationDto: object

id: integer (int32)
start: integer (int32)
end: integer (int32)
contractDuration: integer (int32)
timeUnit: string HOURS, DAYS, MONTHS, YEARS, END_DATE
contractType: string RECURRING, SINGLE
prices: PriceDto
PriceDto
variants: VariantDto
VariantDto
Example
{
  "id": "integer (int32)",
  "start": "integer (int32)",
  "end": "integer (int32)",
  "contractDuration": "integer (int32)",
  "timeUnit": "string",
  "contractType": "string",
  "prices": [
    {
      "id": "integer (int32)",
      "unitPrice": "number",
      "insurees": "integer (int32)",
      "basePrice": "number",
      "installments": "integer (int32)"
    }
  ],
  "variants": [
    {
      "id": "integer (int64)",
      "key": "string",
      "value": "string",
      "selection": "string",
      "options": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "default": "boolean",
          "dependsOn": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    null
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

MediaItem: object

key: string
value: object
Example
{
  "key": "string",
  "value": "object"
}

OptionDto: object

id: integer (int64)
key: string
value: string
default: boolean
dependsOn: OptionDto
OptionDto
price: PriceDto
durations: DurationDto
DurationDto
Example
{
  "id": "integer (int64)",
  "key": "string",
  "value": "string",
  "default": "boolean",
  "dependsOn": [
    {
      "id": "integer (int64)",
      "key": "string",
      "value": "string",
      "default": "boolean",
      "dependsOn": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "default": "boolean",
          "dependsOn": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    {
                                                      "id": "integer (int64)",
                                                      "key": "string",
                                                      "value": "string",
                                                      "default": "boolean",
                                                      "dependsOn": [
                                                        {
                                                          "id": "integer (int64)"
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

PolicyAttributeDefinitionDto: object

Holds additional insurance policy-specific field names and validation
rules that are expected to be collected during the booking flow.
These fields are expected to be passed as policyAttributes during order creation.
fieldName: string
type: string STRING, BOOLEAN, BINARY, DATE, RADIO, SELECT
validation: string
priority: integer (int32)
document: boolean
position: string TOP, BOTTOM
Example
{
  "fieldName": "string",
  "type": "string",
  "validation": "string",
  "priority": "integer (int32)",
  "document": "boolean",
  "position": "string"
}

PriceDto: object

id: integer (int32)
unitPrice: number
insurees: integer (int32)
basePrice: number
installments: integer (int32)
Example
{
  "id": "integer (int32)",
  "unitPrice": "number",
  "insurees": "integer (int32)",
  "basePrice": "number",
  "installments": "integer (int32)"
}

ProductAttributeDto: object

key: string
value: string
Example
{
  "key": "string",
  "value": "string"
}

ProductDto: object

id: string (uuid)
name: string
category: string
qualities: QualityDto
QualityDto
claimsProcess: string BIKE, CALLBACK, DIRECTHELP, EQUIPMENT, ELECTRONICS, SMARTLET, DEFAULT, FURNITURE
media: MediaItem
MediaItem
salesChannels: SalesChannelDto
SalesChannelDto
policyAttributeDefinitions: PolicyAttributeDefinitionDto
PolicyAttributeDefinitionDto
productAttributes: ProductAttributeDto
ProductAttributeDto
prolongable: boolean
version: string
Example
{
  "id": "string (uuid)",
  "name": "string",
  "category": "string",
  "qualities": [
    {
      "id": "string (uuid)",
      "name": "string",
      "priority": "integer (int32)",
      "coverages": [
        {
          "id": "integer (int32)",
          "sum": "number",
          "coverageType": "string",
          "coverageAmount": "integer (int32)",
          "durations": [
            {
              "id": "integer (int32)",
              "start": "integer (int32)",
              "end": "integer (int32)",
              "contractDuration": "integer (int32)",
              "timeUnit": "string",
              "contractType": "string",
              "prices": [
                {
                  "id": "integer (int32)",
                  "unitPrice": "number",
                  "insurees": "integer (int32)",
                  "basePrice": "number",
                  "installments": "integer (int32)"
                }
              ],
              "variants": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "selection": "string",
                  "options": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    {}
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

QualityDto: object

id: string (uuid)
name: string
priority: integer (int32)
coverages: CoverageDto
CoverageDto
media: MediaItem
MediaItem
Example
{
  "id": "string (uuid)",
  "name": "string",
  "priority": "integer (int32)",
  "coverages": [
    {
      "id": "integer (int32)",
      "sum": "number",
      "coverageType": "string",
      "coverageAmount": "integer (int32)",
      "durations": [
        {
          "id": "integer (int32)",
          "start": "integer (int32)",
          "end": "integer (int32)",
          "contractDuration": "integer (int32)",
          "timeUnit": "string",
          "contractType": "string",
          "prices": [
            {
              "id": "integer (int32)",
              "unitPrice": "number",
              "insurees": "integer (int32)",
              "basePrice": "number",
              "installments": "integer (int32)"
            }
          ],
          "variants": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "selection": "string",
              "options": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    null
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

SalesChannelDto: object

code: string
active: boolean
Example
{
  "code": "string",
  "active": "boolean"
}

VariantDto: object

id: integer (int64)
key: string
value: string
selection: string SINGLE, MULTIPLE
options: OptionDto
OptionDto
dependsOn: string
Example
{
  "id": "integer (int64)",
  "key": "string",
  "value": "string",
  "selection": "string",
  "options": [
    {
      "id": "integer (int64)",
      "key": "string",
      "value": "string",
      "default": "boolean",
      "dependsOn": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "default": "boolean",
          "dependsOn": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)",
                                                  "key": "string",
                                                  "value": "string",
                                                  "default": "boolean",
                                                  "dependsOn": [
                                                    {
                                                      "id": "integer (int64)",
                                                      "key": "string",
                                                      "value": "string",
                                                      "default": "boolean",
                                                      "dependsOn": [
                                                        {
                                                          "id": "integer (int64)"
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

CalculatePricingRequestDto: object

salesChannel: string
partnerId: string (uuid)
cartItems: CartItemDto
CartItemDto
validatePolicyAttributes: boolean
voucher: VoucherRequestDto
contract: ContractDto
paymentCollection: string DIRECT, PARTNER
Example
{
  "salesChannel": "string",
  "partnerId": "string (uuid)",
  "cartItems": [
    {
      "productId": "string (uuid)",
      "qualityId": "4",
      "coverageAmount": 1,
      "coverageSum": 2000,
      "coverageDuration": 10,
      "contractDuration": 1,
      "coverageEndDate": "string (date-time)",
      "durationTimeUnit": "DAYS",
      "coverageType": "THING",
      "price": "number",
      "originalPrice": "number",
      "insuranceTax": "number",
      "taxRate": "number",
      "serviceFees": "number",
      "transferFees": "number",
      "discountAppliedAmount": "number",
      "salesCommissionRate": "number",
      "salesCommission": "number",
      "policySummary": "string",
      "contractStartDate": "string (date-time)",
      "variants": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "selection": "string",
          "options": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                {
                                                  "id": "integer (int64)"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

CalculatePricingResponseDto: object

calculatePricingRequest: CalculatePricingRequestDto
finalPrice: number
ratePrice: number
originalPrice: number
insuranceTax: number
taxRate: number
serviceFees: number
transferFees: number
riskPremium: number
discountAppliedAmount: number
salesCommission: number
Example
{
  "calculatePricingRequest": {
    "salesChannel": "string",
    "partnerId": "string (uuid)",
    "cartItems": [
      {
        "productId": "string (uuid)",
        "qualityId": "4",
        "coverageAmount": 1,
        "coverageSum": 2000,
        "coverageDuration": 10,
        "contractDuration": 1,
        "coverageEndDate": "string (date-time)",
        "durationTimeUnit": "DAYS",
        "coverageType": "THING",
        "price": "number",
        "originalPrice": "number",
        "insuranceTax": "number",
        "taxRate": "number",
        "serviceFees": "number",
        "transferFees": "number",
        "discountAppliedAmount": "number",
        "salesCommissionRate": "number",
        "salesCommission": "number",
        "policySummary": "string",
        "contractStartDate": "string (date-time)",
        "variants": [
          {
            "id": "integer (int64)",
            "key": "string",
            "value": "string",
            "selection": "string",
            "options": [
              {
                "id": "integer (int64)",
                "key": "string",
                "value": "string",
                "default": "boolean",
                "dependsOn": [
                  {
                    "id": "integer (int64)",
                    "key": "string",
                    "value": "string",
                    "default": "boolean",
                    "dependsOn": [
                      {
                        "id": "integer (int64)",
                        "key": "string",
                        "value": "string",
                        "default": "boolean",
                        "dependsOn": [
                          {
                            "id": "integer (int64)",
                            "key": "string",
                            "value": "string",
                            "default": "boolean",
                            "dependsOn": [
                              {
                                "id": "integer (int64)",
                                "key": "string",
                                "value": "string",
                                "default": "boolean",
                                "dependsOn": [
                                  {
                                    "id": "integer (int64)",
                                    "key": "string",
                                    "value": "string",
                                    "default": "boolean",
                                    "dependsOn": [
                                      {
                                        "id": "integer (int64)",
                                        "key": "string",
                                        "value": "string",
                                        "default": "boolean",
                                        "dependsOn": [
                                          {
                                            "id": "integer (int64)",
                                            "key": "string",
                                            "value": "string",
                                            "default": "boolean",
                                            "dependsOn": [
                                              {
                                                "id": "integer (int64)",
                                                "key": "string",
                                                "value": "string",
                                                "default": "boolean",
                                                "dependsOn": [
                                                  null
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

CartItemDto: object

Holds the configuration for an insurance product.

productId: string (uuid)
qualityId: string (uuid)
coverageAmount: integer (int32) x ≥ 1
coverageSum: number
coverageDuration: integer (int32)
contractDuration: integer (int32)
coverageEndDate: string (date-time)
durationTimeUnit: string HOURS, DAYS, MONTHS, YEARS, END_DATE
coverageType: string THING, PERSON, EVENT
price: number
originalPrice: number
insuranceTax: number
taxRate: number
serviceFees: number
transferFees: number
discountAppliedAmount: number
salesCommissionRate: number
salesCommission: number
policySummary: string
contractStartDate: string (date-time)
variants: VariantDto
VariantDto
policyAttributes: PolicyAttributeDto
PolicyAttributeDto
riskPremium: number
Example
{
  "productId": "string (uuid)",
  "qualityId": "4",
  "coverageAmount": 1,
  "coverageSum": 2000,
  "coverageDuration": 10,
  "contractDuration": 1,
  "coverageEndDate": "string (date-time)",
  "durationTimeUnit": "DAYS",
  "coverageType": "THING",
  "price": "number",
  "originalPrice": "number",
  "insuranceTax": "number",
  "taxRate": "number",
  "serviceFees": "number",
  "transferFees": "number",
  "discountAppliedAmount": "number",
  "salesCommissionRate": "number",
  "salesCommission": "number",
  "policySummary": "string",
  "contractStartDate": "string (date-time)",
  "variants": [
    {
      "id": "integer (int64)",
      "key": "string",
      "value": "string",
      "selection": "string",
      "options": [
        {
          "id": "integer (int64)",
          "key": "string",
          "value": "string",
          "default": "boolean",
          "dependsOn": [
            {
              "id": "integer (int64)",
              "key": "string",
              "value": "string",
              "default": "boolean",
              "dependsOn": [
                {
                  "id": "integer (int64)",
                  "key": "string",
                  "value": "string",
                  "default": "boolean",
                  "dependsOn": [
                    {
                      "id": "integer (int64)",
                      "key": "string",
                      "value": "string",
                      "default": "boolean",
                      "dependsOn": [
                        {
                          "id": "integer (int64)",
                          "key": "string",
                          "value": "string",
                          "default": "boolean",
                          "dependsOn": [
                            {
                              "id": "integer (int64)",
                              "key": "string",
                              "value": "string",
                              "default": "boolean",
                              "dependsOn": [
                                {
                                  "id": "integer (int64)",
                                  "key": "string",
                                  "value": "string",
                                  "default": "boolean",
                                  "dependsOn": [
                                    {
                                      "id": "integer (int64)",
                                      "key": "string",
                                      "value": "string",
                                      "default": "boolean",
                                      "dependsOn": [
                                        {
                                          "id": "integer (int64)",
                                          "key": "string",
                                          "value": "string",
                                          "default": "boolean",
                                          "dependsOn": [
                                            {
                                              "id": "integer (int64)",
                                              "key": "string",
                                              "value": "string",
                                              "default": "boolean",
                                              "dependsOn": [
                                                null
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

ContractDto: object

installments: integer (int32) 1 ≤ x ≤ 12
type: string RECURRING, SINGLE
Example
{
  "installments": "integer (int32)",
  "type": "string"
}

PolicyAttributeDto: object

Holds additional attributes necessary to create the insurance policy (like e.g. the bike model)
that may vary from product to product.
Policy attributes are validated if passed to the API.
We suggest to leave this field empty for simple price quotations.
key: string
value: string
Example
{
  "key": "string",
  "value": "string"
}

VoucherRequestDto: object

Holds the token for coupon codes.

token: string
Example
{
  "token": "string"
}

ProductCategoryDto: object

id: integer (int32)
name: string
media: MediaItem
MediaItem
Example
{
  "id": "integer (int32)",
  "name": "string",
  "media": [
    {
      "key": "string",
      "value": "object"
    }
  ]
}

VoucherDto: object

id: integer (int32)
minimumOrderValue: number
type: string FIXED, RELATIVE
token: string
maxUsageCount: integer (int32)
fixedDiscount: number
relativeDiscount: number
startDate: string (date-time)
endDate: string (date-time)
Example
{
  "id": "integer (int32)",
  "minimumOrderValue": "number",
  "type": "string",
  "token": "string",
  "maxUsageCount": "integer (int32)",
  "fixedDiscount": "number",
  "relativeDiscount": "number",
  "startDate": "string (date-time)",
  "endDate": "string (date-time)"
}