Products API

Fetch all products for a tenant

GET /products/["/{configVersion}" | ""]

ProductConfiguration2Response

{
  // Required
  name : string
  policyConfiguration : PolicyConfigurationResponse

  // Optional
  claimConfiguration : ClaimConfigurationResponse
  configVersion : integer
  premiumReportingConfiguration : [PremiumReportingConfigurationResponse]
}

PolicyConfigurationResponse

{
  // Required
  documents : [PolicyDocumentConfiguration]
  externalDataCalls : [FrontendExternalDataCallConfiguration]
  fields : [FieldConfiguration]
  paymentSchedules : [PaymentScheduleResponse]

  // Optional
  defaultPaymentTerms : PaymentTermsResponse
  externalRater : string
}

PolicyDocumentConfiguration

{
  // Required
  displayName : string
  fileName : string
  generatingEvent : string quote | accept | issue
  templateName : string
  type : string pdf | html
}

PolicyInvoicingConfiguration

{
  // Required
  generatingEvent : string quote | accept | issue
}

ExposureConfigurationResponse

{
  // Required
  displayName : string
  externalDataCalls : [FrontendExternalDataCallConfiguration]
  fields : [FieldConfiguration]
  name : string
}

FrontendExternalDataCallConfiguration

{
  // Required
  targetFields : [string]
  triggerField : string
}

FieldConfiguration

{
  // Required
  name : string
  order : integer
  title : string
  type : string

  // Optional
  condition : map<string,string>
  heading : string
  optional : boolean
}

Depending on the value of the type attribute, this will appear as one of the following subtypes:

DateFieldConfiguration

{
  // Required
  name : string
  order : integer
  precision : string year | month | day | second
  title : string

  // Optional
  condition : map<string,string>
  heading : string
  maximum : string
  maximumOffset : DateOffsetConfiguration
  minimum : string
  minimumOffset : DateOffsetConfiguration
  newline : boolean
  optional : boolean
  showCalendar : boolean
  width : integer
}

DateOffsetConfiguration

{
  // Required
  amount : integer
  field : string year | month | day | second

  // Optional
  roundToDay : boolean
}

EmailFieldConfiguration

{
  // Required
  name : string
  order : integer
  title : string

  // Optional
  condition : map<string,string>
  heading : string
  newline : boolean
  optional : boolean
  width : integer
}

GroupFieldConfiguration

{
  // Required
  fields : [FieldConfiguration]
  name : string
  order : integer
  title : string

  // Optional
  condition : map<string,string>
  heading : string
  maximum : integer
  newline : boolean
  optional : boolean
  repeatable : boolean
  width : integer
}

LookupFieldConfiguration

{
  // Required
  name : string
  order : integer
  table : string
  title : string

  // Optional
  condition : map<string,string>
  heading : string
  match : [string]
  newline : boolean
  optional : boolean
  public : boolean
  width : integer
}

MediaFieldConfiguration

{
  // Required
  name : string
  order : integer
  title : string

  // Optional
  condition : map<string,string>
  heading : string
  newline : boolean
  optional : boolean
  repeatable : boolean
  width : integer
}

NumberFieldConfiguration

{
  // Required
  name : string
  order : integer
  title : string

  // Optional
  condition : map<string,string>
  decimalPlaces : integer
  heading : string
  maximum : number
  minimum : number
  newline : boolean
  optional : boolean
  width : integer
}

SelectFieldConfiguration

{
  // Required
  name : string
  order : integer
  title : string
  values : [string]

  // Optional
  condition : map<string,string>
  heading : string
  newline : boolean
  optional : boolean
  repeatable : boolean
  width : integer
}

StringFieldConfiguration

{
  // Required
  name : string
  order : integer
  title : string

  // Optional
  condition : map<string,string>
  heading : string
  maximum : integer
  multiline : boolean
  newline : boolean
  optional : boolean
  regex : string
  width : integer
}

PerilConfigurationResponse

{
  // Required
  displayName : string
  externalDataCalls : [FrontendExternalDataCallConfiguration]
  fields : [FieldConfiguration]
  name : string

  // Optional
  deductible : number
  indemnityInAggregate : string
  indemnityPerEvent : string
  indemnityPerItem : string
  lumpSumPayment : number
}

TaxConfigurationResponse

{
  // Required
  displayName : string
  name : string
}

FeeConfigurationResponse

{
  // Required
  displayName : string
  name : string
}

EndorsementConfigurationResponse

{
  // Required
  displayName : string
  documents : [PolicyDocumentConfiguration]
  name : string
  reprice : string always | never | input | all
}

RenewalConfigurationResponse

{
  // Required
  documents : [PolicyDocumentConfiguration]
}

PaymentTermsResponse

{
  // Required
  amount : integer
  unit : string day
}

PaymentScheduleResponse

{
  // Required
  displayName : string
  name : string
  type : string total | custom | monthly | annually | semiannually | quarterly | every_two_weeks | every_week | 2Pay | 5Pay
}

CancellationConfigurationResponse

{
  // Optional
}

CancellationReasonConfigurationResponse

{
  // Required
  documents : [PolicyDocumentConfiguration]
  name : string
  title : string

  // Optional
}

ReinstatementConfigurationResponse

{
  // Required
  documents : [PolicyDocumentConfiguration]

  // Optional
  defaultDeadlineDays : integer
}

LapseConfigurationResponse

{
  // Required
  gracePeriodDays : integer
  reinstatementPeriodDays : integer
}

PremiumReportingConfigurationResponse

{
  // Required
  documents : [PolicyDocumentConfiguration]
  fields : [FieldConfiguration]
  id : string
  premiumReportingCalculationRevision : string
  productRevisionLocator : string
  reportName : string
  tenantLocator : string
}

ClaimConfigurationResponse

{
  // Required
  fields : [FieldConfiguration]

  // Optional
  subClaimConfiguration : SubClaimConfigurationResponse
}

SubClaimConfigurationResponse

{
  // Required
  fields : [FieldConfiguration]
}

ReminderConfigurationResponse

{
  // Required
  enabled : boolean
  from : string policy.end
  name : string
  offset : string
}

ProductScriptingConfig

{
  // Required
  createInstallments : ProductPluginConfig
  getPerilRates : ProductPluginConfig
  getProrationResult : ProductPluginConfig
  getUnderwritingResult : ProductPluginConfig
}

ProductPluginConfig

{
  // Required
  isEnabled : boolean
  path : string
  type : string echo | rater | underwriter | prorater | installments
}

ReminderOffset

These strings indicate a fixed duration of time using a subset of the ISO-8601 date format.

Examples of valid offsets are: "-1d" or "-7d" or "-30d" (for one/seven/thirty days before)

Such durations are subtracted from the occurrence described in the reminder’s "from" property.

For example, a reminder "-7d" from "policy.end" will fire one week before the policy ends.