V3 is in beta. General availability (GA) is planned for January 2027.
Overview
These limits apply toPOST /v3/routing/solve, /v3/routing/evaluate and /v3/routing/suggest, and to POST /v3/routing/runs, which takes the solve body (see Async runs for what differs). Most are checked before any travel times are fetched, so an oversized request fails fast and is reported by ?validate_only=true as well.
A request over a count limit gets a 400 whose errors[] item has code limit_exceeded, the limit and the actual count your request has:
400 Bad Request
Request
Solve time
time_limit_s is a number of seconds, fractions allowed, and counts search time only. Fetching travel times and waiting for a free solver are not deducted from it, so the request takes somewhat longer than the budget you set; set your HTTP client timeout accordingly. Evaluate takes no options because it does not search.
Problem size
Capacity, skills and tags
In a request with shipments and no jobs, the pointers shown as
/problem/jobs in this table read /problem/shipments.
Relations
Values
Prices
Amounts are in your currency. Prices have lower ceilings thandrop_fee and depots[].cost_per_visit.
For a rule that must always hold, use the hard field and not a high price:
eligible_vehicles in place of a large violation_cost, and a time window with no lateness price in place of a large lateness rate. See Constraints.
Rate limits
Requests are also rate limited by the API gateway. A request over the rate limit is rejected with429, and that response does not use the routing error body: see 429 Too Many Requests. The x-ratelimit-limit and x-ratelimit-remaining response headers are described in Authentication.
When the service is at capacity it answers 503 with a Retry-After header. See Errors.
Errors
The error body and every code.
Performance
Choosing a time limit for your problem size.