API Route - Quote

API endpoints

[POST] Initialize a quote with minimum information

Details

This API endpoint is used to initialize a quote for a customer.

API endpoint :

/api/v1/customers/{customerNumber}/initializedquotes?customerType={customerType}

Parameter request :

{
  "QuoteJSON": {
    "ListofProductVersion": [
      {
        "ProductVersionName": "string"
      }
    ],
    "EffectiveDate": "2023-02-22T15:22:46.2085334Z",
    "AllInsuredItemlist": [
      {}
    ],
    "PolicyType": "1901",
    "MPLPolicyTransaction": "1901",
    "MPLPolicyRenewalType": "1901",
    "MPLPolicyForm": "1901",
    "BillingFrequency": "2",
    "PolicyTerm": "1",
    "IdentifierKey": "string",
    "ContractTermInDatabase": "1"
  }
}

Json response :

{
  "PolicyJSON": {
    "ListofProductVersion": [
      {
        "ProductVersionName": "string"
      }
    ],
    "Process": "1",
    "ExternalQuoteNumber": "string",
    "QuoteNumber": 0,
    "FullNumber": "string",
    "PolicyHolderNumber": "string",
    "PolicyTerm": "1",
    "EffectiveDate": "2023-02-22T15:22:42.6613864Z",
    "ExpirationDate": "2023-02-22T15:22:42.6613864Z",
    "BillingFrequency": "2",
    "InstallmentFrequency": "2,1",
    "MPLPolicyTransaction": "1901",
    "PolicyType": "1901",
    "PolicyTypeAsLongLabel": "1901",
    "MPLPolicyForm": "1901",
    "ListofCoverages": [
      {
        "MyOfferedCoverage": {
          "CoverageName": "string",
          "Description": "string"
        },
        "ExcludeFromCommissions": true,
        "Premium": {
          "Currency": "string",
          "Amount": 10.6
        },
        "OccurrenceLimit": {
          "Currency": "string",
          "Amount": 10.6
        },
        "Deductible": {
          "Currency": "string",
          "Amount": 10.6
        },
        "PerPersonLimit": {
          "Currency": "string",
          "Amount": 10.6
        },
        "PerAccidentLimit": {
          "Currency": "string",
          "Amount": 10.6
        },
        "ListofLimitsDeductibles": [
          {
            "AmountValue": {
              "Currency": "string",
              "Amount": 10.6
            },
            "LimitDeductibleLabel": "string",
            "DeductibleNames": "string",
            "LimitDeductibleType": "1",
            "LimitDeductibleCategory": "1"
          }
        ],
        "IdentifierKey": "string"
      }
    ],
    "ListofPolicyVersionsSpecificData": [
      {}
    ],
    "RequestedDocuments": [
      {
        "IsDocumentUploaded": true,
        "RequestedDocumentName": "string"
      }
    ],
    "AllInsuredItemlist": [
      {
        "AllInsuredItemNumber": 0,
        "InsuredItemNumberForTheCategory": 0,
        "ParentNode": {
          "InsuredItemNumberParentNode": 0
        },
        "AllGroupName": "string",
        "FleetGroupName": "string",
        "IdentifierKey": "string"
      }
    ],
    "ListofGroupInsuredItems": [
      {
        "MyInsuredCustomer": {
          "RiskCategory": "301",
          "RiskCustomerNumber": "string",
          "RiskName": "string",
          "RestrictedCustomer": true,
          "FirstName": "string",
          "LastName": "string",
          "PersonalCustomer-LicenseType": "1901",
          "CustomerEmail": "string",
          "CustomerCellPhone": "string",
          "WorkPhone": "string"
        },
        "GroupName": "string",
        "MPL-IP-IndividualProviderType": "1901",
        "MPL-IP-IndividualProviderSpecialty": "1941",
        "InsuredItemIcon": "string",
        "IdentifierKey": "string"
      }
    ],
    "ListofInsuredItems": [
      {
        "ListofSubInsuredItems": [
          {
            "InsuredVehicleExternalIdentifier": "string",
            "AACustomerNumber": "string"
          }
        ],
        "InsuredItemNumber": 0,
        "ClinicInsuredItemNumber": 0,
        "BBGroupName": "string",
        "MyGrpInsuredCustomer": {
          "GrpCustomerNumber": "string"
        },
        "FunctionalIdentifierForWebAPI": "string"
      }
    ],
    "ListofExternalServicingActors": [
      {
        "EntityType": "1",
        "CarrierName": "string",
        "CarrierCode": "string"
      }
    ],
    "TotalDue": {
      "Currency": "string",
      "Amount": 10.6
    },
    "MPLPolicyRenewalType": "1901",
    "MyCustomerPaymentInformation": {
      "CardExpirationMonth": "1",
      "CardExpirationYear": "string",
      "CardHolderName": "string",
      "CardNumber": "string",
      "PaymentInformationExternalIdentifier": "string",
      "PaymentType": "1"
    },
    "IdentifierKey": "string"
  }
}

