Policy API¶
Create a policy¶
POST /policy
Request:
Name
Position
Type
Required
createRequest
body
required
Response:
Policy2Response
PolicyCreateRequest4¶
{// RequiredpolicyholderLocator : stringproductName : string// Optionalexposures : [ExposureCreateRequest]fieldGroups : [FieldGroupCreateRequest]fieldValues : map<string,[string]>finalize : booleanpaymentScheduleName : stringpolicyEndTimestamp : timestamppolicyStartTimestamp : timestamppremiumReportName : string}
Fetch a policy¶
GET /policy/{policyLocator}
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
Policy2Response
Update a policy application¶
POST /policy/{policyLocator}/update
Request:
Name
Position
Type
Required
policyLocator
path
string
required
updateRequest
body
required
Response:
Policy2Response
Policy2UpdateRequest¶
{// RequiredaddExposures : [ExposureCreateRequest]addFieldGroups : [FieldGroupCreateRequest]removeExposures : [string]removeFieldGroups : [string]updateExposures : [ExposureUpdateRequest]updateFieldGroups : [FieldGroupUpdateRequest]// OptionaleffectiveContractEndTimestamp : timestampeffectiveContractStartTimestamp : timestampfieldValues : map<string,[string]>finalize : booleanpaymentScheduleName : stringpolicyEndTimestamp : timestamppolicyStartTimestamp : timestamp}
Policy2Response¶
{// Requiredcharacteristics : [PolicyCharacteristicsResponse]createdTimestamp : timestampdisplayId : stringdocuments : [PolicyDocumentResponse]effectiveContractEndTimestamp : timestampexposures : [ExposureResponse]fees : [FeeResponse]grossFees : numbergrossFeesCurrency : stringinvoices : [PolicyInvoice2Response]locator : stringmodifications : [PolicyModificationResponse]originalContractEndTimestamp : timestamporiginalContractStartTimestamp : timestamppolicyholderLocator : stringproductLocator : stringproductName : stringupdatedTimestamp : timestamp// Optionalcancellation : CancellationInfoissuedTimestamp : timestamppaymentScheduleName : stringpremiumReportName : stringquoteSummary : QuoteSummaryResponse}
Finalize a policy¶
POST /policy/{policyLocator}/finalize
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
Policy2Response
Issue a policy¶
POST /policy/{policyLocator}/issue
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
Policy2Response
Cancel a policy¶
POST /policy/{policyLocator}/cancel
Request:
Name
Position
Type
Required
policyLocator
path
string
required
request
body
required
Response:
Policy2Response
Fetch a policy’s cancellation value¶
GET /policy/{policyLocator}/cancellationValue
Request:
Name
Position
Type
Required
coverageEndTimestamp
query
integer
required
policyLocator
path
string
required
Response:
CancellationValueResponse
CancellationValueResponse¶
{// RequiredbalanceAfterCancellation : numbercommissions : [CommissionChangeResponse]exposurePrices : [ExposurePriceChangeResponse]grossCommissionsChange : numbergrossFeesChange : numbergrossPremiumChange : numbergrossTaxesChange : numbernewGrossCommissions : numbernewGrossFees : numbernewGrossPremium : numbernewGrossTaxes : numbernewTotal : numbertaxGroups : [TaxChangeResponse]totalChange : numbervalue : number}
Withdraw a policy¶
POST /policy/{policyLocator}/withdraw
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
Policy2Response
Discard a policy¶
POST /policy/{policyLocator}/discard
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
void
Add a document to a policy¶
POST /policy/{policyLocator}/addDocument
Request:
Name
Position
Type
Required
displayName
query
string
required
document
formdata
file
required
documentType
query
string
required
policyLocator
path
string
required
Response:
Policy2Response
Upload a PDF or HTML file and add it to the documents attatched to the specified policy. This will not cause an endorsement or other policy transaction.
Remove a document from a policy¶
POST /policy/{policyLocator}/removeDocument
Request:
Name
Position
Type
Required
policyLocator
path
string
required
request
body
required
Response:
Policy2Response
Remove a user-uploaded document from a policy.
The policy must not be already issued.
Fetch a policy’s automated underwriting result¶
GET /policy/{policyLocator}/automatedUnderwritingResult
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
AutomatedUnderwritingResultResponse
AutomatedUnderwritingResultResponse¶
{// Requireddecision : string accept | reject | nonedecisionTimestamp : timestampnotes : [string]}
Fetch a policy’s invoices¶
GET /policy/{policyLocator}/checkInvoices
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
CheckInvoicesResponse
Issue the next invoice for a policy¶
POST /policy/{policyLocator}/issueNextInvoice
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
Policy2Response
Not recommended for use on live policies
This endpoint issues the next scheduled invoice for the policy (as visible from Check Invoices)
The invoice due date will be the same as if the invoice was issued automatically
CheckInvoicesResponse¶
{// RequiredfutureInvoices : [FutureInvoiceResponse]generatedInvoices : [GeneratedInvoiceResponse]}
FutureInvoiceResponse¶
{// RequiredendTimestamp : timestampfinancialTransactions : [FinancialTransactionResponse]issueTimestamp : timestampstartTimestamp : timestamp}
GeneratedInvoiceResponse¶
{// RequiredfinancialTransactions : [FinancialTransactionResponse]invoice : PolicyInvoice2Response}
FinancialTransactionResponse¶
{// Requiredamount : numberamountCurrency : stringendTimestamp : timestamppolicyModificationLocator : stringpostedTimestamp : timestampstartTimestamp : timestamptype : string premium | tax | fee | commission// OptionalcommissionRecipient : stringfeeLocator : stringfeeName : stringperilCharacteristicsLocator : stringperilName : stringtaxLocator : stringtaxName : string}
PolicyPriceChangeResponse¶
{// Requiredcommissions : [CommissionChangeResponse]exposurePrices : [ExposurePriceChangeResponse]fees : [FeeChangeResponse]grossCommissionsChange : numbergrossFeesChange : numbergrossPremiumChange : numbergrossTaxesChange : numbernewGrossCommissions : numbernewGrossFees : numbernewGrossPremium : numbernewGrossTaxes : numbernewTotal : numbertaxGroups : [TaxChangeResponse]totalChange : number}
ExposurePriceChangeResponse¶
{// Requiredcommissions : [CommissionChangeResponse]grossCommissionsChange : numbergrossPremiumChange : numbergrossTaxesChange : numbername : stringnewGrossCommissions : numbernewGrossPremium : numbernewGrossTaxes : numberperilPrices : [PerilPriceChangeResponse]taxGroups : [TaxChangeResponse]// Optionallocator : string}
PerilPriceChangeResponse¶
{// Requiredcommissions : [CommissionChangeResponse]grossCommissionsChange : numbergrossPremiumChange : numbergrossTaxesChange : numbername : stringnewGrossCommissions : numbernewGrossPremium : numbernewGrossTaxes : numbertaxes : [TaxChangeResponse]// Optionallocator : string}
CommissionChangeResponse¶
{// RequiredamountChange : numbernewAmount : numberrecipient : string}
FeeChangeResponse¶
{// RequiredamountChange : numbername : stringnewAmount : number// Optionallocator : string}
Fetch a policy’s pricing data¶
GET /policy/{policyLocator}/price
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
GetPolicyPriceResponse
Price a policy¶
POST /policy/{policyLocator}/price
Request:
Name
Position
Type
Required
policyLocator
path
string
required
Response:
PolicyPriceResponse
GetPolicyPriceResponse¶
{// Requiredcommissions : [CommissionResponse]exposurePrices : [GetExposurePriceResponse]fees : [FeeResponse]grossCommissions : numbergrossCommissionsCurrency : stringgrossFees : numbergrossFeesCurrency : stringgrossPremium : numbergrossPremiumCurrency : stringgrossTaxes : numbergrossTaxesCurrency : stringgrossTechnicalPremiumCurrency : stringtaxGroups : [TaxGroupResponse]total : numbertotalCurrency : string// OptionalgrossTechnicalPremium : number}
GetExposurePriceResponse¶
{// Requiredcommissions : [CommissionResponse]grossCommissions : numbergrossCommissionsCurrency : stringgrossPremium : numbergrossPremiumCurrency : stringgrossTaxes : numbergrossTaxesCurrency : stringgrossTechnicalPremiumCurrency : stringlocator : stringname : stringperilPrices : [GetPerilPriceResponse]taxGroups : [TaxGroupResponse]total : numbertotalCurrency : string// OptionalgrossTechnicalPremium : number}
GetPerilPriceResponse¶
{// Requiredcommissions : [CommissionResponse]grossCommissions : numbergrossCommissionsCurrency : stringgrossTaxes : numbergrossTaxesCurrency : stringlocator : stringname : stringpremium : numberpremiumCurrency : stringtaxes : [TaxGroupResponse]technicalPremiumCurrency : stringtotal : numbertotalCurrency : string// OptionaltechnicalPremium : number}
PolicyInvoice2Response¶
{// RequiredcreatedTimestamp : timestampdisplayId : stringdocuments : [PolicyDocumentResponse]dueTimestamp : timestampendTimestamp : timestamplocator : stringpayments : [PaymentResponse2]policyLocator : stringsettlementStatus : string outstanding | settledstartTimestamp : timestampstatuses : [PolicyInvoice2StatusAndTimeResponse]totalDue : numbertotalDueCurrency : stringupdatedTimestamp : timestamp// OptionalpolicyModificationLocator : stringpremiumReportName : stringsettlementType : string paid | writtenOff | zeroDue | invalidated}
ExposureCreateRequest¶
{// RequiredexposureName : string// OptionalfieldGroups : [FieldGroupCreateRequest]fieldValues : map<string,[string]>perils : [PerilCreateRequest]}
PolicyCharacteristicsResponse¶
{// RequiredcreatedTimestamp : timestampendTimestamp : timestampfieldGroupsByLocator : map<string,map<string,[string]>>fieldValues : map<string,[string]>grossPremiumCurrency : stringgrossTaxesCurrency : stringlocator : stringmediaByLocator : map<string,Media>policyEndTimestamp : timestamp (deprecated)policyholderLocator : stringpolicyLocator : stringpolicyStartTimestamp : timestamp (deprecated)productLocator : stringstartTimestamp : timestamptaxGroups : [TaxGroupResponse]updatedTimestamp : timestamp// OptionalgrossPremium : numbergrossTaxes : numberissuedTimestamp : timestampreplacedTimestamp : timestamp}
FeeResponse¶
{// Requiredamount : numberamountCurrency : stringdescription : stringlocator : stringname : string}
PolicyDocumentResponse¶
{// RequireddisplayName : stringfileName : stringlocator : stringtype : string pdf | htmlurl : stringurlExpirationTimestamp : timestamp// OptionalcreatedTimestamp : timestamppolicyModificationLocator : string}
PolicyModificationResponse¶
{// RequiredcreatedTimestamp : timestampdisplayId : stringexposureModifications : [ExposureModificationResponse]fieldGroupsByLocator : map<string,map<string,[string]>>fieldValues : map<string,[string]>locator : stringmediaByLocator : map<string,Media>name : stringnewPolicyCharacteristicsLocators : [string]number : integerpolicyholderLocator : stringpolicyLocator : stringpremiumChangeCurrency : stringproductLocator : stringupdatedTimestamp : timestamp// OptionalautomatedUnderwritingResult : AutomatedUnderwritingResultResponseeffectiveTimestamp : timestampendorsementLocator : stringissuedTimestamp : timestampnewPolicyCharacteristicsLocator : stringpremiumChange : numberrenewalLocator : string}
ExposureResponse¶
{// Requiredcharacteristics : [ExposureCharacteristicsResponse]createdTimestamp : timestampdisplayId : stringlocator : stringname : stringperils : [PerilResponse]policyholderLocator : stringpolicyLocator : stringproductLocator : stringupdatedTimestamp : timestamp}
PolicyPriceResponse¶
{// Requiredcommissions : [CommissionResponse]exposurePrices : [GetExposurePriceResponse]fees : [FeeResponse]grossCommissions : numbergrossCommissionsCurrency : stringgrossFees : numbergrossFeesCurrency : stringgrossPremium : numbergrossPremiumCurrency : stringgrossTaxes : numbergrossTaxesCurrency : stringgrossTechnicalPremiumCurrency : stringpremiumsByExposureLocator : map<string,number>premiumsByPerilLocator : map<string,number>taxGroups : [TaxGroupResponse]totalDue : numbertotalDueCurrency : string// OptionalgrossTechnicalPremium : number}
PolicyInvoice2StatusAndTimeResponse¶
{// Requiredstatus : string unfulfilled | paid | writtenOff | zeroDue | invalidatedtimestamp : timestamp}
PerilCreateRequest¶
{// Requiredname : string// Optionaldeductible : numberfieldGroups : [FieldGroupCreateRequest]fieldValues : map<string,[string]>indemnityInAggregate : stringindemnityPerEvent : stringindemnityPerItem : stringlocator : stringlumpSumPayment : number}
ExposureModificationResponse¶
{// RequiredexposureLocator : stringlocator : stringperilModifications : [PerilModificationResponse]policyholderLocator : stringpolicyLocator : stringpolicyModificationLocator : stringproductLocator : string// OptionalnewExposureCharacteristicsLocator : string}
ExposureCharacteristicsResponse¶
{// RequiredcreatedTimestamp : timestampendTimestamp : timestampexposureLocator : stringfieldGroupsByLocator : map<string,map<string,[string]>>fieldValues : map<string,[string]>locator : stringmediaByLocator : map<string,Media>policyholderLocator : stringpolicyLocator : stringproductLocator : stringstartTimestamp : timestampupdatedTimestamp : timestamp// OptionalissuedTimestamp : timestampreplacedTimestamp : timestamp}
PerilResponse¶
{// Requiredcharacteristics : [PerilCharacteristicsResponse]createdTimestamp : timestampdisplayId : stringexposureLocator : stringlocator : stringname : stringpolicyholderLocator : stringpolicyLocator : stringproductLocator : stringrenewalGroup : stringupdatedTimestamp : timestamp}
PerilModificationResponse¶
{// RequiredexposureModificationLocator : stringlocator : stringperilLocator : stringpolicyholderLocator : stringpolicyLocator : stringpremiumChangeCurrency : stringproductLocator : string// OptionalnewPerilCharacteristicsLocator : stringpremiumChange : numberreplacedPerilCharacteristicsLocator : string}
PerilCharacteristicsResponse¶
{// RequiredcoverageEndTimestamp : timestampcoverageStartTimestamp : timestampcreatedTimestamp : timestampdeductibleCurrency : stringexposureCharacteristicsLocator : stringfieldGroupsByLocator : map<string,map<string,[string]>>fieldValues : map<string,[string]>indemnityInAggregateCurrency : stringindemnityPerEventCurrency : stringindemnityPerItemCurrency : stringlocator : stringlumpSumPaymentCurrency : stringmediaByLocator : map<string,Media>perilLocator : stringpolicyCharacteristicsLocator : stringpolicyholderLocator : stringpolicyLocator : stringpolicyModificationLocator : stringpremiumCurrency : stringproductLocator : stringupdatedTimestamp : timestamp// Optionaldeductible : numberindemnityInAggregate : stringindemnityPerEvent : stringindemnityPerItem : stringissuedTimestamp : timestamplumpSumPayment : numbermonthPremium : numberpremium : numberreplacedTimestamp : timestamptechnicalPremium : number}
CancellationInfo¶
{// RequiredeffectiveTimestamp : timestampmodificationLocator : stringmodificationName : string}
ExposureUpdateRequest¶
{// RequiredaddFieldGroups : [FieldGroupCreateRequest]addPerils : [PerilCreateRequest]exposureLocator : stringremoveFieldGroups : [string]removePerils : [string]updateFieldGroups : [FieldGroupUpdateRequest]updatePerils : [PerilUpdateRequest]// OptionalfieldValues : map<string,[string]>}
FieldGroupCreateRequest¶
{// RequiredfieldName : string// OptionalfieldValues : map<string,[string]>}
FieldGroupUpdateRequest¶
{// RequiredfieldGroupLocator : stringfieldName : stringfieldValues : map<string,[string]>}
PerilUpdateRequest¶
{// RequiredaddFieldGroups : [FieldGroupCreateRequest]fieldValues : map<string,[string]>perilLocator : stringremoveFieldGroups : [string]updateFieldGroups : [FieldGroupUpdateRequest]// Optionaldeductible : numberindemnityInAggregate : stringindemnityPerEvent : stringindemnityPerItem : stringlumpSumPayment : numberremoveDeductible : booleanremoveIndemnityInAggregate : booleanremoveIndemnityPerEvent : booleanremoveIndemnityPerItem : booleanremoveLumpSumPayment : boolean}