Policy API
Endpoint Index
| Action | Endpoint |
|---|---|
| Create a policy | POST /policy |
| Fetch a policy | GET /policy/{policyLocator} |
| Update a draft policy | POST /policy/{policyLocator}/update |
| Finalize a policy | POST /policy/{policyLocator}/finalize |
| Issue a policy | POST /policy/{policyLocator}/issue |
| Cancel a policy | POST /policy/{policyLocator}/cancel |
| Discard a policy | POST /policy/{policyLocator}/discard |
| Add a document to a policy | POST /policy/{policyLocator}/addDocument |
| Remove a document from a policy | POST /policy/{policyLocator}/removeDocument |
| Fetch a policy's automated underwriting result | GET /policy/{policyLocator}/automatedUnderwritingResult |
| Add or remove fees from a Policy | PATCH /policy/{policyLocator}/fees |
| Fetch a policy's pricing data | GET /policy/{policyLocator}/price |
| Price a policy | POST /policy/{policyLocator}/price |
| Fetch a policy's invoices | GET /policy/{policyLocator}/checkInvoices |
| Issue the next invoice for a policy | POST /policy/{policyLocator}/issueNextInvoice |
| Fetch a Policy Snapshot | POST /policies/{policyLocator}/snapshot |
| Fetch a Policy Coverage Summary | POST /policies/{policyLocator}/coverageSummary |
| Fetch a policy's cancellation value | GET /policy/{policyLocator}/cancellationValue |
| Withdraw a policy | POST /policy/{policyLocator}/withdraw |
Basic Operations
POST /policy| Name | Position | Type | Required |
|---|---|---|---|
| createRequest | body | PolicyCreateRequest | required |
| summarizeQuotes | query | boolean | optional |
PolicyResponserequiredpolicyholderLocator stringproductName stringoptionalpolicyEndTimestamp timestamppolicyStartTimestamp timestampexposures [ExposureCreateRequest]fieldValues map<string,[string]>fieldGroups [FieldGroupCreateRequest]finalize booleanpaymentScheduleName stringpremiumReportName stringconfigVersion integer
requiredlocator stringpolicyholderLocator stringproductLocator stringproductName stringcreatedTimestamp timestampupdatedTimestamp timestamporiginalContractStartTimestamp timestamporiginalContractEndTimestamp timestampeffectiveContractEndTimestamp timestampcharacteristics [PolicyCharacteristicsResponse]modifications [PolicyModificationResponse]exposures [ExposureResponse]documents [PolicyDocumentResponse]invoices [PolicyInvoiceResponse]grossFees numberfees [FeeResponse]grossFeesCurrency stringconfigVersion integerdisplayId string (deprecated)optionalissuedTimestamp timestampcancellation CancellationInfopaymentScheduleName stringpremiumReportName stringquoteSummary QuoteSummaryResponse
Note
When calling
POST /policyandGET /policy, by default thequoteSummarywill remain unpopulated in the response for performance reasons. To include a quote summary, set the query parametersummarizeQuotes=true.The field
displayIdis deprecated. Uselocatorinstead.
Important
The default for policies on create or update for finalization is finalize = true. To prevent immediate finalization and immutability, set finalize = false.
GET /policy/{policyLocator}| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| summarizeQuotes | query | boolean | optional |
PolicyResponsePOST /policy/{policyLocator}/update| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| updateRequest | body | PolicyUpdateRequest | required |
PolicyResponserequiredaddFieldGroups [FieldGroupCreateRequest]updateFieldGroups [FieldGroupUpdateRequest]removeFieldGroups [string]addExposures [ExposureCreateRequest]updateExposures [DraftPolicyExposureUpdateRequest]removeExposures [string]optionaleffectiveContractEndTimestamp timestampeffectiveContractStartTimestamp timestamppolicyEndTimestamp timestamppolicyStartTimestamp timestampfieldValues map<string,[string]>finalize booleanpaymentScheduleName string
POST /policy/{policyLocator}/finalize| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
PolicyResponsePOST /policy/{policyLocator}/issue| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
PolicyResponsePOST /policy/{policyLocator}/cancel| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| request | body | PolicyCancellationIssueRequest | required |
PolicyResponserequiredvalue numberbalanceAfterCancellation numbergrossCommissionsChange numbergrossFeesChange numbergrossPremiumChange numbergrossTaxesChange numbernewGrossCommissions numbernewGrossFees numbernewGrossPremium numbernewGrossTaxes numbernewTotal numbertotalChange numbercommissions [CommissionChangeResponse]exposurePrices [ExposurePriceChangeResponse]taxGroups [TaxChangeResponse]
POST /policy/{policyLocator}/discard| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
voidExposures
requiredexposureName stringoptionalperils [PerilCreateRequest]fieldValues map<string,[string]>fieldGroups [FieldGroupCreateRequest]
requiredaddFieldGroups [FieldGroupCreateRequest]updateFieldGroups [FieldGroupUpdateRequest]removeFieldGroups [string]addPerils [PerilCreateRequest]updatePerils [PerilUpdateRequest]exposureLocator stringremovePerils [string]optionalfieldValues map<string,[string]>
requiredlocator stringname stringdisplayId stringpolicyholderLocator stringpolicyLocator stringproductLocator stringcreatedTimestamp timestampupdatedTimestamp timestampcharacteristics [ExposureCharacteristicsResponse]perils [PerilResponse]
Perils
requiredname stringoptionallocator stringfieldValues map<string,[string]>deductible numberlumpSumPayment numberfieldGroups [FieldGroupCreateRequest]indemnityInAggregate stringindemnityPerEvent stringindemnityPerItem string
requiredfieldValues map<string,[string]>addFieldGroups [FieldGroupCreateRequest]updateFieldGroups [FieldGroupUpdateRequest]removeFieldGroups [string]perilLocator stringoptionaldeductible numberlumpSumPayment numberindemnityInAggregate stringindemnityPerEvent stringindemnityPerItem stringremoveDeductible booleanremoveIndemnityInAggregate booleanremoveIndemnityPerEvent booleanremoveIndemnityPerItem booleanremoveLumpSumPayment boolean
requiredlocator stringname stringdisplayId stringpolicyholderLocator stringpolicyLocator stringproductLocator stringcreatedTimestamp timestampupdatedTimestamp timestampcharacteristics [PerilCharacteristicsResponse]exposureLocator stringrenewalGroup string
Characteristics
requiredlocator stringpolicyholderLocator stringpolicyLocator stringproductLocator stringcreatedTimestamp timestampupdatedTimestamp timestampstartTimestamp timestampendTimestamp timestamppolicyEndTimestamp timestamppolicyStartTimestamp timestampfieldValues map<string,[string]>fieldGroupsByLocator map<string,map<string,[string]>>grossPremiumCurrency stringgrossTaxesCurrency stringmediaByLocator map<string,Media>taxGroups [TaxGroupResponse]optionalissuedTimestamp timestampreplacedTimestamp timestampgrossPremium numbergrossTaxes number
requiredlocator stringpolicyholderLocator stringpolicyLocator stringproductLocator stringcreatedTimestamp timestampupdatedTimestamp timestampstartTimestamp timestampendTimestamp timestampfieldValues map<string,[string]>exposureLocator stringfieldGroupsByLocator map<string,map<string,[string]>>mediaByLocator map<string,Media>optionalissuedTimestamp timestampreplacedTimestamp timestamp
requiredlocator stringpolicyholderLocator stringpolicyLocator stringproductLocator stringpolicyCharacteristicsLocator stringexposureCharacteristicsLocator stringcreatedTimestamp timestampupdatedTimestamp timestampcoverageStartTimestamp timestampcoverageEndTimestamp timestampfieldValues map<string,[string]>deductibleCurrency stringfieldGroupsByLocator map<string,map<string,[string]>>indemnityInAggregateCurrency stringindemnityPerEventCurrency stringindemnityPerItemCurrency stringlumpSumPaymentCurrency stringmediaByLocator map<string,Media>perilLocator stringpolicyModificationLocator stringpremiumCurrency stringoptionalissuedTimestamp timestampreplacedTimestamp timestampdeductible numberlumpSumPayment numbermonthPremium numbermonthTechnicalPremium numberpremium numbertechnicalPremium numberindemnityInAggregate stringindemnityPerEvent stringindemnityPerItem string
Modifications
requiredlocator stringname stringdisplayId stringpolicyholderLocator stringpolicyLocator stringproductLocator stringcreatedTimestamp timestampupdatedTimestamp timestampexposureModifications [ExposureModificationResponse]mediaByLocator map<string,Media>newPolicyCharacteristicsLocators [string]number integerpremiumChangeCurrency stringfieldGroupsByLocator map<string,map<string,[string]>> (deprecated)fieldValues map<string,[string]> (deprecated)optionalissuedTimestamp timestampeffectiveTimestamp timestamppolicyEndTimestamp timestamppremiumChange numberautomatedUnderwritingResult AutomatedUnderwritingResultResponsecancellationName stringendorsementLocator stringnewPolicyCharacteristicsLocator stringrenewalLocator stringconfigVersion integer (deprecated)
requiredlocator stringpolicyholderLocator stringpolicyLocator stringproductLocator stringexposureLocator stringperilModifications [PerilModificationResponse]policyModificationLocator stringoptionalnewExposureCharacteristicsLocator string
requiredlocator stringpolicyholderLocator stringpolicyLocator stringproductLocator stringexposureModificationLocator stringperilLocator stringpremiumChangeCurrency stringoptionalpremiumChange numbernewPerilCharacteristicsLocator stringreplacedPerilCharacteristicsLocator string
Field Groups
requiredfieldName stringoptionalfieldValues map<string,[string]>
requiredfieldGroupLocator stringfieldName stringfieldValues map<string,[string]>
Documents
POST /policy/{policyLocator}/addDocument| Name | Position | Type | Required |
|---|---|---|---|
| displayName | query | string | required |
| document | formdata | file | required |
| documentType | query | string | required |
| policyLocator | path | string | required |
PolicyResponseUpload 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.
POST /policy/{policyLocator}/removeDocument| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| request | body | PolicyDocumentRemoveRequest | required |
PolicyResponse
Remove a user-uploaded document from a policy.
The policy must not be already issued.
requiredlocator stringdisplayName stringfileName stringtype string pdf | htmloptionalcreatedTimestamp timestampurlExpirationTimestamp timestamppolicyModificationLocator stringurl string
requireddocumentLocator string
Underwriting
GET /policy/{policyLocator}/automatedUnderwritingResult| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
AutomatedUnderwritingResultResponserequireddecisionTimestamp timestampdecision string accept | reject | nonenotes [string]
Fees
PATCH /policy/{policyLocator}/fees| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| req | body | FeeUpdateRequest | required |
PolicyFeeSummaryResponserequiredstartTimestamp timestampendTimestamp timestampamount numberfeeName stringoptionaldescription string
requirednewFees [FeeCreateRequest]reverseFees [string]
requiredlocator stringname stringstartTimestamp timestampendTimestamp timestampamount numberamountCurrency stringdescription stringreversed boolean
requiredfees [FeeResponse]
Pricing
GET /policy/{policyLocator}/price| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
GetPolicyPriceResponsePOST /policy/{policyLocator}/price| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
PolicyPriceResponserequiredgrossCommissions numbergrossFees numbergrossPremium numbergrossTaxes numberpremiumsByExposureLocator map<string,number>premiumsByPerilLocator map<string,number>totalDue numbercommissions [CommissionResponse]exposurePrices [GetExposurePriceResponse]fees [FeeResponse]grossCommissionsCurrency stringgrossFeesCurrency stringgrossPremiumCurrency stringgrossTaxesCurrency stringgrossTechnicalPremiumCurrency stringholdbacks [HoldbackResponse]taxGroups [TaxGroupResponse]totalDueCurrency stringoptionalgrossTechnicalPremium number
requiredgrossCommissions numbergrossFees numbergrossPremium numbergrossTaxes numbertotal numbercommissions [CommissionResponse]exposurePrices [GetExposurePriceResponse]fees [FeeResponse]grossCommissionsCurrency stringgrossFeesCurrency stringgrossPremiumCurrency stringgrossTaxesCurrency stringgrossTechnicalPremiumCurrency stringholdbacks [HoldbackResponse]taxGroups [TaxGroupResponse]totalCurrency stringoptionalgrossTechnicalPremium number
requiredlocator stringname stringgrossCommissions numbergrossPremium numbergrossTaxes numbertotal numbercommissions [CommissionResponse]grossCommissionsCurrency stringgrossPremiumCurrency stringgrossTaxesCurrency stringgrossTechnicalPremiumCurrency stringperilPrices [GetPerilPriceResponse]taxGroups [TaxGroupResponse]totalCurrency stringoptionalgrossTechnicalPremium number
requiredlocator stringname stringgrossCommissions numbergrossTaxes numberpremium numbertotal numbercommissions [CommissionResponse]grossCommissionsCurrency stringgrossTaxesCurrency stringpremiumCurrency stringtaxes [TaxGroupResponse]technicalPremiumCurrency stringtotalCurrency stringoptionaltechnicalPremium number
requiredamount numberamountCurrency stringrecipient string
requiredname stringamount numberamountCurrency string
requiredgrossCommissionsChange numbergrossFeesChange numbergrossPremiumChange numbergrossTaxesChange numbernewGrossCommissions numbernewGrossFees numbernewGrossPremium numbernewGrossTaxes numbernewTotal numbertotalChange numbercommissions [CommissionChangeResponse]exposurePrices [ExposurePriceChangeResponse]fees [FeeChangeResponse]holdbacks [HoldbackResponse]taxGroups [TaxChangeResponse]
requiredname stringgrossCommissionsChange numbergrossPremiumChange numbergrossTaxesChange numbernewGrossCommissions numbernewGrossPremium numbernewGrossTaxes numbercommissions [CommissionChangeResponse]perilPrices [PerilPriceChangeResponse]taxGroups [TaxChangeResponse]optionallocator string
requiredname stringgrossCommissionsChange numbergrossPremiumChange numbergrossTaxesChange numbernewGrossCommissions numbernewGrossPremium numbernewGrossTaxes numbercommissions [CommissionChangeResponse]taxes [TaxChangeResponse]optionallocator string
requiredname stringchange numbernewAmount number
requiredamountChange numbernewAmount numberrecipient string
requiredname stringamountChange numbernewAmount numberoptionallocator string
requiredlocator stringcancellationLocator stringamount numberisReversed booleantype string premium | tax | fee | commission | holdbackoptionalperilName stringperilCharacteristicsLocator stringcommissionRecipient stringfeeLocator stringfeeName stringholdbackMetadata stringtaxLocator stringtaxName string
Invoicing and Financial Transactions
GET /policy/{policyLocator}/checkInvoices| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
CheckInvoicesResponsePOST /policy/{policyLocator}/issueNextInvoice| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
PolicyResponse
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
Warning
The issue next invoice endpoint is not recommended for production policies.
requiredfutureInvoices [FutureInvoiceResponse]generatedInvoices [GeneratedInvoiceResponse]
requiredissueTimestamp timestampstartTimestamp timestampendTimestamp timestampfinancialTransactions [FinancialTransactionResponse]optionaldueTimestamp timestampwriteOff boolean
requiredfinancialTransactions [FinancialTransactionResponse]invoice PolicyInvoiceResponse
requiredlocator stringdisplayId stringpolicyLocator stringcreatedTimestamp timestampupdatedTimestamp timestampdueTimestamp timestampstartTimestamp timestampendTimestamp timestampdocuments [PolicyDocumentResponse]totalDue numberpayments [PaymentResponse]settlementStatus string outstanding | settledstatuses [PolicyInvoiceStatusAndTimeResponse]totalDueCurrency stringoptionalpolicyModificationLocator stringpremiumReportName stringsettlementType string paid | writtenOff | zeroDue | invalidated | carriedForward
requiredstartTimestamp timestampendTimestamp timestamppostedTimestamp timestampamount numberamountCurrency stringpolicyModificationLocator stringtype string premium | tax | fee | commission | holdbackoptionalperilName stringperilCharacteristicsLocator stringcommissionLocator stringcommissionRecipient stringfeeLocator stringfeeName stringholdbackLocator stringtaxLocator stringtaxName string
requiredtimestamp timestampstatus string unfulfilled | paid | writtenOff | zeroDue | invalidated | carriedForward
Snapshots and Coverage Summaries
Note
See Policy Snapshots and Coverage Summaries for details on using these endpoints.
POST /policies/{policyLocator}/snapshot| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| request | body | PolicySnapshotRequest | required |
PolicySnapshotResponserequiredsnapshotTimestamp timestamp
The snapshotTimestamp indicates the time at which you want the snapshot to be based. Policy transactions that were issued after this time will not be reflected in the response.
requiredlocator stringpolicyholderLocator stringproductName stringsnapshotTimestamp timestampcharacteristics [PolicyCharacteristicsResponse]exposures [ExposureSnapshotResponse]
requiredlocator stringname stringcharacteristics [ExposureCharacteristicsResponse]perils [PerilSnapshotResponse]
requiredlocator stringname stringcharacteristics [PerilCharacteristicsResponse]renewalGroup string
POST /policies/{policyLocator}/coverageSummary| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
| request | body | CoverageSummaryRequest | required |
PolicyCoverageSummaryResponserequiredcoverageReferenceTimestamp timestampoptionalpolicyHistoryTimestamp timestamp
requiredlocator stringpolicyholderLocator stringproductName stringcoverageReferenceTimestamp timestamppolicyHistoryTimestamp timestampexposures [ExposureCoverageSummaryResponse]documents [PolicyDocumentResponse]optionalcharacteristics PolicyCharacteristicsResponse
requiredlocator stringname stringcharacteristics ExposureCharacteristicsResponseperils [PerilCoverageSummaryResponse]
requiredlocator stringname stringcharacteristics PerilCharacteristicsResponserenewalGroup string
Legacy Endpoints
requiredcoverageEndTimestamp timestamp
requiredeffectiveTimestamp timestampmodificationLocator stringmodificationName string
GET /policy/{policyLocator}/cancellationValue| Name | Position | Type | Required |
|---|---|---|---|
| coverageEndTimestamp | query | timestamp | required |
| policyLocator | path | string | required |
CancellationValueResponsePOST /policy/{policyLocator}/withdraw| Name | Position | Type | Required |
|---|---|---|---|
| policyLocator | path | string | required |
PolicyResponse