Send a Lead

One POST. You give us a customer and a vehicle; we run the search and email them their best options. You build no quoting UI and never see a price.

This is the fastest integration to ship and the one you have least control over. If you want the plans to appear on your own surface, use Search and Hand Off instead.

Endpoint: POST /api/v2/Partners/Lead

What happens after you call

The response comes back before most of the work does. This matters for how you handle it.

200 means accepted, not delivered. The plan search and the email happen after you get your response. If the search finds no plans for that vehicle, no email is sent and you are not told. Treat a 200 as "we have the lead", not "the customer has been contacted".

Request

curl -X POST https://chaiz-api-uat.azurewebsites.net/api/v2/Partners/Lead \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transactionId": "your-internal-reference-id",
    "utmParameters": "utm_source=partner&utm_medium=cps&utm_campaign=lead-gen",
    "lead": {
      "email": "customer@example.com",
      "firstName": "Jane",
      "lastName": "Roe"
    },
    "vehicle": {
      "state": "NY",
      "mileage": 42000,
      "vin": "5XXG14J25MG015777"
    }
  }'

Fields

Field Required Notes
lead.email Yes Where the plan email goes. Also how we match an existing customer.
lead.firstName, lead.lastName Yes Used in the email and on the CRM contact.
vehicle.state Yes Two-letter US state code. Pricing and plan availability both depend on it.
vehicle.mileage See below Required for make/model/year. Always send it; without it, pricing is guesswork.
vehicle.vin or make+model+year or licensePlate Yes Exactly one of the three. See vehicle identification.
transactionId No Your own reference. Echoed back in webhook notifications so you can correlate. Send one.
utmParameters No A raw query string. Drives attribution on the sale. See below.
partner No Leave it out; resolved from your token.

Send exactly one vehicle identifier. Sending a VIN and a license plate together is ambiguous and will not do what you expect.

Response

{
  "success": true,
  "message": "Lead processed successfully"
}

A 400 means the request did not validate, most often a missing state, a missing mileage on a make/model/year lead, or no usable vehicle identifier. See Errors.

Getting credit for the sale

If the customer buys, attribution flows from utmParameters. Pass a query string:

utm_source=partner&utm_medium=cps&utm_campaign=your-campaign-name&utm_content=email

Your utm_campaign is the value agreed with your account manager during onboarding. It is what ties the resulting order back to you in reporting and, where applicable, to payout. Get it wrong or omit it and the sale may not be credited to you.

Attribution is set up per account. If you are unsure what utm_campaign to send, ask dev-support@chaiz.com before you go live rather than guessing.

What you cannot see

Be clear-eyed about the trade-off you are making:

  • No prices. You never receive a quote, so you cannot show or reference a price.
  • No delivery confirmation. There is no callback telling you the email went out, or that it did not because nothing matched.
  • No plan control. We pick the top three by rating. You cannot filter or reorder them.
  • The customer leaves your surface. They continue in their inbox, then on Chaiz.

If any of those are a problem, Search and Hand Off gives you the prices and the plan list for one extra field and roughly a day of work.

A good pairing

Leads work well alongside a search integration rather than instead of one. Show plans on your site for customers ready to buy, and post a lead for the ones who bounce, so we follow up instead of losing them. The two use different endpoints and do not conflict.

Next steps