[GET] Get the list of quotes

Details

This API endpoint returns the list of quotes for a customer (according to the parameter PolicyType, it is possible to get complete policies).

API endpoint :

/api/v1/customers/{customerNumber}/quotes

Json response :

{
  "ListPolicies": {
    "CustomerNumber": "string",
    "CustomerName": "string",
    "Policies": [
      {
        "PolicyNumber": "string",
        "EffectiveDate": "2023-02-22T15:22:42.489506Z",
        "ExpirationDate": "2023-02-22T15:22:42.489506Z",
        "BillingFrequencyAsLongLabel": "2",
        "PolicyWrittenPremium": {
          "Currency": "string",
          "Amount": 10.6
        },
        "PolicyPremium": {
          "Currency": "string",
          "Amount": 10.6
        },
        "CarrierCode": "string",
        "StatusSystemAssigned": "10",
        "MyPolicyNumber": "string",
        "ListOfInsuredItems": [
          {
            "InsuredItemNumber": 0,
            "InsuredItemDescription": "string"
          }
        ],
        "ListofAllInsuredItems": [
          {
            "GroupName": "string"
          }
        ],
        "Coverages": [
          {
            "CoverageCode": "string",
            "CoverageName": "string",
            "WrittenPremium": {
              "Currency": "string",
              "Amount": 10.6
            },
            "Premium": {
              "Currency": "string",
              "Amount": 10.6
            }
          }
        ],
        "PolicyTermAsLongLabel": "1",
        "PolicyTypeAsLongLabel": "1901",
        "QuoteNumber": 0,
        "MyCustomerPaymentInformation": {
          "CardExpirationMonth": "1",
          "CardExpirationYear": "string",
          "CardHolderName": "string",
          "CardNumber": "string",
          "PaymentInformationExternalIdentifier": "string",
          "PaymentType": "1",
          "Name": "string"
        },
        "MyPersonalCustomer": {
          "CustomerPaymentInformationExternalIdentifier": "string",
          "CustomerEmail": "string"
        },
        "VersionNumber": 0
      }
    ],
    "NumberOfEmployees": "1"
  }
}

[GET] Get the premium for a quote

Details

This API endpoint returns the price for a given quote.

API endpoint :

/api/v1/policies/{contractNumber}/premium/{contractQuoteNumber}

Json response :

Return the price for a given Quote

[POST] Issue a policy from a quote

Details

This API endpoint allows you to issue a policy from a quote

API endpoint :

/api/v1/policies/{quoteNumber}/quotes/{iterationNumber}/businessquotes

Parameter request :

Only quoteNumber as string and iterationNumber as string

Json response :

