Price a policy

Use this recipe when you need a number, the filing fee, tax, and total cost for a policy, and nothing else. This is the most common thing a partner does with this API.

Just want a price? One call.

POST /partner/calculate is all you need. You do not need to fetch or interpret raw state rates first: /calculate already applies the correct fee engine for the state and returns the finished numbers.

1. Send the inputs

Three fields are required: filingType, stateAbbr, and premium.

FieldTypeRequiredMeaning
filingTypeenumyesWhat kind of transaction this is. See table below.
stateAbbrenumyesTwo-letter state code, e.g. WA.
premiumnumberyesThe policy premium, in dollars.
policyFeenumbernoPolicy fee to include in the calculation.
inspectionFeenumbernoInspection fee to include.
carriersFeenumbernoCarrier's fee to include.
lateFeenumbernoLate fee to include.
wireFeenumbernoWire transfer fee to include.
lgtValuenumbernoOverride for the state's local government tax value.
fmtValuenumbernoOverride for the state's fire marshal tax value.

The optional fee fields default when omitted, so a bare filingType + stateAbbr + premium request is a valid, complete quote request.

filingType is one of:

ValueMeaning
NEW_BUSINESSA brand-new policy, filed for the first time.
NEW_BUSINESS_RENEWALAn existing policy being renewed, filed as new business.
ENDORSEMENT_ADDITIONALA change to an existing policy that adds premium.
ENDORSEMENT_RETURNA change to an existing policy that returns premium (for example a cancellation).
New business vs. endorsement

NEW_BUSINESS and NEW_BUSINESS_RENEWAL are "new business" (NB) filings. ENDORSEMENT_ADDITIONAL and ENDORSEMENT_RETURN are "endorsement" (ED) filings, changes to a policy that's already on file. States sometimes have different requirements or rates for each, which is why the state lookup in State pricing and requirements returns NB and ED fields separately.

cURL
JavaScript
curl -X POST "$BASE_URL/partner/calculate" \
  -H "PartnerKey: $PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "filingType": "NEW_BUSINESS",
        "stateAbbr": "WA",
        "premium": 12500
      }'

2. Read the response

{
  "filingFee": 25,
  "tax": 437.5,
  "sFee": 62.5,
  "other": 0,
  "total": 525
}
FieldMeaning
filingFeeThe state filing fee for this transaction.
taxSurplus lines tax owed on the premium.
sFeeStamping fee (the fee charged by the state's surplus lines stamping office).
otherAny other applicable charge (for example local government tax or fire marshal tax, if the state levies one).
totalSum of the above. What the insured owes in taxes and fees for this policy.

That's the full quote. There's nothing else to calculate on your end, add total to the premium if you need the all-in cost to show a client.

No filing has been created yet

/calculate never touches your filing records. It's a pure calculation: same inputs always produce the same outputs, and nothing is saved. When you're ready to actually submit the policy, move on to Submit a filing.