Send product: "Auto" with the customer, address, auto and demographics
sections. Everything under auto is optional. Enum values must match the code
values below, or the customer is asked to pick again on the review page.
body_style is intentionally omitted: it is decoded from the VIN / picked
on review from the live vehicle list. A free-text value like "SUV" is not a
body-style code and would be rejected on the review page. date_first_licensed
must be on/after the driver’s 16th birthday.
Per-vehicle coverage fields. The four deductible selects
(vehicle_comp_deductible, vehicle_coll_deductible, vehicle_towing_and_labor,
vehicle_transportation_expense) are required on the review page for every
vehicle — send them so the customer doesn’t have to. custom_equipment_value_cents
(the “Modifications value”) is only asked when vehicle_has_modifications is
true, as on the second vehicle above.
Empty / overflow slots. If you capture vehicles/drivers into a fixed set
of slots, it’s safe to send unfilled ones: a slot whose fields are all
blank is dropped, but a slot with any value is kept and shown as
needs-attention on the review page (a half-captured vehicle is never silently
dropped). If the household has more entities than your slots, send
vehicle_count / driver_count (the true totals) so the overflow is flagged
for follow-up — see the auto quote-level table.
Co-applicant vs. second driver are separate concepts. demographics.co_applicant
is the second named insured on the policy (used across all products);
auto.drivers[] (after the first) are the rated drivers on the vehicles. A
spouse who is both — as above — is sent in both places. Drivers after the first
take a relationship_to_insured.
NJ auto uses the same structure with a few NJ-only policy fields. Send them
alongside the coverage selections on the auto object (they are ignored outside NJ):
ActiveMilitaryDuty, DrivingCompanyCar, DrivingCarOwnedByRelative, HasNotOwnedOrOperatedVehicle, OwnedVehParkedStoredOffRoadNotDriven, NonPayment, Other
auto_cancelled_declined_refused_to_renew
boolean
Cancelled/declined/non-renewed in the last 5 years.
auto_current_annual_premium_cents
integer
In cents.
vehicle_count / driver_count
integer
The true totals the customer reported. Send these when the household has more vehicles/drivers than the slots you captured — the server flags the overflow (vehicles_overflow:<received>_of_<reported> / drivers_overflow:… in warnings) so the rest can be added later, rather than losing them silently.
Coverage selections (TX values; NJ uses slightly different lists and the
customer confirms on review)
17 chars. Uppercased on intake. Strongly recommended — it also links accidents/losses to the vehicle.
year
integer
1981–current year.
make, model, body_style
string
Uppercased on intake and checked against the live vehicle database on the review page (e.g. TOYOTA / RAV4 XLE / SUV). A value that isn’t in the list flags the field for the customer to re-pick.
ownership
enum
Owned, Leased, Lien. Alias for ownership_type.
primary_use
enum
Business, Pleasure, Farming, To_FromWork, To_FromSchool. Alias for usage.
miles_to_work
integer
Required when primary_use is To_FromWork/To_FromSchool (one-way daily miles).
Driver history — strict entries. Unlike other draft fields, incident
entries are not shown on the review page, so an incomplete or invalid entry
is dropped whole with a warning (incomplete_accident_dropped,
incomplete_violation_dropped, incomplete_loss_dropped) — ask again and re-send if you get one. All listed fields are required per entry:
Entry
Required fields
violations[]
code (Zywave violation description, e.g. Speeding, DWI, Failure to Stop), occurred_at (YYYY-MM-DD)
accidents[]
description (At Fault With Injuries, At Fault With No Injury, Not At Fault), occurred_at, property_damage_amount_paid_cents, personal_injury_amount_paid_cents (cents; 0 is fine), plus optional vehicle_vin linking it to a vehicle
losses[]
description (Fire, Hail, Theft/Burglary, Glass, Towing, Wind, Flood, All Others, …), date_of_incident, amount_paid_cents, plus optional vehicle_vin
Not submitted to the carrier. Per-driver violations, accidents and
losses are validated and kept on the application, but they are not sent to
the carrier at bind time.