{
  "PolicyJSON": {
    "ListofProductVersion": [
      {
        "ProductVersionName": "string"
      }
    ],
    "Process": "1",
    "ExternalQuoteNumber": "string",
    "QuoteNumber": 0,
    "FullNumber": "string",
    "PolicyHolderNumber": "string",
    "PolicyTerm": "1",
    "EffectiveDate": "2023-02-22T15:22:42.6613864Z",
    "ExpirationDate": "2023-02-22T15:22:42.6613864Z",
    "BillingFrequency": "2",
    "InstallmentFrequency": "2,1",
    "MPLPolicyTransaction": "1901",
    "PolicyType": "1901",
    "PolicyTypeAsLongLabel": "1901",
    "MPLPolicyForm": "1901",
    "ListofCoverages": [
      {
        "MyOfferedCoverage": {
          "CoverageName": "string",
          "Description": "string"
        },
        "ExcludeFromCommissions": true,
        "Premium": {
          "Currency": "string",
          "Amount": 10.6
        },
        "OccurrenceLimit": {
          "Currency": "string",
          "Amount": 10.6
        },
        "Deductible": {
          "Currency": "string",
          "Amount": 10.6
        },
        "PerPersonLimit": {
          "Currency": "string",
          "Amount": 10.6
        },
        "PerAccidentLimit": {
          "Currency": "string",
          "Amount": 10.6
        },
        "ListofLimitsDeductibles": [
          {
            "AmountValue": {
              "Currency": "string",
              "Amount": 10.6
            },
            "LimitDeductibleLabel": "string",
            "DeductibleNames": "string",
            "LimitDeductibleType": "1",
            "LimitDeductibleCategory": "1"
          }
        ],
        "IdentifierKey": "string"
      }
    ],
    "ListofPolicyVersionsSpecificData": [
      {}
    ],
    "RequestedDocuments": [
      {
        "IsDocumentUploaded": true,
        "RequestedDocumentName": "string"
      }
    ],
    "AllInsuredItemlist": [
      {
        "AllInsuredItemNumber": 0,
        "InsuredItemNumberForTheCategory": 0,
        "ParentNode": {
          "InsuredItemNumberParentNode": 0
        },
        "AllGroupName": "string",
        "FleetGroupName": "string",
        "IdentifierKey": "string"
      }
    ],
    "ListofGroupInsuredItems": [
      {
        "MyInsuredCustomer": {
          "RiskCategory": "301",
          "RiskCustomerNumber": "string",
          "RiskName": "string",
          "RestrictedCustomer": true,
          "FirstName": "string",
          "LastName": "string",
          "PersonalCustomer-LicenseType": "1901",
          "CustomerEmail": "string",
          "CustomerCellPhone": "string",
          "WorkPhone": "string"
        },
        "GroupName": "string",
        "MPL-IP-IndividualProviderType": "1901",
        "MPL-IP-IndividualProviderSpecialty": "1941",
        "InsuredItemIcon": "string",
        "IdentifierKey": "string"
      }
    ],
    "ListofInsuredItems": [
      {
        "ListofSubInsuredItems": [
          {
            "InsuredVehicleExternalIdentifier": "string",
            "AACustomerNumber": "string"
          }
        ],
        "InsuredItemNumber": 0,
        "ClinicInsuredItemNumber": 0,
        "BBGroupName": "string",
        "MyGrpInsuredCustomer": {
          "GrpCustomerNumber": "string"
        },
        "FunctionalIdentifierForWebAPI": "string"
      }
    ],
    "ListofExternalServicingActors": [
      {
        "EntityType": "1",
        "CarrierName": "string",
        "CarrierCode": "string"
      }
    ],
    "TotalDue": {
      "Currency": "string",
      "Amount": 10.6
    },
    "MPLPolicyRenewalType": "1901",
    "MyCustomerPaymentInformation": {
      "CardExpirationMonth": "1",
      "CardExpirationYear": "string",
      "CardHolderName": "string",
      "CardNumber": "string",
      "PaymentInformationExternalIdentifier": "string",
      "PaymentType": "1"
    },
    "IdentifierKey": "string"
  }
}

