Lead intake API
Create a lead
Send one lead per request. This page covers the standard format; the legacy format has its own page.
The request
POST
/api/v1/public/leads- Send to
https://api.routedesk.comover HTTPS. - Set
Content-Type: application/jsonand send the lead as a JSON object. - Authenticate with your Auth Key, as described in Authentication.
- One lead per request. There is no batch endpoint.
A 201 response carries the new lead's leadId. The example beside this text uses every field the standard format accepts.
The minimum request
A lead needs:
- a pickup and a delivery location, each with a
cityand astate; - at least one vehicle, with a
makeand amodel; - a way to reach the customer: a
phone, anemail, or both.
Everything else is optional, but the more you send, the faster the broker can quote.
Fields
Fields marked Required must always be present. Length limits are enforced: a longer value is rejected with 422, not cut short.
firstNamestring, up to 100 charactersOptional- The customer's first name.
lastNamestring, up to 100 charactersOptional- The customer's last name.
emailstring, up to 320 charactersOptional- The customer's email address. Must be a valid address. Send
phone,email, or both. A lead with neither is rejected. phonestring, up to 40 charactersOptional- The customer's phone number, in any format. E.164 (
+13055550142) is best. Sendphone,email, or both. A lead with neither is rejected. originobjectRequired- Where the vehicle is picked up.
citystring, up to 100 charactersRequired- City name.
statestring, up to 50 charactersRequired- State or province, ideally the two-letter code (
FL,ON). postalCodestring, up to 20 charactersOptional- ZIP or postal code.
countrystring, up to 40 charactersOptional- Two-letter ISO code such as
USorCA.USA,United States,CanadaandMexicoare also understood. If it is missing or not recognized,USis saved.
destinationobjectRequired- Where the vehicle is delivered.
citystring, up to 100 charactersRequired- City name.
statestring, up to 50 charactersRequired- State or province, ideally the two-letter code (
FL,ON). postalCodestring, up to 20 charactersOptional- ZIP or postal code.
countrystring, up to 40 charactersOptional- Two-letter ISO code such as
USorCA.USA,United States,CanadaandMexicoare also understood. If it is missing or not recognized,USis saved.
shipDatestring, up to 30 charactersOptional- The date the customer wants to ship, as
YYYY-MM-DD. A time after the date is allowed and ignored. Any other format is rejected. A date that does not exist, such as2026-02-30, is ignored. Without a usable date the lead is saved as "first available". transportTypestringOptionalOPENorENCLOSED, in any letter case. Anything else is rejected. Defaults toOPEN.notesstring, up to 2000 charactersOptional- Anything the customer told you that does not fit another field. Shown to the broker.
vehiclesarray of objectsRequired- The vehicles to ship. At least one.
makestring, up to 50 charactersRequired- For example
Toyota. modelstring, up to 50 charactersRequired- For example
Camry. modelYearnumber or stringOptional- A number or a numeric string, such as
2022or"2022". If it is missing, or earlier than 1900, or more than two years in the future, the current year is saved. typestring, up to 50 charactersOptional- One of
CAR,SUV,TRUCK,VAN,MOTORCYCLE,RV,ATV,BOAT,OTHER, in any letter case. Anything else, or no value, is saved asOTHER. inoperablebooleanOptionaltrueif the vehicle does not run. Must be a boolean, not1. Defaults tofalse.
Fields RouteDesk does not know
A field that is not listed above is ignored, and the lead is still created. That keeps a request working if you send extra data, but it also means a misspelled field name fails silently: firstname instead of firstName creates a lead with no first name.
The broker can see which field names were ignored on each submission, so they can spot a typo on their side too.