Skip to content
GuidesPlaygroundDashboard

Optimize route through waypoints

OptimizeResult Optimize.Create(OptimizeCreateParamsparameters, CancellationTokencancellationToken = default)
POST/api/v1/optimize

Optimize route through waypoints

ParametersExpand Collapse
OptimizeCreateParams parameters
required GeoJsonGeometry waypoints

Waypoints to visit (GeoJSON MultiPoint geometry, minimum 2 points)

Mode mode

Travel mode (default: auto)

"auto"Auto
"foot"Foot
"bicycle"Bicycle
Boolean roundtrip

Whether route returns to start (default: true)

ReturnsExpand Collapse
class OptimizeResult: A class that can be one of several variants.union

Optimization response — either a completed GeoJSON Feature route or an async job reference

class OptimizeCompletedResult:

Completed optimization — GeoJSON Feature with optimized route

required GeoJsonGeometry Geometry
required Coordinates Coordinates

GeoJSON coordinates array (nesting depth varies by geometry type)

One of the following:
IReadOnlyList<Double>
IReadOnlyList<IReadOnlyList<Double>>
IReadOnlyList<IReadOnlyList<IReadOnlyList<Double>>>
IReadOnlyList<IReadOnlyList<IReadOnlyList<IReadOnlyList<Double>>>>
required Type Type
One of the following:
"Point"Point
"LineString"LineString
"Polygon"Polygon
"MultiPoint"MultiPoint
"MultiLineString"MultiLineString
"MultiPolygon"MultiPolygon
required Properties Properties
Double Distance

Total distance in meters

Double Duration

Estimated duration in seconds

IReadOnlyList<Long> WaypointOrder

Optimized waypoint ordering

required Status Status

Job status

required Type Type
class OptimizeProcessingResult:

Async optimization in progress — poll with the job_id

required string JobID

Job ID for polling

required Status Status

Job status

Optimize route through waypoints

OptimizeCreateParams parameters = new()
{
    Waypoints = new()
    {
        Coordinates = new(

            [
                0
            ]
        ),
        Type = Type.Point,
    },
};

var optimizeResult = await client.Optimize.Create(parameters);

Console.WriteLine(optimizeResult);
Returns Examples