openapi: 3.0.4
info:
title: Pie Insurance Quote Api
version: v1
servers:
- url: https://api.post-prod.pieinsurance.com/api/v1
paths:
/ClassCodeSearch:
post:
tags:
- ClassCodeSearch
summary: ''
requestBody:
description: ClassCodeSearchRequest
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example:
state: CO
searchTerm: janitor
businessName: Subway
application/json:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example:
state: CO
searchTerm: janitor
businessName: Subway
text/json:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example:
state: CO
searchTerm: janitor
businessName: Subway
application/*+json:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example:
state: CO
searchTerm: janitor
businessName: Subway
application/xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example: "\n CO\n janitor\n Subway\n"
text/xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example: "\n CO\n janitor\n Subway\n"
application/*+xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchRequest'
example: "\n CO\n janitor\n Subway\n"
responses:
'500':
description: Internal error, would like be legitimate error that we should fix
'501':
description: Not Implemented
'502':
description: Bad Gateway - usually a startup/load balance issue
'503':
description: Service unavailable - usually a startup/deploy issue
'504':
description: Gateway timeout - usually a startup/load balance issue
'505':
description: HTTP Version Not Supported
'200':
description: Ok - List of matches
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
text/xml:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
'400':
description: Bad request - usually malformed message or header
content:
text/plain:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
application/json:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
text/json:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
application/xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
text/xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
'404':
description: Could not find any matches.
content:
text/plain:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'415':
description: Unsupported Media Type
security:
- bearer: []
/Eligibility/questions:
post:
tags:
- Eligibility
summary: Returns agency's states class code latest eligibility questions
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClassCodeQuestionsRequest'
example:
stateClassCodes:
- CO:
- '9083'
- '0005'
responses:
'500':
description: Internal error, would like be legitimate error that we should fix
'501':
description: Not Implemented
'502':
description: Bad Gateway - usually a startup/load balance issue
'503':
description: Service unavailable - usually a startup/deploy issue
'504':
description: Gateway timeout - usually a startup/load balance issue
'505':
description: HTTP Version Not Supported
'200':
description: Returns State Code Questions array
content:
application/json:
schema:
$ref: '#/components/schemas/ClassCodeQuestionsResponse'
example:
questionsByStateAndClassCodes:
CO:
'8810':
- id: 00000000-0000-0000-0000-000000000000
type: boolean
questionContent: Do employees work from home under normal circumstances
answersWithDeclineIndication:
'Yes':
subQuestionsId:
- 00000000-0000-0000-0000-000000000000
'No':
decisionStatus: Quotable
- id: 00000000-0000-0000-0000-000000000000
type: range
questionUnit: percent
questionContent: What percentage of employees work from home under normal circumstances?
isSubQuestion: true
answersWithDeclineIndication:
0-50:
decisionStatus: Quotable
50-90:
decisionStatus: Refer
90-max:
decisionStatus: Decline
- id: 00000000-0000-0000-0000-000000000000
type: text
questionContent: What safety devices do the insured's employees use when lifting?
answersWithDeclineIndication:
text:
decisionStatus: Quotable
DC:
'9010':
- id: 00000000-0000-0000-0000-000000000000
type: boolean
questionContent: Do employees work from home under normal circumstances
answersWithDeclineIndication:
'Yes':
subQuestionsId:
- 00000000-0000-0000-0000-000000000000
'No':
decisionStatus: Quotable
- id: 00000000-0000-0000-0000-000000000000
type: range
questionUnit: percent
questionContent: What percentage of employees work from home under normal circumstances?
isSubQuestion: true
answersWithDeclineIndication:
0-50:
decisionStatus: Quotable
50-90:
decisionStatus: Refer
90-max:
decisionStatus: Decline
- id: 00000000-0000-0000-0000-000000000000
type: text
questionContent: What safety devices do the insured's employees use when lifting?
answersWithDeclineIndication:
text:
decisionStatus: Quotable
CA:
'7219':
- id: 00000000-0000-0000-0000-000000000000
type: boolean
questionContent: Do employees work from home under normal circumstances
answersWithDeclineIndication:
'Yes':
subQuestionsId:
- 00000000-0000-0000-0000-000000000000
'No':
decisionStatus: Quotable
- id: 00000000-0000-0000-0000-000000000000
type: range
questionUnit: percent
questionContent: What percentage of employees work from home under normal circumstances?
isSubQuestion: true
answersWithDeclineIndication:
0-50:
decisionStatus: Quotable
50-90:
decisionStatus: Refer
90-max:
decisionStatus: Decline
- id: 00000000-0000-0000-0000-000000000000
type: text
questionContent: What safety devices do the insured's employees use when lifting?
answersWithDeclineIndication:
text:
decisionStatus: Quotable
'400':
description: Bad request - usually malformed message or header
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
security:
- bearer: []
/PriceIndication/{id}:
get:
tags:
- PriceIndication
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteResponse'
example:
referReasons:
- no ReferReasons
declineReasons:
- no DeclineReasons
namedInsured: MSF Hotdog LTD
insuredAddress:
line1: 40 W Littleton Blvd Ste 211
city: Beverly Hills
state: CA
zip: '90210'
agencyId: 08deba69-602c-b83e-a82b-ef00017ebf3c
effectiveDate: '2026-05-30'
employersLiabilityLimits:
eachAccident: 1000000
eachEmployee: 1000000
eachPolicy: 1000000
quoteDate: '2026-05-25'
insuranceCompany: Insurance Company
classCodeQuotes:
- classCode: '2759'
description: BOX OR BOX SHOOK MFG
payroll: 300000
premium: 0
rate: 0.0
percentageOfPayroll: 0.0
stateQuotes:
- experienceModifierInput: 0.0
scheduleModifierFactor: 0.0
catastrophe: 30.0
classPremium: 30930.0
expenseConstant: 0.0
minimumPremium: 0
modifiedPremium: 0
policyTotalEstimatedCost: 29588.0
premiumDiscount: 200
scheduleModifier: 0.0
standardPremium: 0
subjectPremium: 0
totalTaxesAndAssessments: 0.0
terrorism: 90.0
totalEstimatedPremium: 29292.0
premiumDetails:
catastrophe: 13.0
classPremium: 1787.0
expenseConstant: 160.0
experienceModifier: 0.0
liabilityLimits: 120
minimumPremium: 1805
modifiedPremium: 2264
policyTotalEstimatedCost: 2081.0
premiumDiscount: 0
scheduleModifier: -453.0
standardPremium: 1811
subjectPremium: 2264
taxesAndAssessments:
- code: CAWCARF
description: Workers' Compensation Administration Revolving Fund
rate: 0.01704
premium: 34
totalTaxesAndAssessments: 70.0
terrorism: 27.0
totalEstimatedPremium: 2011.0
blanketWaiver: 0
specificWaiver: 0
territoryModifier: 357
installments:
full:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
monthly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
quarterly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
semiannual:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
isDirty: false
instantBindStatus: Unspecified
bindStatus: Quotable
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
security:
- bearer: []
/PriceIndication:
post:
tags:
- PriceIndication
parameters:
- name: agencyCode
in: query
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PriceIndicationRequest'
example:
state: CA
zip: '90210'
classCodes:
- classCode: '5403'
payroll: 20000
partnerAgentEmail: partner@agent.com
contactEmail: contact@customer.com
currentlyCovered: true
claimCountYear1: 0
claimCountYear2: 0
claimCountYear3: 1
effectiveDate: '2026-05-27'
emod: 1.0
blanketWaiver: false
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteDeclineResponse'
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteResponse'
example:
referReasons:
- no ReferReasons
declineReasons:
- no DeclineReasons
namedInsured: MSF Hotdog LTD
insuredAddress:
line1: 40 W Littleton Blvd Ste 211
city: Beverly Hills
state: CA
zip: '90210'
agencyId: 08deba69-602e-0778-a82b-ef00017ebf3e
effectiveDate: '2026-05-30'
employersLiabilityLimits:
eachAccident: 1000000
eachEmployee: 1000000
eachPolicy: 1000000
quoteDate: '2026-05-25'
insuranceCompany: Insurance Company
classCodeQuotes:
- classCode: '2759'
description: BOX OR BOX SHOOK MFG
payroll: 300000
premium: 0
rate: 0.0
percentageOfPayroll: 0.0
stateQuotes:
- experienceModifierInput: 0.0
scheduleModifierFactor: 0.0
catastrophe: 30.0
classPremium: 30930.0
expenseConstant: 0.0
minimumPremium: 0
modifiedPremium: 0
policyTotalEstimatedCost: 29588.0
premiumDiscount: 200
scheduleModifier: 0.0
standardPremium: 0
subjectPremium: 0
totalTaxesAndAssessments: 0.0
terrorism: 90.0
totalEstimatedPremium: 29292.0
premiumDetails:
catastrophe: 13.0
classPremium: 1787.0
expenseConstant: 160.0
experienceModifier: 0.0
liabilityLimits: 120
minimumPremium: 1805
modifiedPremium: 2264
policyTotalEstimatedCost: 2081.0
premiumDiscount: 0
scheduleModifier: -453.0
standardPremium: 1811
subjectPremium: 2264
taxesAndAssessments:
- code: CAWCARF
description: Workers' Compensation Administration Revolving Fund
rate: 0.01704
premium: 34
totalTaxesAndAssessments: 70.0
terrorism: 27.0
totalEstimatedPremium: 2011.0
blanketWaiver: 0
specificWaiver: 0
territoryModifier: 357
installments:
full:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
monthly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
quarterly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
semiannual:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
isDirty: false
instantBindStatus: Unspecified
bindStatus: Quotable
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
security:
- bearer: []
/QuoteDocument/{quoteId}:
post:
tags:
- QuoteDocument
parameters:
- name: quoteId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
files:
type: array
items:
type: string
format: binary
encoding:
files:
style: form
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'202':
description: Accepted
'404':
description: Not Found
content:
text/plain:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
security:
- bearer: []
/QuotePdf/{quoteId}:
get:
tags:
- QuotePdf
parameters:
- name: quoteId
in: path
required: true
schema:
type: string
format: uuid
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'404':
description: Not Found
content:
text/plain:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
security:
- bearer: []
/Quotes:
post:
tags:
- Quotes
summary: ''
parameters:
- name: agencyCode
in: query
description: An optional query param to submit an Agency Code in addition to the IdToken
schema:
type: string
requestBody:
description: QuoteRequestPost
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteRequestPost'
example:
namedInsured: Example Company
effectiveDate: Wednesday, May 27, 2026
expirationDate: Thursday, May 27, 2027
description: A very useful company
workersCompensation:
currentlyCovered: true
legalEntities:
- businessType: Corporation
states:
- code: MD
experienceModification:
factor: 1.0
type: Actual
date: '2014-05-20'
riskId: RiskId
locations:
- address:
state: MD
country: US
shortZipCode: '21201'
line1: 123 Main St.
line2: Suite 300
city: Baltimore
zip: '21201'
exposure:
- payroll: 10000
class: '9083'
- payroll: 10000
class: '9083'
officers:
- ownershipPercentage: 50.0
birthDate: '1969-01-20'
name: Bob Businessman
- ownershipPercentage: 50.0
birthDate: '1996-01-20'
name: John Doe
fullTimeEmployeeCount: 25
partTimeEmployeeCount: 5
- address:
state: MD
country: US
shortZipCode: '21217'
line1: 456 2nd St.
line2: Suite 400
city: Baltimore
zip: '21217'
exposure:
- payroll: 10000
class: '9083'
- payroll: 10000
class: '9083'
officers:
- ownershipPercentage: 50.0
birthDate: '1969-01-20'
name: John Franchisee
fullTimeEmployeeCount: 25
partTimeEmployeeCount: 5
uian: '1111'
name: Bob Businessman
doingBusinessAs:
- Bob's Burgers
taxId: '951234567'
employersLiability:
eachAccident: 100000
eachEmployee: 100000
eachPolicy: 500000
priorCarriers:
- effectiveDate: '2023-05-27'
expirationDate: '2024-05-27'
totalPremium: 20420.75
lapseInPeriod: false
nonZeroClaimCount: 1
zeroClaimCount: 0
amountPaid: 10000.0
amountReserved: 10000.0
amountIncurred: 100.0
modificationFactor: 0.5
name: Brownie Insurance
policyNumber: '1234567890'
- effectiveDate: '2025-05-27'
expirationDate: '2026-05-27'
totalPremium: 5000.75
lapseInPeriod: false
nonZeroClaimCount: 0
zeroClaimCount: 0
amountPaid: 0.0
amountReserved: 0.0
amountIncurred: 100.0
modificationFactor: 0.5
name: Cookie Insurance
policyNumber: 0987654321
mailingAddress:
state: MD
country: US
shortZipCode: '21201'
line1: 123 Main St.
line2: Suite 300
city: Baltimore
zip: '21201'
contacts:
- type: Claims
firstName: John
lastName: Doe
phone: 555-555-5555
email: test@email.com
- type: Accounting
firstName: Jane
lastName: Doe
phone: 555-555-5555
email: jane@email.com
eligibilityAnswers:
- id: 3ce48d82-963d-4477-a850-2f34d7df0583
answer: 'No'
- id: 6936feea-92eb-426c-ad36-3e195652801d
answer: 'No'
- id: a4943dd7-2e04-41ad-8d49-f0353517f3be
answer: 'No'
- id: c245550f-7722-4e2e-9d49-bfef864ff1ae
answer: 'No'
- id: d3985c52-9012-4278-9649-23b33da936b5
answer: 'No'
- id: ee222b96-45f3-4843-a2dd-7514c182b05d
answer: 'No'
- id: fa056329-55ff-49bf-97b5-f50a59fa94a6
answer: 'No'
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'200':
description: "Valid Request - But we can\u2019t generate a quote bid for the given reason"
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteDeclineResponse'
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteResponse'
example:
referReasons:
- no ReferReasons
declineReasons:
- no DeclineReasons
namedInsured: MSF Hotdog LTD
insuredAddress:
line1: 40 W Littleton Blvd Ste 211
city: Beverly Hills
state: CA
zip: '90210'
agencyId: 08deba69-6030-fbd6-a82b-ef00017ebf40
effectiveDate: '2026-05-30'
employersLiabilityLimits:
eachAccident: 1000000
eachEmployee: 1000000
eachPolicy: 1000000
quoteDate: '2026-05-25'
insuranceCompany: Insurance Company
classCodeQuotes:
- classCode: '2759'
description: BOX OR BOX SHOOK MFG
payroll: 300000
premium: 0
rate: 0.0
percentageOfPayroll: 0.0
stateQuotes:
- experienceModifierInput: 0.0
scheduleModifierFactor: 0.0
catastrophe: 30.0
classPremium: 30930.0
expenseConstant: 0.0
minimumPremium: 0
modifiedPremium: 0
policyTotalEstimatedCost: 29588.0
premiumDiscount: 200
scheduleModifier: 0.0
standardPremium: 0
subjectPremium: 0
totalTaxesAndAssessments: 0.0
terrorism: 90.0
totalEstimatedPremium: 29292.0
premiumDetails:
catastrophe: 13.0
classPremium: 1787.0
expenseConstant: 160.0
experienceModifier: 0.0
liabilityLimits: 120
minimumPremium: 1805
modifiedPremium: 2264
policyTotalEstimatedCost: 2081.0
premiumDiscount: 0
scheduleModifier: -453.0
standardPremium: 1811
subjectPremium: 2264
taxesAndAssessments:
- code: CAWCARF
description: Workers' Compensation Administration Revolving Fund
rate: 0.01704
premium: 34
totalTaxesAndAssessments: 70.0
terrorism: 27.0
totalEstimatedPremium: 2011.0
blanketWaiver: 0
specificWaiver: 0
territoryModifier: 357
installments:
full:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
monthly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
quarterly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
semiannual:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
isDirty: false
instantBindStatus: Unspecified
bindStatus: Quotable
'400':
description: Bad request - usually malformed message or header
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized - Invalid agency code provided
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
security:
- bearer: []
/Quotes/{id}:
get:
tags:
- Quotes
summary: ''
parameters:
- name: id
in: path
description: ''
required: true
schema:
type: string
format: uuid
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'200':
description: Returns QuoteResponse object
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteResponse'
example:
referReasons:
- no ReferReasons
declineReasons:
- no DeclineReasons
namedInsured: MSF Hotdog LTD
insuredAddress:
line1: 40 W Littleton Blvd Ste 211
city: Beverly Hills
state: CA
zip: '90210'
agencyId: 08deba69-6031-5aea-a82b-ef00017ebf42
effectiveDate: '2026-05-30'
employersLiabilityLimits:
eachAccident: 1000000
eachEmployee: 1000000
eachPolicy: 1000000
quoteDate: '2026-05-25'
insuranceCompany: Insurance Company
classCodeQuotes:
- classCode: '2759'
description: BOX OR BOX SHOOK MFG
payroll: 300000
premium: 0
rate: 0.0
percentageOfPayroll: 0.0
stateQuotes:
- experienceModifierInput: 0.0
scheduleModifierFactor: 0.0
catastrophe: 30.0
classPremium: 30930.0
expenseConstant: 0.0
minimumPremium: 0
modifiedPremium: 0
policyTotalEstimatedCost: 29588.0
premiumDiscount: 200
scheduleModifier: 0.0
standardPremium: 0
subjectPremium: 0
totalTaxesAndAssessments: 0.0
terrorism: 90.0
totalEstimatedPremium: 29292.0
premiumDetails:
catastrophe: 13.0
classPremium: 1787.0
expenseConstant: 160.0
experienceModifier: 0.0
liabilityLimits: 120
minimumPremium: 1805
modifiedPremium: 2264
policyTotalEstimatedCost: 2081.0
premiumDiscount: 0
scheduleModifier: -453.0
standardPremium: 1811
subjectPremium: 2264
taxesAndAssessments:
- code: CAWCARF
description: Workers' Compensation Administration Revolving Fund
rate: 0.01704
premium: 34
totalTaxesAndAssessments: 70.0
terrorism: 27.0
totalEstimatedPremium: 2011.0
blanketWaiver: 0
specificWaiver: 0
territoryModifier: 357
installments:
full:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
monthly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
quarterly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
semiannual:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
isDirty: false
instantBindStatus: Unspecified
bindStatus: Quotable
'404':
description: Quote can't be found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
security:
- bearer: []
put:
tags:
- Quotes
summary: ''
parameters:
- name: id
in: path
description: ''
required: true
schema:
type: string
format: uuid
- name: agencyCode
in: query
description: An optional query param to submit an AgencyCode in addition to the IdToken
schema:
type: string
requestBody:
description: QuoteRequestPost
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteRequestPut'
responses:
'500':
description: Internal Server Error
'501':
description: Not Implemented
'502':
description: Bad Gateway
'503':
description: Service Unavailable
'504':
description: Gateway Timeout
'505':
description: HTTP Version Not Supported
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteResponse'
example:
referReasons:
- no ReferReasons
declineReasons:
- no DeclineReasons
namedInsured: MSF Hotdog LTD
insuredAddress:
line1: 40 W Littleton Blvd Ste 211
city: Beverly Hills
state: CA
zip: '90210'
agencyId: 08deba69-6031-f46c-a82b-ef00017ebf44
effectiveDate: '2026-05-30'
employersLiabilityLimits:
eachAccident: 1000000
eachEmployee: 1000000
eachPolicy: 1000000
quoteDate: '2026-05-25'
insuranceCompany: Insurance Company
classCodeQuotes:
- classCode: '2759'
description: BOX OR BOX SHOOK MFG
payroll: 300000
premium: 0
rate: 0.0
percentageOfPayroll: 0.0
stateQuotes:
- experienceModifierInput: 0.0
scheduleModifierFactor: 0.0
catastrophe: 30.0
classPremium: 30930.0
expenseConstant: 0.0
minimumPremium: 0
modifiedPremium: 0
policyTotalEstimatedCost: 29588.0
premiumDiscount: 200
scheduleModifier: 0.0
standardPremium: 0
subjectPremium: 0
totalTaxesAndAssessments: 0.0
terrorism: 90.0
totalEstimatedPremium: 29292.0
premiumDetails:
catastrophe: 13.0
classPremium: 1787.0
expenseConstant: 160.0
experienceModifier: 0.0
liabilityLimits: 120
minimumPremium: 1805
modifiedPremium: 2264
policyTotalEstimatedCost: 2081.0
premiumDiscount: 0
scheduleModifier: -453.0
standardPremium: 1811
subjectPremium: 2264
taxesAndAssessments:
- code: CAWCARF
description: Workers' Compensation Administration Revolving Fund
rate: 0.01704
premium: 34
totalTaxesAndAssessments: 70.0
terrorism: 27.0
totalEstimatedPremium: 2011.0
blanketWaiver: 0
specificWaiver: 0
territoryModifier: 357
installments:
full:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
monthly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
quarterly:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
semiannual:
'2026-05-30':
premiumAmount: 2011
surchargeAmount: 70
totalAmount: 2081
isDirty: false
instantBindStatus: Unspecified
bindStatus: Quotable
'400':
description: Bad request - usually malformed message or header
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized - Invalid agency code provided
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Quote can't be found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'200':
description: Returns QuoteResponse object
security:
- bearer: []
/Appetite:
post:
tags:
- Appetite
summary: ''
requestBody:
description: AppetiteRequest
content:
application/json:
schema:
$ref: '#/components/schemas/AppetiteRequest'
example:
appetiteFor:
- zip: ''
state: CO
class: '0005'
- zip: '80238'
state: ''
class: '0005'
- zip: '80238'
state: ''
class: '5555'
responses:
'500':
description: Internal error, would like be legitimate error that we should fix
'501':
description: Not Implemented
'502':
description: Bad Gateway - usually a startup/load balance issue
'503':
description: Service unavailable - usually a startup/deploy issue
'504':
description: Gateway timeout - usually a startup/load balance issue
'505':
description: HTTP Version Not Supported
'200':
description: Ok - List of matches
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
text/xml:
schema:
type: array
items:
$ref: '#/components/schemas/ClassCodeMatch'
'400':
description: Bad request - usually malformed message or header
content:
text/plain:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
application/json:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
text/json:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
application/xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
text/xml:
schema:
$ref: '#/components/schemas/ClassCodeSearchBadRequest'
'404':
description: Could not find any matches.
content:
text/plain:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'415':
description: Unsupported Media Type
security:
- bearer: []
get:
tags:
- Appetite
summary: Returns an array of supported class codes by state
parameters:
- name: code
in: query
required: true
schema:
type: string
responses:
'500':
description: Internal error, would like be legitimate error that we should fix
'501':
description: Not Implemented
'502':
description: Bad Gateway - usually a startup/load balance issue
'503':
description: Service unavailable - usually a startup/deploy issue
'504':
description: Gateway timeout - usually a startup/load balance issue
'505':
description: HTTP Version Not Supported
'200':
description: Returns StateAppetiteResponse object
content:
text/plain:
schema:
$ref: '#/components/schemas/StateAppetiteResponse'
application/json:
schema:
$ref: '#/components/schemas/StateAppetiteResponse'
text/json:
schema:
$ref: '#/components/schemas/StateAppetiteResponse'
application/xml:
schema:
$ref: '#/components/schemas/StateAppetiteResponse'
text/xml:
schema:
$ref: '#/components/schemas/StateAppetiteResponse'
'400':
description: Bad request - usually malformed message or header
content:
text/plain:
schema:
$ref: '#/components/schemas/StateAppetiteRequest'
application/json:
schema:
$ref: '#/components/schemas/StateAppetiteRequest'
text/json:
schema:
$ref: '#/components/schemas/StateAppetiteRequest'
application/xml:
schema:
$ref: '#/components/schemas/StateAppetiteRequest'
text/xml:
schema:
$ref: '#/components/schemas/StateAppetiteRequest'
'404':
description: Not Found
content:
text/plain:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
text/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
security:
- bearer: []
components:
schemas:
AnswerDecision:
required:
- decisionStatus
type: object
properties:
decisionStatus:
$ref: '#/components/schemas/DecisionStatus'
subQuestionsId:
type: array
items:
type: string
format: uuid
nullable: true
additionalProperties: false
AppetiteRequest:
required:
- appetiteFor
type: object
properties:
appetiteFor:
minItems: 1
type: array
items:
$ref: '#/components/schemas/RegionAndClassPost'
additionalProperties: false
BindStatus:
enum:
- Refer
- Decline
- Quotable
- Undetermined
type: string
BusinessAddress:
type: object
properties:
line1:
type: string
nullable: true
line2:
type: string
nullable: true
city:
type: string
nullable: true
state:
type: string
nullable: true
zip:
type: string
nullable: true
county:
type: string
nullable: true
country:
type: string
nullable: true
latitude:
type: number
format: double
nullable: true
longitude:
type: number
format: double
nullable: true
additionalProperties: false
BusinessTypes:
enum:
- Individual
- Partnership
- Corporation
- LimitedLiabilityCompany
- Other
type: string
ClassCodeMatch:
type: object
properties:
value:
type: string
nullable: true
description:
type: string
nullable: true
matches:
type: array
items:
type: string
nullable: true
additionalProperties: false
ClassCodeQuestionsRequest:
required:
- stateClassCodes
type: object
properties:
stateClassCodes:
type: array
items:
type: object
properties:
AL:
type: array
items:
type: string
AK:
type: array
items:
type: string
AR:
type: array
items:
type: string
AZ:
type: array
items:
type: string
CA:
type: array
items:
type: string
CO:
type: array
items:
type: string
CT:
type: array
items:
type: string
DC:
type: array
items:
type: string
DE:
type: array
items:
type: string
FL:
type: array
items:
type: string
GA:
type: array
items:
type: string
HI:
type: array
items:
type: string
IA:
type: array
items:
type: string
ID:
type: array
items:
type: string
IL:
type: array
items:
type: string
IN:
type: array
items:
type: string
KS:
type: array
items:
type: string
KY:
type: array
items:
type: string
LA:
type: array
items:
type: string
MA:
type: array
items:
type: string
MD:
type: array
items:
type: string
ME:
type: array
items:
type: string
MI:
type: array
items:
type: string
MN:
type: array
items:
type: string
MO:
type: array
items:
type: string
MS:
type: array
items:
type: string
MT:
type: array
items:
type: string
NC:
type: array
items:
type: string
ND:
type: array
items:
type: string
NE:
type: array
items:
type: string
NH:
type: array
items:
type: string
NJ:
type: array
items:
type: string
NM:
type: array
items:
type: string
NV:
type: array
items:
type: string
NY:
type: array
items:
type: string
OK:
type: array
items:
type: string
OH:
type: array
items:
type: string
OR:
type: array
items:
type: string
PA:
type: array
items:
type: string
RI:
type: array
items:
type: string
SC:
type: array
items:
type: string
SD:
type: array
items:
type: string
TN:
type: array
items:
type: string
TX:
type: array
items:
type: string
UT:
type: array
items:
type: string
VA:
type: array
items:
type: string
VT:
type: array
items:
type: string
WA:
type: array
items:
type: string
WI:
type: array
items:
type: string
WV:
type: array
items:
type: string
WY:
type: array
items:
type: string
CW:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
description: Class Codes Questions Request for States
ClassCodeQuestionsResponse:
required:
- questionsByStateAndClassCodes
type: object
properties:
questionsByStateAndClassCodes:
type: object
properties:
AL:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
AK:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
AR:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
AZ:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
CA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
CO:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
CT:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
DC:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
DE:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
FL:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
GA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
HI:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
IA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
ID:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
IL:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
IN:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
KS:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
KY:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
LA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MD:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
ME:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MI:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MN:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MO:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MS:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
MT:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NC:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
ND:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NE:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NH:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NJ:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NM:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NV:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
NY:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
OK:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
OH:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
OR:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
PA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
RI:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
SC:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
SD:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
TN:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
TX:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
UT:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
VA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
VT:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
WA:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
WI:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
WV:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
WY:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
CW:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/Question'
additionalProperties: false
additionalProperties: false
ClassCodeQuote:
required:
- classCode
- description
- payroll
- percentageOfPayroll
- premium
- rate
- state
type: object
properties:
classCode:
type: string
description:
type: string
payroll:
type: integer
format: int32
state:
type: string
premium:
type: integer
format: int32
rate:
type: number
format: double
percentageOfPayroll:
type: number
format: double
additionalProperties: false
ClassCodeSearchBadRequest:
type: object
properties:
validationErrors:
type: array
items:
type: string
nullable: true
additionalProperties: false
ClassCodeSearchRequest:
required:
- state
type: object
properties:
state:
type: string
description: State must be abbreviated. ie. CO
searchTerm:
type: string
description: Search term must be at least two characters.
nullable: true
businessName:
type: string
nullable: true
additionalProperties: false
Contact:
required:
- email
- firstName
- lastName
type: object
properties:
firstName:
type: string
lastName:
type: string
phone:
type: string
nullable: true
email:
type: string
agentEnteredEmail:
type: string
nullable: true
additionalProperties: false
ContactTypes:
enum:
- Accounting
- Claims
- Inspection
- Client
- Other
type: string
Countries:
enum:
- US
- USA
type: string
DecisionStatus:
enum:
- Undetermined
- Refer
- Decline
- Quotable
type: string
EligibilityAnswerPost:
title: EligibilityAnswer
required:
- id
type: object
properties:
id:
type: string
format: uuid
answer:
type: string
nullable: true
additionalProperties: false
EmployersLiabilityLimits:
type: object
properties:
eachAccident:
type: integer
format: int32
nullable: true
eachEmployee:
type: integer
format: int32
nullable: true
eachPolicy:
type: integer
format: int32
nullable: true
additionalProperties: false
EmployersLiabilityLimitsPost:
title: EmployersLiabilityLimits
type: object
properties:
eachAccident:
type: integer
description: 'Valid values are:
100000, 500000, 1000000, 2000000.
Valid Combinations across
eachAccident / eachEmployee / eachPolicy are:
100/500/100, 500/500/500, 1M/1M/1M, 2M/2M/2M.
If the state is CA, must select limits of 1M or greater.'
nullable: true
eachEmployee:
type: integer
description: 'Valid values are:
500000, 1000000, 2000000.
Valid Combinations across
eachAccident / eachEmployee / eachPolicy are:
100/500/100, 500/500/500, 1M/1M/1M, 2M/2M/2M.
If the state is CA, must select limits of 1M or greater.'
nullable: true
eachPolicy:
type: integer
description: 'Valid values are:
100000, 500000, 1000000, 2000000.
Valid Combinations across
eachAccident / eachEmployee / eachPolicy are:
100/500/100, 500/500/500, 1M/1M/1M, 2M/2M/2M.
If the state is CA, must select limits of 1M or greater.'
nullable: true
additionalProperties: false
ExperienceModificationPost:
title: ExperienceModification
type: object
properties:
factor:
type: number
description: Valid values are >= 0.1 and less than 10.0
nullable: true
type:
type: string
description: 'Acceptable string values for all states (except California)
"Actual"
"Contingent"
"Estimated" (default value)
"Preliminary"
"Tentative"
Acceptable string values for California
"Actual"
"Expiring"
"Tentative" (default value)'
nullable: true
date:
type: string
description: 'Format YYYY-MM-DD
Required when type is "Actual"
Optional for all other values of Type
Default value to current day'
format: date
nullable: true
riskId:
type: string
nullable: true
additionalProperties: false
Exposure:
type: object
properties:
classCode:
type: string
description: State defined class code
nullable: true
payroll:
type: integer
description: Payroll amount of the class code.
format: int32
additionalProperties: false
InstantBindStatus:
enum:
- Unspecified
- Ineligible
- Eligible
- Pending
- Failed
- Succeeded
type: string
LapseReason:
enum:
- NonPayment
- AuditNonCompliance
- NoEmployees
- Other
type: string
NotCoveredReason:
enum:
- NonPayment
- AuditNonCompliance
- NoEmployees
- Other
- NewBusiness
type: string
Payment:
type: object
properties:
premiumAmount:
type: integer
format: int32
surchargeAmount:
type: integer
format: int32
nullable: true
feeAmount:
type: integer
format: int32
nullable: true
totalAmount:
type: integer
format: int32
readOnly: true
additionalProperties: false
PremiumDetails:
required:
- catastrophe
- classPremium
- expenseConstant
- experienceModifier
- minimumPremium
- modifiedPremium
- policyTotalEstimatedCost
- premiumDiscount
- scheduleModifier
- standardPremium
- subjectPremium
- taxesAndAssessments
- territoryModifier
- terrorism
- totalEstimatedPremium
- totalTaxesAndAssessments
type: object
properties:
catastrophe:
type: number
format: double
classPremium:
type: number
format: double
expenseConstant:
type: number
format: double
experienceModifier:
type: number
format: double
liabilityLimits:
type: integer
format: int32
nullable: true
minimumPremium:
type: integer
format: int32
modifiedPremium:
type: integer
format: int32
policyTotalEstimatedCost:
type: number
format: double
premiumDiscount:
type: integer
format: int32
scheduleModifier:
type: number
format: double
standardPremium:
type: integer
format: int32
subjectPremium:
type: integer
format: int32
taxesAndAssessments:
type: array
items:
$ref: '#/components/schemas/TaxDetails'
totalTaxesAndAssessments:
type: number
format: double
terrorism:
type: number
format: double
totalEstimatedPremium:
type: number
format: double
blanketWaiver:
type: integer
format: int32
nullable: true
specificWaiver:
type: integer
format: int32
nullable: true
territoryModifier:
type: integer
format: int32
additionalProperties: false
PriceIndicationRequest:
required:
- classCodes
- currentlyCovered
- state
- zip
type: object
properties:
state:
type: string
description: 'Use 2 digit state code:
[ AL, AK, AR, AZ, CA, CO, CT, DC, DE, FL, GA, HI, IA, ID, IL, IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MS, MT,
NC, ND, NE, NH, NJ, NM, NV, NY, OK, OH, OR, PA, RI, SC, SD, TN, TX, UT, VA, VT, WA, WI, WV, WY, CW ]'
zip:
type: string
description: Five Digit zip code.
classCodes:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Exposure'
description: List of class codes.
partnerAgentEmail:
type: string
description: Agent Email
nullable: true
contactEmail:
type: string
description: Insured email
nullable: true
currentlyCovered:
type: boolean
description: Are you currently covered by Worker's Compensation Policy if false then supply a reason
notCurrentlyCoveredReason:
$ref: '#/components/schemas/NotCoveredReason'
notCurrentlyCoveredDescription:
type: string
description: "Provide description when notCurrentlyCoveredReason is \u2018Other\u2019 or when there is additional\
\ lapse information available."
nullable: true
claimCountYear1:
type: integer
description: Number of claims with your current carrier and term.
format: int32
nullable: true
claimCountYear2:
type: integer
description: Number of claims with your previous 1 year term.
format: int32
nullable: true
claimCountYear3:
type: integer
description: Number of claims with your previous 1 year term from 2 years ago.
format: int32
nullable: true
effectiveDate:
type: string
description: " Format YYYY-MM-DD\nMust be between tomorrow's date and 120 from current date\n (today + 120 days\
\ >= effectiveDate >= tomorrow)"
nullable: true
emod:
type: number
description: Experience Modificator Factor
format: double
nullable: true
blanketWaiver:
type: boolean
description: Boolean to apply a blanket Waiver
nullable: true
additionalProperties: false
PriorCarrierPost:
title: PriorCarrier
required:
- effectiveDate
- expirationDate
- lapseInPeriod
type: object
properties:
name:
type: string
nullable: true
effectiveDate:
type: string
description: Format YYYY-MM-DD
format: date
expirationDate:
type: string
description: Format YYYY-MM-DD
format: date
lapseInPeriod:
type: boolean
description: Was there a lapse in coverage
lapseReason:
$ref: '#/components/schemas/LapseReason'
lapseReasonDescription:
type: string
description: "Provide description when lapseReason is \u2018Other\u2019 or when there is additional lapse information\
\ available."
nullable: true
policyNumber:
type: string
nullable: true
modificationFactor:
type: number
description: Must be decimal number >= 0.1 and less than 10.0
nullable: true
totalPremium:
type: number
description: 'Must be number with no more than 2 decimal places
e.g. xxx.yy'
nullable: true
nonZeroClaimCount:
type: integer
description: 'The number of claims where the total payout was greater than zero.
Must be integer >= 0 and less than or equal to 255'
format: int32
zeroClaimCount:
type: integer
description: 'The number of claims where the total payout equals zero.
Must be integer >= 0 and less than or equal to 255'
format: int32
amountPaid:
type: number
description: 'Must be number with no more than 2 decimal places
e.g. xxx.yy'
nullable: true
amountReserved:
type: number
description: 'Must be number with no more than 2 decimal places
e.g. xxx.yy'
nullable: true
amountIncurred:
type: string
description: 'Must be number with no more than 2 decimal places
e.g. xxx.yy'
nullable: true
additionalProperties: false
ProblemDetails:
type: object
properties:
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
extensions:
type: object
additionalProperties:
nullable: true
nullable: true
additionalProperties: false
Question:
required:
- answersWithDeclineIndication
- id
- isSubQuestion
- questionContent
- type
type: object
properties:
type:
type: string
questionUnit:
type: string
nullable: true
questionContent:
type: string
isSubQuestion:
type: boolean
answersWithDeclineIndication:
type: object
additionalProperties:
$ref: '#/components/schemas/AnswerDecision'
additionalProperties: false
QuoteAddressPost:
title: Address
type: object
properties:
line1:
type: string
nullable: true
line2:
type: string
nullable: true
city:
type: string
nullable: true
state:
$ref: '#/components/schemas/States'
zip:
type: string
description: "Send 5 digit zip code format e.g. 12345\n (9 digit zip is not accepted)"
nullable: true
country:
$ref: '#/components/schemas/Countries'
additionalProperties: false
QuoteContactPost:
title: QuoteContact
type: object
properties:
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
phone:
type: string
description: Must match pattern 012-345-6789 or 0123456789
nullable: true
email:
type: string
description: Must be valid email format e.g. email@domain.com
nullable: true
type:
$ref: '#/components/schemas/ContactTypes'
additionalProperties: false
QuoteDeclineResponse:
type: object
properties:
declineReasons:
type: array
items:
type: string
nullable: true
bindStatus:
$ref: '#/components/schemas/BindStatus'
additionalProperties: false
QuoteExposurePost:
title: Exposure
type: object
properties:
class:
type: string
description: "Subclasses not currently accepted\n \n Must be integer with 1-4 digits"
nullable: true
payroll:
type: integer
description: Valid range is >= 0 and less than 1,000,000,000
format: int32
nullable: true
additionalProperties: false
QuoteLegalEntityPost:
title: LegalEntity
type: object
properties:
name:
type: string
nullable: true
doingBusinessAs:
type: array
items:
type: string
nullable: true
businessType:
$ref: '#/components/schemas/BusinessTypes'
taxId:
type: string
description: '9 digit number, no dashes
e.g. 123456789'
nullable: true
sicCode:
type: integer
description: Must be 4 digit number
nullable: true
naicsCode:
type: integer
description: Must be 6 digit number
nullable: true
yearStarted:
type: integer
description: 'Must be after 1800 and equal to or before current year
e.g. Current year >= year started >= 1800'
nullable: true
website:
type: string
description: Must be valid URL
nullable: true
states:
type: array
items:
$ref: '#/components/schemas/QuoteStatePost'
description: Currently only 1 state allowed
nullable: true
additionalProperties: false
description: Currently only a single legal entity quote is supported through the quote api
QuoteLocationPost:
title: Location
type: object
properties:
address:
$ref: '#/components/schemas/QuoteAddressPost'
exposure:
type: array
items:
$ref: '#/components/schemas/QuoteExposurePost'
description: Officers class payroll should also be included here
nullable: true
officers:
type: array
items:
$ref: '#/components/schemas/QuoteOfficerPost'
description: If Officer has payroll, please add it to the array of Exposure as any other exposure.
nullable: true
fullTimeEmployeeCount:
type: integer
format: int32
nullable: true
partTimeEmployeeCount:
type: integer
format: int32
nullable: true
additionalProperties: false
QuoteOfficerPost:
title: Officer
type: object
properties:
name:
type: string
nullable: true
duties:
type: string
nullable: true
ownershipPercentage:
type: number
nullable: true
birthDate:
type: string
description: Format YYYY-MM-DD
format: date
nullable: true
additionalProperties: false
QuoteRequestPost:
title: Request
type: object
properties:
namedInsured:
type: string
description: Do not include the 'doing business as' name in this field. Use the DBA field in the LegalEntity Object.
nullable: true
effectiveDate:
type: string
description: " Format YYYY-MM-DD\nMust be between tomorrow's date and 120 from current date\n (today + 120 days\
\ >= effectiveDate >= tomorrow)"
format: date
nullable: true
partnerAgentFirstName:
type: string
nullable: true
partnerAgentLastName:
type: string
nullable: true
partnerAgentEmail:
type: string
nullable: true
expirationDate:
type: string
description: 'Format YYYY-MM-DD
Must be exactly one year after effectiveDate'
format: date
nullable: true
description:
type: string
nullable: true
workersCompensation:
$ref: '#/components/schemas/WorkCompPolicyPost'
mailingAddress:
$ref: '#/components/schemas/QuoteAddressPost'
contacts:
type: array
items:
$ref: '#/components/schemas/QuoteContactPost'
nullable: true
eligibilityAnswers:
type: array
items:
$ref: '#/components/schemas/EligibilityAnswerPost'
nullable: true
additionalProperties: false
QuoteRequestPut:
title: PutRequest
type: object
properties:
namedInsured:
type: string
description: Do not include the 'doing business as' name in this field. Use the DBA field in the LegalEntity Object.
nullable: true
effectiveDate:
type: string
description: " Format YYYY-MM-DD\nMust be between tomorrow's date and 120 from current date\n (today + 120 days\
\ >= effectiveDate >= tomorrow)"
format: date
nullable: true
partnerAgentFirstName:
type: string
nullable: true
partnerAgentLastName:
type: string
nullable: true
partnerAgentEmail:
type: string
nullable: true
expirationDate:
type: string
description: 'Format YYYY-MM-DD
Must be exactly one year after effectiveDate'
format: date
nullable: true
description:
type: string
nullable: true
workersCompensation:
$ref: '#/components/schemas/WorkCompPolicyPost'
mailingAddress:
$ref: '#/components/schemas/QuoteAddressPost'
contacts:
type: array
items:
$ref: '#/components/schemas/QuoteContactPost'
nullable: true
eligibilityAnswers:
type: array
items:
$ref: '#/components/schemas/EligibilityAnswerPost'
nullable: true
additionalProperties: false
QuoteResponse:
required:
- agencyId
- classCodeQuotes
- effectiveDate
- employersLiabilityLimits
- installments
- insuranceCompany
- insuredAddress
- namedInsured
- premiumDetails
- quoteDate
- stateQuotes
type: object
properties:
referReasons:
type: array
items:
type: string
nullable: true
declineReasons:
type: array
items:
type: string
nullable: true
namedInsured:
type: string
insuredAddress:
$ref: '#/components/schemas/BusinessAddress'
agencyId:
type: string
format: uuid
effectiveDate:
type: string
employersLiabilityLimits:
$ref: '#/components/schemas/EmployersLiabilityLimits'
quoteDate:
type: string
insuranceCompany:
type: string
classCodeQuotes:
type: array
items:
$ref: '#/components/schemas/ClassCodeQuote'
stateQuotes:
type: array
items:
$ref: '#/components/schemas/StateQuote'
primaryStateQuotes:
type: array
items:
$ref: '#/components/schemas/StateQuote'
nullable: true
premiumDetails:
$ref: '#/components/schemas/PremiumDetails'
installments:
type: object
properties:
full:
type: object
additionalProperties:
$ref: '#/components/schemas/Payment'
semiannual:
type: object
additionalProperties:
$ref: '#/components/schemas/Payment'
quarterly:
type: object
additionalProperties:
$ref: '#/components/schemas/Payment'
monthly:
type: object
additionalProperties:
$ref: '#/components/schemas/Payment'
additionalProperties: false
isDirty:
type: boolean
warningMessage:
type: string
nullable: true
contacts:
type: array
items:
$ref: '#/components/schemas/Contact'
nullable: true
instantBindStatus:
$ref: '#/components/schemas/InstantBindStatus'
bindStatus:
$ref: '#/components/schemas/BindStatus'
additionalProperties: false
QuoteStatePost:
title: State
type: object
properties:
code:
$ref: '#/components/schemas/States'
experienceModification:
$ref: '#/components/schemas/ExperienceModificationPost'
uian:
type: integer
description: Required by some states
nullable: true
blanketWaiver:
type: boolean
nullable: true
locations:
type: array
items:
$ref: '#/components/schemas/QuoteLocationPost'
nullable: true
additionalProperties: false
RegionAndClassPost:
type: object
properties:
zip:
type: string
nullable: true
state:
type: string
nullable: true
class:
type: string
nullable: true
additionalProperties: false
StateAppetiteRequest:
required:
- code
type: object
properties:
code:
type: string
additionalProperties: false
StateAppetiteResponse:
required:
- classCodes
- state
type: object
properties:
state:
type: string
classCodes:
type: array
items:
type: string
additionalProperties: false
StateQuote:
required:
- catastrophe
- classPremium
- expenseConstant
- experienceModifier
- experienceModifierInput
- minimumPremium
- modifiedPremium
- policyTotalEstimatedCost
- premiumDiscount
- scheduleModifier
- scheduleModifierFactor
- standardPremium
- state
- subjectPremium
- taxesAndAssessments
- territoryModifier
- terrorism
- totalEstimatedPremium
- totalTaxesAndAssessments
type: object
properties:
catastropheRate:
type: number
format: double
nullable: true
deductible:
type: integer
format: int32
nullable: true
experienceModifierInput:
type: number
format: double
scheduleModifierFactor:
type: number
format: double
state:
type: string
terrorismRiskInsuranceAct:
type: number
format: double
nullable: true
premiumDiscountRate:
type: number
format: double
nullable: true
territoryModifierFactor:
type: number
format: double
nullable: true
balanceToMinimumPremium:
type: integer
format: int32
nullable: true
dividendFactor:
type: number
format: double
nullable: true
catastrophe:
type: number
format: double
classPremium:
type: number
format: double
expenseConstant:
type: number
format: double
experienceModifier:
type: number
format: double
liabilityLimits:
type: integer
format: int32
nullable: true
minimumPremium:
type: integer
format: int32
modifiedPremium:
type: integer
format: int32
policyTotalEstimatedCost:
type: number
format: double
premiumDiscount:
type: integer
format: int32
scheduleModifier:
type: number
format: double
standardPremium:
type: integer
format: int32
subjectPremium:
type: integer
format: int32
taxesAndAssessments:
type: array
items:
$ref: '#/components/schemas/TaxDetails'
totalTaxesAndAssessments:
type: number
format: double
terrorism:
type: number
format: double
totalEstimatedPremium:
type: number
format: double
blanketWaiver:
type: integer
format: int32
nullable: true
specificWaiver:
type: integer
format: int32
nullable: true
territoryModifier:
type: integer
format: int32
additionalProperties: false
States:
enum:
- AL
- AK
- AR
- AZ
- CA
- CO
- CT
- DC
- DE
- FL
- GA
- HI
- IA
- ID
- IL
- IN
- KS
- KY
- LA
- MA
- MD
- ME
- MI
- MN
- MO
- MS
- MT
- NC
- ND
- NE
- NH
- NJ
- NM
- NV
- NY
- OK
- OH
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VA
- VT
- WA
- WI
- WV
- WY
- CW
type: string
TaxDetails:
type: object
properties:
code:
type: string
nullable: true
description:
type: string
nullable: true
rate:
type: number
format: double
premium:
type: integer
format: int32
additionalProperties: false
ValidationProblemDetails:
type: object
properties:
errors:
type: object
additionalProperties:
type: array
items:
type: string
nullable: true
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
extensions:
type: object
additionalProperties:
nullable: true
nullable: true
additionalProperties: false
WorkCompPolicyPost:
title: WorkCompPolicy
type: object
properties:
currentlyCovered:
type: boolean
description: Are you currently covered by Worker's Compensation Policy if false then supply a reason
nullable: true
notCurrentlyCoveredReason:
$ref: '#/components/schemas/NotCoveredReason'
notCurrentlyCoveredDescription:
type: string
description: "Provide description when notCurrentlyCoveredReason is \u2018Other\u2019 or when there is additional\
\ lapse information available."
nullable: true
legalEntities:
type: array
items:
$ref: '#/components/schemas/QuoteLegalEntityPost'
description: Only 1 legal entity is allowed
nullable: true
employersLiability:
$ref: '#/components/schemas/EmployersLiabilityLimitsPost'
priorCarriers:
type: array
items:
$ref: '#/components/schemas/PriorCarrierPost'
nullable: true
additionalProperties: false
securitySchemes:
bearer:
type: http
description: JWT Authorization header using the Bearer scheme. Enter token
scheme: Bearer
security:
- bearer: []