Skip to content

Auto applications

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.

{
"call": {
"id": "crm-application-10482"
},
"consent": {
"sms_review_link": true
},
"product": "Auto",
"customer": {
"first_name": "Maria",
"last_name": "Gomez",
"email": "maria.gomez@example.com",
"phone": "1234567890",
"date_of_birth": "1985-06-15",
"ssn": "123-45-6789"
},
"address": {
"line_1": "1100 Congress Ave",
"city": "Austin",
"state": "TX",
"postal_code": "78701"
},
"auto": {
"current_carrier": "Progressive",
"policy_expiration_date": "2026-09-01",
"effective_date": "2026-08-01",
"auto_prior_years": 3,
"auto_prior_months": 4,
"auto_continuous_coverage_years": 5,
"auto_prior_liability_limit": "HundredToThreeHundred",
"auto_cancelled_declined_refused_to_renew": false,
"policy_bi": "cov100to300",
"policy_um": "cov100to300",
"policy_pd": "cov100000",
"policy_mp": "cov5000",
"policy_umpd": "cov50000",
"policy_pip": "cov2500",
"policy_auto_death_indemnity": "NoCoverage",
"vehicles": [
{
"vin": "4T1BF1FK5CU123456",
"year": 2021,
"make": "TOYOTA",
"model": "RAV4",
"ownership": "Owned",
"primary_use": "To_FromWork",
"miles_to_work": 12,
"annual_mileage": 12000,
"new_when_purchased": false,
"vehicle_comp_deductible": "FiveHundred",
"vehicle_coll_deductible": "FiveHundred",
"vehicle_towing_and_labor": "NoCoverage",
"vehicle_transportation_expense": "NoCoverage",
"vehicle_garaged_at_residence": false,
"vehicle_has_modifications": false
},
{
"vin": "1FTFW1ET5DFC98765",
"year": 2019,
"make": "FORD",
"model": "F-150",
"ownership": "Lien",
"primary_use": "Pleasure",
"annual_mileage": 6000,
"vehicle_comp_deductible": "Thousand",
"vehicle_coll_deductible": "Thousand",
"vehicle_towing_and_labor": "NoCoverage",
"vehicle_transportation_expense": "NoCoverage",
"vehicle_garaged_at_residence": true,
"garaging_address": "500 W 6th St, Austin, TX 78701",
"vehicle_has_modifications": true,
"custom_equipment_value_cents": 350000
}
],
"drivers": [
{
"first_name": "Maria",
"last_name": "Gomez",
"date_of_birth": "1985-06-15",
"gender": "Female",
"marital_status": "Married",
"education_level": "Bachelors",
"industry": "Info Tech",
"occupation": "Software Engineer",
"license_status": "Valid",
"license_state": "TX",
"license_number": "12345678",
"date_first_licensed": "2004-06-20",
"sr22": false,
"last_5_years_license_suspended_or_revoked": false
},
{
"first_name": "Carlos",
"last_name": "Gomez",
"date_of_birth": "1983-02-20",
"gender": "Male",
"marital_status": "Married",
"relationship_to_insured": "Spouse",
"education_level": "AssociatesDegree",
"industry": "Construct/EnrgyTrds",
"occupation": "Electrician",
"license_status": "Valid",
"license_state": "TX",
"license_number": "87654321",
"date_first_licensed": "2001-05-10",
"is_registered_owner": false,
"sr22": false,
"last_5_years_license_suspended_or_revoked": false
}
]
},
"demographics": {
"gender": "Female",
"marital_status": "Married",
"industry": "Info Tech",
"occupation": "Software Engineer",
"residence_type": "Own Home",
"years_at_address": 4,
"months_at_address": 2,
"household_size": 2,
"is_mailing_address_different": false,
"has_co_applicant": true,
"order_credit_authorized": true,
"has_health_insurance_auto_accident": true,
"named_insured_foreclosure_repo_bankruptcy": false,
"named_insured_convicted_insurance_fraud": false,
"is_corporation": false,
"co_applicant": {
"first_name": "Carlos",
"last_name": "Gomez",
"gender": "Male",
"marital_status": "Married",
"relationship": "Spouse",
"date_of_birth": "1983-02-20",
"industry": "Construct/EnrgyTrds",
"occupation": "Electrician"
}
}
}

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):

"auto": {
"tort_threshold": "Verbal_Threshold",
"pip_coverage_type": "Primary",
"extended_medical": "cov10000",
"additional_pip": "cov100_10400_LIMITED",
"policy_pip_deductible": "cov500"
}

All optional at intake. Prior-insurance and coverage-selection fields for the policy as a whole; per-vehicle deductibles live on each vehicle.