[GET] Get the list of packages for a quote

Details

This API endpoint returns a list of packages for a new business quote.

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/coveragePackages

Json response :

{
  "ListOfPackagesForNewBusinessQuote": [
    {
      "IdentifierKey": "string",
      "ProductPackageName": "string",
      "IsProductPackageSelected": "string",
      "TotalPackagePriceAndTax": "string",
      "TotalPackagePriceAndTaxAsString": "string",
      "IsProductPackageRequired": "string",
      "CoverageLevel": "string",
      "ParentInsuredItem": {
        "Identifier": "string",
        "Name": "string",
        "InsuredItemIcon": "string"
      },
      "ListOfCoverageParameters": [
        {
          "CoverageName": "string",
          "CoverageCode": "string",
          "CoveragePremium": "string",
          "CoveragePremiumAsString": "string",
          "IsCoverageMandatory": "string",
          "IsCoverageSelected": "string",
          "OfferedCoverageClassID": "string",
          "OfferedCoverageID": "string",
          "SubscribedCoverageClassID": "string"
        }
      ]
    }
  ]
}

[POST] Set the subscribed package for a quote

Details

This API endpoint sets the package selection for a new business quote.

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/coveragePackages

Parameter request :

{
  "ListOfPackagesForNewBusinessQuote": [
    {
      "IdentifierKey": "string",
      "ProductPackageName": "string",
      "IsProductPackageSelected": "string",
      "TotalPackagePriceAndTax": "string",
      "TotalPackagePriceAndTaxAsString": "string",
      "IsProductPackageRequired": "string",
      "CoverageLevel": "string",
      "ParentInsuredItem": {
        "Identifier": "string",
        "Name": "string",
        "InsuredItemIcon": "string"
      },
      "ListOfCoverageParameters": [
        {
          "CoverageName": "string",
          "CoverageCode": "string",
          "CoveragePremium": "string",
          "CoveragePremiumAsString": "string",
          "IsCoverageMandatory": "string",
          "IsCoverageSelected": "string",
          "OfferedCoverageClassID": "string",
          "OfferedCoverageID": "string",
          "SubscribedCoverageClassID": "string"
        }
      ]
    }
  ]
}

Json response :

{
  "ListOfPackagesForNewBusinessQuote": [
    {
      "IdentifierKey": "string",
      "ProductPackageName": "string",
      "IsProductPackageSelected": "string",
      "TotalPackagePriceAndTax": "string",
      "TotalPackagePriceAndTaxAsString": "string",
      "IsProductPackageRequired": "string",
      "CoverageLevel": "string",
      "ParentInsuredItem": {
        "Identifier": "string",
        "Name": "string",
        "InsuredItemIcon": "string"
      },
      "ListOfCoverageParameters": [
        {
          "CoverageName": "string",
          "CoverageCode": "string",
          "CoveragePremium": "string",
          "CoveragePremiumAsString": "string",
          "IsCoverageMandatory": "string",
          "IsCoverageSelected": "string",
          "OfferedCoverageClassID": "string",
          "OfferedCoverageID": "string",
          "SubscribedCoverageClassID": "string"
        }
      ]
    }
  ]
}

[GET] Get the list of coverages for a quote

Details

This API endpoint gets a list of coverages for a new business quote.

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/coverages

Json response :

{
  "ListOfCoverageParameters": [
    {
      "Identifier": "string",
      "Name": "string",
      "Issued": "string",
      "IsCoverageMandatory": "string",
      "AtProductLevel": "string",
      "CoverageRetroactiveBeginDate": "string",
      "Premium": {
        "Amount": "string",
        "Currency": "string"
      },
      "ParentInsuredItem": {
        "Identifier": "string",
        "Name": "string",
        "InsuredItemIcon": "string"
      },
      "ListofLimitsDeductibles": [
        {
          "ID": "string",
          "ClassId": "string",
          "LimitDeductibleType": "string",
          "LimitDeductibleLabel": "string",
          "AmountValue": {
            "Amount": "string",
            "Currency": "string"
          }
        }
      ],
      "ListofInsuredItemMedicalProfessionals": [
        {
          "Identifier": "string"
        }
      ]
    }
  ]
}

