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: []