Skip to main content

Quote Request

The Quote endpoint returns a list of quote results containing premiums that have been calculated based on details provided in the request. These details must include client demographics, chosen benefit options, and the providers and products they are interested in.

Each request generates a new quote. Whilst the Quote Engine does log all requests for analytics and troubleshooting purposes, quotes are not saved by the API and it does not provide methods to retrieve, modify, or delete previous quotes.

Request


  • Type: POST
  • Path: /quote

Authentication

A userToken API key is required to authenticate the request source. This should be included in the header of the request. See Authentication for more details.


Payload Structure

The data in the Quote request payload is structured as follows:

qe-quote-request-structure2.png

  • Clients – A quote must contain one or more client objects, detailing the persons to be insured.

  • ClientBenefits – Each client must contain at least one clientBenefit object which details the benefit (type of insurance) that is being requested for that client. The required properties for this object vary depending on the type of benefit. See JSON Schema below for more details. Benefit types are defined using a benefitId.

  • BenefitProducts – Under each client benefit is a benefitProducts array that defines which providers (insurers) and products to be quoted. These are defined as a pair of providerId and productId keys. Supported products can be queried from the /providers endpoint.

  • ClientProviderSettings – This is an optional array of provider-specific settings for each client - for example, whether the client is eligible for Chubb's 'Lifetime Reward' discount.

  • Settings – Each request must contain a settings object that defines the settings for the quote, such as the paymentFrequency.

  • ProviderSettings – This is an optional array of provider-specific settings that should be applied to the whole quote - for example, whether all clients wish to join AIA's 'Vitality' programme.


JSON Schema