[POST] Set the list of subscribed coverages for a quote

Details

By calling this API endpoint you can issue or withdraw coverages to/from a new business quote.

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/coverages

Parameter request :

{
  "ListOfCoverageParameters": [
    {
      "Identifier": "string",
      "Name": "string",
      "Issued": "string",
      "IsCoverageMandatory": "string",
      "AtProductLevel": "string",
      "CoverageRetroactiveBeginDate": "string",
      "Premium": {
        "Amount": "string",
        "Currency": "string"
      },
      "ParentInsuredItem": {
        "Identifier": "string",
        "Name": "string",
        "InsuredItemIcon": "string"
      },
      "ListofLimitsDeductibles": [
        {
          "ID": "string",
          "ClassId": "string",
          "LimitDeductibleType": "string",
          "LimitDeductibleLabel": "string",
          "AmountValue": {
            "Amount": "string",
            "Currency": "string"
          }
        }
      ],
      "ListofInsuredItemMedicalProfessionals": [
        {
          "Identifier": "string"
        }
      ]
    }
  ]
}

Json response :

{
  "ListOfCoverageParameters": [
    {
      "Identifier": "string",
      "Name": "string",
      "Issued": "string",
      "IsCoverageMandatory": "string",
      "AtProductLevel": "string",
      "CoverageRetroactiveBeginDate": "string",
      "Premium": {
        "Amount": "string",
        "Currency": "string"
      },
      "ParentInsuredItem": {
        "Identifier": "string",
        "Name": "string",
        "InsuredItemIcon": "string"
      },
      "ListofLimitsDeductibles": [
        {
          "ID": "string",
          "ClassId": "string",
          "LimitDeductibleType": "string",
          "LimitDeductibleLabel": "string",
          "AmountValue": {
            "Amount": "string",
            "Currency": "string"
          }
        }
      ],
      "ListofInsuredItemMedicalProfessionals": [
        {
          "Identifier": "string"
        }
      ]
    }
  ]
}

[GET] Get the list of available insured items for a new quote

Details

This API endpoint provides the list of Product Insured Items for a new business quote.

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/insureditems

Json response :

Get a list of Product Insured Items for a new business quote

[PATCH] Set the insured item selection for the product

Details

This API endpoint allows to set the insured item selection for a new business quote.

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/insureditems/{insuredItemIdentifier}

Parameter request :

 contractNumber as string
 contractQuoteNumber as string
 insuredItemIdentifier as string

Json response :

The insured item selection setted for a new business quote

[GET] Get the list of requested documents for a new business quote

Details

This API endpoint returns the list of requested documents for a new business quote

API endpoint :

/api/v1/policies/{contractNumber}/quotes/{contractQuoteNumber}/requesteddocuments

Json response :

Return the list of requested documents for a new business quote

[DELETE] Delete a requested document for a quote

Details

This API endpoint allows the deletion of the requested document file for a new business quote.

API endpoint :

/api/v1/policies/{quoteNumber}/requesteddocuments/{documentId}

Parameter request :

 quoteNumber as string
 documentId as string

Json response :

Response Class (Status 200)

[GET] Get details about the product

Details

This API endpoint gets information about the product version. The list of returned informations can be configured in Sunlight Enterprise API Interface.

API endpoint :

/api/v1/productversions/{productIdentifier}

Json response :

{
  "GetProductVersionResponse": {
    "DefaultBillingFrequency": "2",
    "BillingFrequency": "2",
    "ProductVersionName": "string"
  }
}