Field Type Valid values / notes
current_carrier enum NoPriorInsurance or a carrier code (Progressive, Allstate, Geico, StateFarm, USAA, …). Alias for auto_prior_carrier_name.
policy_expiration_date string YYYY-MM-DD. Alias for auto_prior_expiration_date.
effective_date string YYYY-MM-DD — when coverage should begin.
auto_prior_years, auto_prior_months, auto_continuous_coverage_years integer Tenure with the prior carrier / continuous coverage.
auto_prior_liability_limit enum Dontknow, ThirtyToSixty, FiftyToHundred, HundredToHundred, HundredToThreeHundred, TwoHundredFiftyToFiveHundred, ThreeHundredToThreeHundred, FiveHundredToFiveHundred, HundredCSL, ThreeHundredCSL, FiveHundredCSL
auto_reason_for_no_insurance enum 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)

Field Type Valid values
policy_bi enum Dontknow, cov30to60, cov50to100, cov100to100, cov100to300, cov250to500, cov300to300, cov500to500, cov100CSL, cov300CSL, cov500CSL
policy_um enum Reject + same coverage codes as policy_bi
policy_pd enum Dontknow, cov25000, cov50000, cov100000, cov250000, cov500000
policy_mp enum None, cov500, cov1000, cov2000, cov2500, cov5000, cov10000, cov15000, cov25000, cov50000, cov100000 (TX only)
policy_umpd enum NoCoverage, cov25000, cov50000, cov100000
policy_pip enum No_Coverage, cov2500, cov5000, cov10000, cov15000, cov25000, cov50000, cov100000, cov250000
policy_auto_death_indemnity enum NoCoverage, cov5000, cov10000 (TX only)

NJ-only policy fields (ignored by the review page outside NJ)

Field Type Valid values
tort_threshold enum Verbal_Threshold, Zero_Threshold
pip_coverage_type enum Primary, Secondary
extended_medical enum cov1000, cov10000
additional_pip enum cov100_10400_LIMITED … cov700_UNLIMITED (Additional PIP codes)
policy_pip_deductible enum cov250, cov500, cov1000, cov2000, cov2500
Field Type Valid values / notes
vin string 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).
annual_mileage integer
new_when_purchased, ride_share, vehicle_garaged_at_residence, vehicle_has_modifications, anti_lock_brakes, daytime_running_lights, vehicle_full_glass, vehicle_loan_lease boolean Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
garaging_address string Full street address; geocoded server-side.
purchase_date string YYYY-MM-DD
cost_new_value_cents, stated_value_amount_cents, custom_equipment_value_cents integer In cents.
vehicle_comp_deductible, vehicle_coll_deductible enum NoCoverage, Zero, Fifty, Hundred, TwoHunderd, TwoHundredfifty, FiveHundred, SeventyFiveHundred, Thousand, TwoThousand
vehicle_towing_and_labor enum NoCoverage, TwentyFive, Forty, Fifty, SeventyFive, Eighty, Hundred, TwelveHundred, TwoHundred, Unlimited
vehicle_transportation_expense enum NoCoverage, cov20to600, cov30to900, cov40to1200, cov50to1500
anti_theft_type enum None, Active, Alarm Only, Passive, Vehicle Recovery System, Both Active and Passive (optional).
passive_restraint_type enum None, Auto Seatbelts, Airbag (Driver Side), Auto Seatbelts/Driver Airbag, Airbag Both Sides, Auto Seatbelts/Airbag Both Sides (optional).

The first driver should be the applicant.

Field Type Valid values / notes
first_name, middle_name, last_name string
date_of_birth string YYYY-MM-DD
gender enum Male, Female
marital_status enum Married, Single, Divorced, Widowed, Separated
education_level enum NoHighSchoolDiploma, HighSchoolDiploma, SomeCollegeNoDegree, VocationalTechnicalDegree, AssociatesDegree, Bachelors, Masters, Phd, MedicalDegree, LawDegree
industry enum Same list as demographics.industry.
occupation string Send a value from the driver’s industry list in Occupation values by industry, or a common title from Recognized occupation aliases. Anything else resolves to Other.
license_status enum Valid, Suspended, Permit, Unlicensed
license_state enum 2-letter state, International, or Canada
license_number string
date_first_licensed string YYYY-MM-DD
relationship_to_insured enum Drivers after the first: Spouse, Parent, Child, Domestic Partner, Relative, Employee, Other
is_registered_owner, sr22, last_5_years_license_suspended_or_revoked, accident_prevention_course boolean
accident_prevention_course_date string YYYY-MM-DD
ssn string 9 digits; encrypted at rest, masked in audit.

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.