Overview
The V3 Routing API is a high-performance vehicle routing solver: send it jobs (and, for pickup-then-delivery work, shipments) plus a fleet of vehicles, and it returns optimised routes with arrival times, an itemised cost breakdown, and structured reasons for anything it couldn’t assign. It replaces the V2 VRP API (/v2/vrp/sync/solve, still available for backwards compatibility — see Migration from V2) with a faster engine, named capacity dimensions, and a money-denominated cost model everywhere.
Base URL
This guide covers
/v3/routing/solve, the one you’ll use first.
Your first solve
1
Get your API key
Sign in to the Solvice Dashboard and copy your API key from Settings → API Keys. See Authentication for the full flow.
2
Send a solve request
3
Read the response
The response carries a
summary, one entry per non-empty routes[], and any unassigned jobs with structured reasons:routes[].vehicle is the plain vehicle.id string from the request — not a { "type", "instance" } object; there is no vehicle count/clone field in V3 (fleet size is one entry per physical vehicle). This request set no objective, so V3 seeded its default travel baseline (€0.20/km, €35/travel-hour) to compute the 168.4 above, and estimated_cost.currency is absent because no objective.costs.currency label was sent. travel and waiting are always present in components; drop_fees and overtime appear only when the request has a droppable task or per_overtime_hour set. See Objective Function for the full breakdown.What’s new in V3
Next steps
- Migration from V2 — map V2 concepts to V3
- The V3 API Model — jobs, shipments, vehicles, relations, objective
- Constraints — every field-level constraint the solver enforces, hard vs. soft
- API Reference — full endpoint documentation
- Concepts — understand jobs, vehicles, constraints, and objectives