Skip to main content

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

Five endpoints make up the API: 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