Quickstart — your first lead in 5 minutes
This guide takes you from an API key to your first successful lead submission. All you need is an API key and the Navigo domain.
Step 1. Get your API key
A Navigo admin issues the key for you (generated via the Management API). The key looks like this:
lp_live_7f2a91_r3vS6gG8-QzM5h...
:::danger The key is shown only once The key is shown in full only once, at creation time, and is never stored in plain text. Keep it somewhere safe (for example, an environment variable). :::
Store the key as an environment variable:
export NAVIGO_API_KEY="lp_live_7f2a91_r3vS6gG8-QzM5h..."
Step 2. Submit your first lead
POST
/api/v1/public/leads/Copy the request below and replace the domain and key with your own:
- curl
- JavaScript
- Python
curl -X POST https://api.navigo.example/api/v1/public/leads/ \
-H "Authorization: Bearer $NAVIGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"external_id": "lead_998123A",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"phone_number": "+1234567890",
"origin_city": "Los Angeles",
"origin_state": 5,
"origin_zip": "90001",
"destination_city": "New York",
"destination_zip": "10001",
"estimated_ship_date": "2026-06-15",
"vehicles": [
{"year": 2023, "make": "Tesla", "model": "Model S", "type": "CAR", "tariff": 1200, "deposit": 200}
]
}'
const res = await fetch("https://api.navigo.example/api/v1/public/leads/", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.NAVIGO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
external_id: "lead_998123A",
first_name: "John",
last_name: "Doe",
email: "john.doe@example.com",
phone_number: "+1234567890",
origin_city: "Los Angeles",
origin_state: 5,
origin_zip: "90001",
destination_city: "New York",
destination_zip: "10001",
estimated_ship_date: "2026-06-15",
vehicles: [
{year: 2023, make: "Tesla", model: "Model S", type: "CAR", tariff: 1200, deposit: 200},
],
}),
});
if (!res.ok) throw new Error(`Lead failed: ${res.status}`);
const data = await res.json();
console.log(data);
import os, requests
resp = requests.post(
"https://api.navigo.example/api/v1/public/leads/",
headers={"Authorization": f"Bearer {os.environ['NAVIGO_API_KEY']}"},
json={
"external_id": "lead_998123A",
"first_name": "John", "last_name": "Doe",
"email": "john.doe@example.com", "phone_number": "+1234567890",
"origin_city": "Los Angeles", "origin_state": 5, "origin_zip": "90001",
"destination_city": "New York", "destination_zip": "10001",
"estimated_ship_date": "2026-06-15",
"vehicles": [{"year": 2023, "make": "Tesla", "model": "Model S",
"type": "CAR", "tariff": 1200, "deposit": 200}],
},
timeout=15,
)
resp.raise_for_status()
lead = resp.json()
print(lead)
On success, you get 201 Created and the lead details:
{
"id": 1042,
"order_number": "00001042-XT",
"state": "LEAD",
"lead_status": "LEAD",
"external_id": "lead_998123A"
}
Step 3. Check the lead status
GET
/api/v1/public/leads/{external_id}/curl https://api.navigo.example/api/v1/public/leads/lead_998123A/ \
-H "Authorization: Bearer $NAVIGO_API_KEY"
As Navigo processes the lead, the state field advances through LEAD → QUOTE → ORDER.
Done! Next steps
- Create Lead — full field reference.
- Data Models — Vehicle object, enums, state ID lookup.
- Authentication — key format, rate limits, security.