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
- Search and Hand Off if you want plans on your own surface.
- Plan Search Reference for vehicle identifier rules, which are the same here as everywhere.
- Errors for validation codes.