The request payload is sent as HTTP JSON body using the following schema:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$defs": {
    "Benefit.benefitId": {
      "type": "integer",
      "description": "The id of the benefit to be quoted. See [supported benefits](https://docs.blackfin.tools/books/quoteengineapi/page/supported-benefits)",
      "format": "int32"
    },
    "Benefit.clientBenefitId": {
      "type": "string",
      "description": "Optional custom identifier provided by the requestor. This is returned with the result in the response.",
      "nullable": true
    },
    "Benefit.loading": {
      "type": "number",
      "description": "Optional loading multiplier for the current benefit, for example: <br /><br /> \r\n            `1.0` – no additional loading <br /> \r\n            `1.5` – 50% additional loading <br /> \r\n            `2.0` – 100% additional loading",
      "format": "double",
      "default": 1
    },
    "Benefit.indexed": {
      "type": "boolean",
      "description": "Toggle CPI Indexation on and off for the current benefit: <br /><br /> \r\n            `false` – no indexation <br /> \r\n            `true` – apply CPI indexation",
      "default": true
    },
    "Benefit.benefitProducts": {
      "type": "array",
      "items": {
        "required": [
          "productId",
          "providerId"
        ],
        "type": "object",
        "properties": {
          "providerId": {
            "type": "integer",
            "description": "The id of the provider whose product is being quoted.",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "description": "The id of the product being quoted.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "description": "An array of one or more Product objects containing the details of the providers and products to be quoted for the current beneft."
    }
  },
  "required": [
    "clients",
    "settings"
  ],
  "type": "object",
  "properties": {
    "clients": {
      "type": "array",
      "items": {
        "required": [
          "age",
          "clientBenefits",
          "employedStatus",
          "gender",
          "occupationId",
          "smoker"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the individual to be insured",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the indivual to be insured",
            "nullable": true
          },
          "age": {
            "type": "integer",
            "description": "Current age of the individual to be insured",
            "format": "int32"
          },
          "gender": {
            "type": "string",
            "description": "Gender of the individual to be insured: <br /><br />\r\n`F` – Female <br />\r\n`M` – Male"
          },
          "smoker": {
            "type": "boolean",
            "description": "Indicates whether the individual to be insured is a smoker: <br /><br />\r\n`false` – Non-smoker <br />\r\n`true` – Smoker <br />"
          },
          "employedStatus": {
            "type": "string",
            "description": "The employment status of the individual to be insured: <br /><br />\r\n            `Employed` <br />\r\n            `Self-employed` <br />\r\n            `Self-employed < 3 Years` <br />\r\n            `Non-earner` <br /><br />\r\n            This property is not required when quoting for Health Cover, Life Cover, Family Protection, and Trauma Cover",
            "default": "Employed"
          },
          "occupationId": {
            "type": "integer",
            "description": "The occupation class of the individual to be insured: <br /><br />\r\n`1` – Class 1 <br />\r\n`2` – Class 2 <br />\r\n`3` – Class 3 <br />\r\n`4` – Class 4 <br />\r\n`5` – Class 5 <br /><br />\r\nThis property is not required when quoting for Health Cover, Life Cover, Family Protection, or Trauma Cover.",
            "format": "int32"
          },
          "isChild": {
            "type": "boolean",
            "description": "Inidicates whether the individual to be insured is a child / dependent: <br /><br />\r\n            `false` – adult <br />\r\n            `true` – child / dependent",
            "default": false
          },
          "clientId": {
            "type": "string",
            "description": "Optional custom identifier provided by the requestor. This is returned with the result in the response.",
            "nullable": true
          },
          "clientBenefits": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "title": "1 – Health Cover",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "excess": {
                      "type": "integer",
                      "description": "Defines the excess amount (in NZD) payable by the client under Health Cover, for example: <br /><br />\r\n`0` – nil excess <br />\r\n`250` – $250 excess <br />\r\n`500` – $500 excess etc",
                      "format": "int32",
                      "default": 0,
                      "nullable": true
                    },
                    "gpPrescriptions": {
                      "type": "boolean",
                      "description": "Toggle the optional GP & Prescriptions benefit (under Health Cover) on and off : <br /><br />\r\n`false` – not included <br />\r\n`true` – include GP & Prescriptions",
                      "default": false,
                      "nullable": true
                    },
                    "specialistsTest": {
                      "type": "boolean",
                      "description": "Toggle the optional Specialists & Tests benefit (under Health Cover) on and off :  <br /><br />\r\n            `false` – not included <br />\r\n            `true` – include Specialists & Tests",
                      "default": false,
                      "nullable": true
                    },
                    "specialistsTestExcess": {
                      "type": "integer",
                      "description": "Defines the excess amount (in NZD) payable by the client under the Specialists & Tests benefit, if applicable. For example: <br /><br />\r\n`0` – nil excess <br />\r\n`250` – $250 excess <br /><br />\r\nIf not provided, the primary `Excess` value will be used.",
                      "format": "int32",
                      "nullable": true
                    },
                    "dentalOptical": {
                      "type": "boolean",
                      "description": "Toggle the optional Dental & Optical benefit (under Health Cover) on and off : <br /><br />\r\n            `false` – not included <br />\r\n            `true` – include Dental & Optical",
                      "default": false,
                      "nullable": true
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "2 – Life Cover",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "calcPeriod",
                    "coverAmount"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "calcPeriod": {
                      "type": "number",
                      "description": "The premium review term for the benefit: <br /><br />\r\n            `1` – Yearly Renewable (Stepped) <br />\r\n            `5`, `10`, `15` – Level for specified number of years <br />\r\n            `50`, `60`, `65`, `70` etc – Level to specified age",
                      "format": "double",
                      "default": 1
                    },
                    "futureInsurability": {
                      "type": "boolean",
                      "description": "Toggle the optional Future Insurability benefit (under Life Cover) on and off : <br /><br />\r\n            `false` – not included <br />\r\n            `true` – include Future Insurability",
                      "default": false,
                      "nullable": true
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "3  – Family Protection (Life Income)",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "benefitPeriod",
                    "benefitPeriodType",
                    "coverAmount"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "benefitPeriod": {
                      "type": "integer",
                      "description": "Specifies the period of time for which the benefit will be payable – either as a specific number of years (eg. '5' years) or to a specific age (eg. age '65'). <br /><br /> See `benefitPeriodType` for definition.",
                      "format": "int32"
                    },
                    "benefitPeriodType": {
                      "type": "string",
                      "description": "Defines whether the `benefitPeriod` number is expressed as: <br /><br />\r\n`age` – to a specific age <br />\r\n`term` – a fixed term (specific number of years) <br />"
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "4  – Trauma Cover",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "calcPeriod",
                    "coverAmount"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "calcPeriod": {
                      "type": "number",
                      "description": "The premium review term for the benefit: <br /><br />\r\n            `1` – Yearly Renewable (Stepped) <br />\r\n            `5`, `10`, `15` – Level for specified number of years <br />\r\n            `50`, `60`, `65`, `70` etc – Level to specified age",
                      "format": "double",
                      "default": 1
                    },
                    "accelerated": {
                      "type": "boolean",
                      "description": "Toggle acceleration on and off for Trauma Cover: <br /><br />\r\n            `false` – standalone <br />\r\n            `true` – accelerated <br /><br />\r\n            Quote must also include a Life Cover benefit for the same client, in order to accelerate the Trauma Cover",
                      "default": false,
                      "nullable": true
                    },
                    "traumaBuyback": {
                      "type": "boolean",
                      "description": "Toggle the optional Trauma BuyBack benefit (under Trauma) on and off : <br /><br />\r\n            `false` – not included  <br />\r\n            `true` – include Trauma BuyBack",
                      "default": false,
                      "nullable": true
                    },
                    "traumaBuybackType": {
                      "type": "string",
                      "description": "Defines the type of Trauma Buyback benefit to be quoted. Not all providers offer both options: <br /><br />\r\n `deferred` – cover continues after a stand-down period (usually 12 months) following a claim <br />\r\n`instant` – cover continues immediately following a claim <br /><br />\r\n This setting is ignored unless `traumaBuyback = true`",
                      "default": "deferred",
                      "nullable": true
                    },
                    "lifeBuyback": {
                      "type": "boolean",
                      "description": "Toggle the optional Life BuyBack benefit (under Accelerated Trauma) on and off : <br /><br />\r\n            `false` – not included <br />\r\n            `true` – include Life BuyBack <br /> <br />\r\n            Only applicable if `accelerated = true`",
                      "default": false,
                      "nullable": true
                    },
                    "tpdAddon": {
                      "type": "boolean",
                      "description": "<br /> Toggle the optional TPD Add-On benefit (under Trauma) on and off : <br /><br />\r\n            `false` – not included(default value) <br />\r\n            `true` – include TPD Add-On <br /><br />\r\n            The `occupationType` property is required if including the TPD Add-On (see below)",
                      "default": false,
                      "nullable": true
                    },
                    "occupationType": {
                      "type": "string",
                      "description": "Defines whether the TPD Add-On benefit covers the individual's inability to work in their current (own) occupation: <br /><br />\r\n`own` – own occupation <br />\r\n`any` – any occupation  <br /><br />\r\n This setting is only required if `tpdAddon = true`",
                      "nullable": true
                    },
                    "seriousTrauma": {
                      "type": "boolean",
                      "description": "Toggle the optional Serious Trauma benefit (under Trauma) on and off : <br /><br />\r\n            `false` – not included <br />\r\n            `true` – include Serious Trauma <br /><br />\r\n            The `seriousTraumaCoverAmount` is required if including the Serious Trauma benefit (see below)",
                      "default": false,
                      "nullable": true
                    },
                    "seriousTraumaCoverAmount": {
                      "type": "number",
                      "description": "Amount of cover (in New Zealand Dollars) for the optional Serious Trauma benefit. <br />\r\nOnly required if `seriousTrauma = true`",
                      "format": "double",
                      "nullable": true
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "5  – Total & Permanent Disability",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "calcPeriod",
                    "coverAmount",
                    "occupationType"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "calcPeriod": {
                      "type": "number",
                      "description": "The premium review term for the benefit: <br /><br />\r\n            `1` – Yearly Renewable <br />\r\n            `5`, `10`, `15` – Level for specified number of years <br />\r\n            `50`, `60`, `65`, `70` etc – Level to specified age",
                      "format": "double",
                      "default": 1
                    },
                    "accelerated": {
                      "type": "boolean",
                      "description": "Toggle acceleration on and off for TPD: <br /><br />\r\n            `false` – standalone <br />\r\n            `true` – accelerated <br /><br />\r\n            Quote must also include a Life Cover benefit for the same client, in order to accelerate the TPD",
                      "default": false,
                      "nullable": true
                    },
                    "occupationType": {
                      "type": "string",
                      "description": "Defines whether the TPD benefit covers the individual's inability to work in their current (own) occupation: <br /><br />\r\n`own` – own occupation <br />\r\n`any` – any occupation <br />",
                      "nullable": true
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "6  – Income Protection",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "benefitPeriod",
                    "benefitPeriodType",
                    "coverAmount",
                    "weekWaitPeriod"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "benefitPeriod": {
                      "type": "integer",
                      "description": "Specifies the period of time for which the benefit will be payable – either as a specific number of years (eg. '5' years) or to a specific age (eg. age '65'). <br /><br /> See `benefitPeriodType` for definition.",
                      "format": "int32"
                    },
                    "benefitPeriodType": {
                      "type": "string",
                      "description": "Defines whether the `benefitPeriod` number is expressed as: <br /><br />\r\n`age` – to a specific age <br />\r\n`term` – a fixed term (specific number of years) <br />"
                    },
                    "weekWaitPeriod": {
                      "type": "number",
                      "description": "Specifies the number of weeks after which the benefit will start to be paid",
                      "format": "double"
                    },
                    "booster": {
                      "type": "boolean",
                      "description": "Toggle the optional Booster benefit (under Income Protection) on and off : <br /><br />\r\n            `false` – not included <br />\r\n            `true` – include Booster <br />",
                      "default": false,
                      "nullable": true
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "7  – Mortgage Repayment Cover",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "benefitPeriod",
                    "benefitPeriodType",
                    "coverAmount",
                    "weekWaitPeriod"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "benefitPeriod": {
                      "type": "integer",
                      "description": "Specifies the period of time for which the benefit will be payable – either as a specific number of years (eg. '5' years) or to a specific age (eg. age '65'). <br /><br /> See `benefitPeriodType` for definition.",
                      "format": "int32"
                    },
                    "benefitPeriodType": {
                      "type": "string",
                      "description": "Defines whether the `benefitPeriod` number is expressed as: <br /><br />\r\n`age` – to a specific age <br />\r\n`term` – a fixed term (specific number of years) <br />"
                    },
                    "weekWaitPeriod": {
                      "type": "number",
                      "description": "Specifies the number of weeks after which the benefit will start to be paid",
                      "format": "double"
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "8  – Redundancy Cover",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "coverAmount"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "indexed": {
                      "$ref": "#/$defs/Benefit.indexed"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "9  – Waiver of Premium",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "weekWaitPeriod"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "weekWaitPeriod": {
                      "type": "number",
                      "description": "Specifies the number of weeks after which the benefit will start to be paid",
                      "format": "double",
                      "nullable": true
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                },
                {
                  "title": "10 – Special Injury",
                  "type": "object",
                  "description": "An array of one or more Benefit objects containing the details of the insurance benefit(s) to be quoted for the current client. Not all properties are relevant for every benefit. <br /><br />\r\nSelect each `benefitId` from the dropdown above to see the relevant properties.",
                  "required": [
                    "benefitId",
                    "benefitProducts",
                    "coverAmount"
                  ],
                  "properties": {
                    "benefitId": {
                      "$ref": "#/$defs/Benefit.benefitId"
                    },
                    "clientBenefitId": {
                      "$ref": "#/$defs/Benefit.clientBenefitId"
                    },
                    "coverAmount": {
                      "type": "number",
                      "description": "Amount of cover / sum insured, in New Zealand Dollars (NZD). Value is treated as: <br />\r\n* <b>Lump Sum</b> amount for Life, Trauma, TPD <br />\r\n* <b>Annual</b> cover for Income Protection <br />\r\n* <b>Monthly</b> amount/cover for Family Protection, Mortgage, Redundancy, Special Injury",
                      "format": "double"
                    },
                    "loading": {
                      "$ref": "#/$defs/Benefit.loading"
                    },
                    "benefitProducts": {
                      "$ref": "#/$defs/Benefit.benefitProducts"
                    }
                  }
                }
              ]
            }
          },
          "clientProviderSettings": {
            "type": "array",
            "description": "Optional array of provider-specific settings to be applied to the current client.",
            "nullable": true,
            "items": {
            "required": [
              "providerId"
            ],
            "type": "object",
            "properties": {
              "providerId": {
                "type": "integer",
                "description": "The id of the provider for which settings are being applied. <br /><br />\r\nNote: at the current time, only the provider Chubb Life (id=8) has any applicable settings here.",
                "format": "int32"
              },
              "lifetimeRewardSelected": {
                "type": "boolean",
                "description": "Toggle the Chubb Life 'Lifetime Reward' discount on and off for the current client. Eligible clients receive a lifetime discount on certain benefits: <br /><br />\r\n`false` – client not eligible for Lifetime Reward <br />\r\n`true` – client is eligible for Lifetime Reward",
                "default": false,
                "nullable": true
              }
            },
            "additionalProperties": false
          }
          }
        },
        "additionalProperties": false
      },
      "description": "An array of Client objects containing the details of the individuals to be insured"
    },
    "settings": {
      "required": [
        "paymentFrequency"
      ],
      "type": "object",
      "properties": {
        "paymentFrequency": {
          "type": "integer",
          "description": "The desired frequency for premium payments: <br /><br />\r\n`1` – Annually <br />\r\n`12` – Monthly <br />\r\n`26` – Fortnightly",
          "format": "int32"
        },
        "calcDate": {
          "type": "string",
          "description": "Optional parameter that can be used to request calculation of premiums for a certain date (eg. historical or upcoming) where possible. Note: this is not supported for all providers so should not be heavily relied upon.",
          "format": "YYYY-MM-DD",
          "default": "{currentDate}",
          "nullable": true
        },
        "providerSettings": {
          "type": "array",
          "items": {
            "required": [
              "providerId"
            ],
            "type": "object",
            "properties": {
              "providerId": {
                "type": "integer",
                "description": "The id of the provider for which settings are being applied. <br /><br />\r\nNote: at the current time, only the provider AIA (id=11) has any applicable settings here.",
                "format": "int32"
              },
              "vitalityDiscountSelected": {
                "type": "boolean",
                "description": "Toggle the AIA Vitality scheme membership on and off for all clients. Members of AIA's Vitality scheme receive a discount on their insurance premium: <br /><br />\r\n`false` – clients do not wish to join AIA Vitality <br />\r\n`true` – clients wish to join (or are already members of) AIA Vitality <br /><br />\r\n See related `vitalityFeeSelected` property below",
                "default": false,
                "nullable": true
              },
              "vitalityFeeSelected": {
                "type": "boolean",
                "description": "Toggle the applicability of the AIA Vitality fee, based on whether the client(s) are already members of the scheme: <br /><br />\r\n`false` – clients are already paying AIA Vitality fee(existing members) <br />\r\n`true` – clients are not existing Vitality members, therefore the fee is applicable",
                "nullable": true
              }
            },
            "additionalProperties": false
          },
          "description": "An optional array of provider-specific settings. <br /><br />\r\nNot all providers have applicable settings(see below) however this may change in future.",
          "nullable": true
        }
      },
      "additionalProperties": false,
      "description": "Quote Settings object. The settings entered here will be defined to the overall quote (ie. all clients and benefits)"
    },
    "comboQuoteId": {
      "type": "string",
      "nullable": true,
      "description": "Optional user-provided ID to indicate that the request is one of multiple requests sent to calculate a 'Combo Quote', allowing BlackFin to group these requests together for analytics purposes."
    }
  },
  "additionalProperties": false
}



Examples

Example request payload:

JSON Request Body
{
  "clients": [
    {
      "firstName": "John",
      "lastName": "Smith",
      "age": 35,
      "gender": "M",
      "smoker": false,
      "employedStatus": "Employed",
      "occupationId": 2,
      "isChild": false,
      "clientId": "YourClientId1",
      "clientBenefits": [
        {
          "benefitId": 1,
          "clientBenefitId": "YourClientId1.Health",
          "excess": 250,
          "gpPrescriptions": false,
          "specialistsTest": true,
          "specialistsTestExcess": 250,
          "dentalOptical": false,
          "loading": 1,
          "benefitProducts": [
            {
              "providerId": 1,
              "productId": 105
            },
            {
              "providerId": 7,
              "productId": 12
            },
            {
              "providerId": 9,
              "productId": 10
            },
            {
              "providerId": 11,
              "productId": 11
            }
          ]
        },
        {
          "benefitId": 2,
          "clientBenefitId": "YourClientId1.Life",
          "coverAmount": 500000,
          "calcPeriod": 1,
          "futureInsurability": false,
          "indexed": true,
          "loading": 1,
          "benefitProducts": [
            {
              "providerId": 5,
              "productId": 6
            },
            {
              "providerId": 6,
              "productId": 7
            },
            {
              "providerId": 8,
              "productId": 3
            },
            {
              "providerId": 9,
              "productId": 2
            },
            {
              "providerId": 11,
              "productId": 4
            }
          ]
        }
      ],
      "clientProviderSettings": [
        {
          "providerId": 8,
          "lifetimeRewardSelected": true
        }
      ]
    },
    {
      "firstName": "Jane",
      "lastName": "Smith",
      "age": 30,
      "gender": "F",
      "smoker": true,
      "employedStatus": "Self-employed",
      "occupationId": 1,
      "isChild": false,
      "clientId": "YourClientId2",
      "clientBenefits": [
        {
          "benefitId": 4,
          "clientBenefitId": "YourClientId2.Trauma",
          "coverAmount": 350000,
          "calcPeriod": 65,
          "accelerated": false,
          "traumaBuyback": true,
          "traumaBuybackType": "deferred",
          "lifeBuyback": false,
          "tpdAddon": false,
          "occupationType": null,
          "seriousTrauma": false,
          "seriousTraumaCoverAmount": null,
          "indexed": true,
          "loading": 1,
          "benefitProducts": [
            {
              "providerId": 5,
              "productId": 26
            },
            {
              "providerId": 6,
              "productId": 28
            },
            {
              "providerId": 8,
              "productId": 22
            },
            {
              "providerId": 9,
              "productId": 21
            },
            {
              "providerId": 11,
              "productId": 24
            }
          ]
        },
        {
          "benefitId": 6,
          "clientBenefitId": "YourClientId2.Income",
          "coverAmount": 75000,
          "benefitPeriod": 65,
          "benefitPeriodType": "age",
          "weekWaitPeriod": 4,
          "booster": false,
          "indexed": true,
          "loading": 1,
          "benefitProducts": [
            {
              "providerId": 5,
              "productId": 108
            },
            {
              "providerId": 6,
              "productId": 69
            },
            {
              "providerId": 8,
              "productId": 58
            },
            {
              "providerId": 9,
              "productId": 49
            },
            {
              "providerId": 11,
              "productId": 46
            }
          ]
        }
      ],
      "clientProviderSettings": null
    }
  ],
  "settings": {
    "paymentFrequency": 12,
    "calcDate": null,
    "providerSettings": [
      {
        "providerId": 11,
        "vitalityDiscountSelected": true,
        "vitalityFeeSelected": true
      }
    ]
  },
  "comboQuoteId": null
}

 

Response


See Quote Results for a detailed explanation of this endpoint's response.

Response Codes

200: Success

400: Request body is null or invalid

403: userToken is invalid or no longer valid