Skip to main content
POST
Evaluate an imported solution
V3 is in beta. General availability (GA) is planned for January 2027.

Authorizations

Authorization
string
header
required

Body

application/json

Request body for POST /v3/routing/evaluate.

Scores plan against problem without running the optimizer: objective totals, timing, loads and constraint violations. Tasks absent from every route are reported as unassigned. A solve response's plan goes in as it stands.

plan
object
required

The plan to score.

problem
object
required

Problem definition — identical to POST /v3/routing/solve.

Example:

Response

Solution evaluated.

The result of POST /v3/routing/solve and POST /v3/routing/evaluate: one shape for a plan the solver built and a plan it was given to score.

plan
object
required

The plan these routes follow, in the request's vocabulary: valid input to evaluate, suggest or a warm-started solve as it stands.

routes
object[]
required

One entry per non-empty route.

summary
object
required

Aggregate statistics for the solve run.

Example:
unassigned
object[]
required

Tasks that could not be feasibly assigned.

warnings
object[]
required

Inputs the request carried that changed nothing. Always present, empty when there are none (no input produces one today); at most 100 are returned. Each item has a code, a pointer to the field and a message. Accept codes you do not know.

search_progress
object[] | null

How the best plan improved during the search, oldest first: the starting plan, every improvement (thinned to at most 500 entries), and the final plan, which equals summary.score (it can equal, or be slightly worse than, the entry before it). Present on every solve; absent on evaluate, which does not search. A large request that is solved in parts has the final entry alone.