Premium Reporting API

Note

See the Premium Reporting feature topic for details about how to use this API.

Create a premium report

POST /policies/{policyLocator}/premiumReports

Fetch a premium report

GET /premiumReports/{premiumReportLocator}

Fetch all premium reports for a policy

GET /policies/{policyLocator}/premiumReports

Update a draft premium report

PATCH /premiumReports/{premiumReportLocator}

Issue a premium report

PATCH /premiumReports/{premiumReportLocator}/issue

Discard a premium report

PATCH /premiumReports/{premiumReportLocator}/discard
  • Request:

    Name

    Position

    Type

    Required

    premiumReportLocator

    path

    string

    required

  • Response:void

PremiumReportCreateRequest

{
  // Required
  endTimestamp : timestamp
  fieldGroups : [FieldGroupCreateRequest]
  fieldValues : map<string,[string]>

  // Optional
  invoiceDueTimestamp : timestamp
  issue : boolean
}

PremiumReportUpdateRequest

{
  // Optional
  endTimestamp : timestamp
  fieldGroups : [FieldGroupCreateRequest]
  fieldValues : map<string,[string]>
  invoiceDueTimestamp : timestamp
}

PremiumReportResponse

{
  // Required
  commissions : [CommissionResponse]
  configVersion : integer
  createdTimestamp : timestamp
  displayId : string
  endTimestamp : timestamp
  fees : [FeeResponse]
  fieldErrors : FieldErrors
  fieldGroupsByLocator : map<string,map<string,[string]>>
  fieldValues : map<string,[string]>
  grossCommissions : number
  grossFees : number
  grossPremium : number
  grossTaxes : number
  invoiceDueTimestamp : timestamp
  issuedTimestamp : timestamp
  locator : string
  policyLocator : string
  startTimestamp : timestamp
  state : string draft | discarded | issued | revised | reversed
  taxGroups : [TaxGroupResponse]
  updatedTimestamp : timestamp

  // Optional
}

PremiumReportPremiumResponse

{
  // Required
  category : string
  premium : number
}

PremiumReportingInvoiceResponse

{
  // Required
  createdTimestamp : timestamp
  displayId : string
  dueTimestamp : timestamp
  endTimestamp : timestamp
  locator : string
  policyholderLocator : string
  policyLocator : string
  premiumReportLocator : string
  premiumReportName : string
  settlementStatus : string outstanding | settled
  startTimestamp : timestamp
  totalDue : number
  totalDueCurrency : string
  updatedTimestamp : timestamp

  // Optional
  settlementType : string paid | writtenOff | zeroDue | invalidated | carriedForward
}

PremiumReportingDocumentResponse

{
  // Required
  displayName : string
  fileName : string
  locator : string
  premiumReportLocator : string
  type : string pdf | html
  url : string
  urlExpirationTimestamp : timestamp

  // Optional
  createdTimestamp : timestamp
}

PremiumReportingPaymentResponse

{
  // Required
  amount : number
  amountCurrency : string
  displayId : string
  fieldValues : map<string,[string]>
  invoiceLocator : string
  locator : string
  mediaByLocator : map<string,Media>
  policyholderLocator : string
  postedTimestamp : timestamp
  tenantLocator : string

  // Optional
  reversedTimestamp : timestamp
}

PremiumReportingInvoiceStatusAndTimeResponse

{
  // Required
  status : string unfulfilled | paid | writtenOff | zeroDue | invalidated | carriedForward
  timestamp : timestamp
}

FieldErrors

{
  // Required
  errors : [ValidationFieldError2]
  fieldGroupErrors : [FieldGroupErrors]
  hasErrors : boolean

  // Optional
  errorMessage : string
}

FieldGroupErrors

{
  // Required
  errors : [ValidationFieldError2]
  fieldName : string

  // Optional
  index : integer
  locator : string
}

ValidationFieldError2

{
  // Required
  code : string MISSING | INVALID_FIELD | INVALID_TYPE | INVALID_VALUE
  fieldName : string

  // Optional
  message : string
}