MCP server
For agents. Connect once and the tools you have purchased appear.
Endpoint:
https://open.superroute.ca/mcp
Token endpoint:
https://open.superroute.ca/v1/auth/session
The tool listing is your purchased catalog, not the product catalog: an agent connected with your credentials sees only what you have enabled. It therefore cannot call something it would only be refused for.
Connecting
MCP clients should not hold the API token itself, so they authenticate with a short-lived session token. Exchange the API token at the token endpoint for a bearer token, then set that on the connection.
{
"mcpServers": {
"superroute-open": {
"url": "https://open.superroute.ca/mcp",
"headers": { "Authorization": "Bearer sr_sess_…" }
}
}
}
Tools
Route optimization 4
| Tool | Capability | Billed in |
|---|---|---|
open_routing_insert |
routing.insert
Stop insertion (beta)
|
node |
open_routing_optimize |
routing.optimize
Route optimization
|
node |
open_routing_refine |
routing.refine
Route refinement
|
node |
open_routing_what_if |
routing.whatif
Plan comparison
|
call |
Examples: open_routing_insert
Arguments
{
"request": {
"departed_at": "2026-11-02T08:00:00-05:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
},
"time_window": [
"2026-11-02T08:00:00-05:00",
"2026-11-02T17:00:00-05:00"
]
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
},
"time_windows": [
[
"2026-11-02T09:00:00-05:00",
"2026-11-02T12:00:00-05:00"
]
]
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 240,
"amount": {
"parcels": 1
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002"
]
},
{
"vehicle_id": "van-2",
"stops": [
"order-1003"
]
}
],
"insert": [
{
"id": "order-1004",
"location": {
"lat": 45.5155,
"lng": -73.5605
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1005",
"location": {
"lat": 45.492,
"lng": -73.583
},
"service_seconds": 180,
"amount": {
"parcels": 9
}
}
]
}
}
Result
{
"mode": "sync",
"data": {
"placements": [
{
"job": "order-1004",
"vehicle_id": "van-1",
"position": 2,
"after": "order-1001",
"added_distance_meters": 1505,
"added_duration_seconds": 213,
"added_waiting_seconds": -513,
"arrival": "2026-11-02T08:11:57-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:11:57-05:00",
"alternatives": [
{
"vehicle_id": "van-1",
"position": 1,
"after": null,
"added_distance_meters": 2345,
"added_duration_seconds": 309,
"added_waiting_seconds": -609,
"arrival": "2026-11-02T08:04:31-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:04:31-05:00"
},
{
"vehicle_id": "van-2",
"position": 1,
"after": null,
"added_distance_meters": 849,
"added_duration_seconds": 127,
"added_waiting_seconds": 0,
"arrival": "2026-11-02T08:04:31-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:04:31-05:00"
},
{
"vehicle_id": "van-2",
"position": 2,
"after": "order-1003",
"added_distance_meters": 1402,
"added_duration_seconds": 211,
"added_waiting_seconds": 0,
"arrival": "2026-11-02T08:17:27-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:17:27-05:00"
}
]
},
{
"job": "order-1005",
"vehicle_id": "van-2",
"position": 2,
"after": "order-1003",
"added_distance_meters": 3080,
"added_duration_seconds": 357,
"added_waiting_seconds": 0,
"arrival": "2026-11-02T08:21:12-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:21:12-05:00",
"alternatives": [
{
"vehicle_id": "van-2",
"position": 1,
"after": null,
"added_distance_meters": 3495,
"added_duration_seconds": 431,
"added_waiting_seconds": 0,
"arrival": "2026-11-02T08:05:14-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:05:14-05:00"
}
]
}
],
"unplaced": [],
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 5,
"task_count": 3,
"distance_meters": 7921,
"duration_seconds": 1045,
"service_seconds": 900,
"waiting_seconds": 2152,
"departure": "2026-11-02T08:00:00-05:00",
"completion": "2026-11-02T09:08:17-05:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-11-02T08:00:00-05:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1840,
"leg_duration_seconds": 245,
"leg_geometry": null,
"arrival": "2026-11-02T08:04:05-05:00",
"arrival_epoch": 1793624645,
"distance_meters": 1840,
"duration_seconds": 245
},
{
"type": "job",
"id": "order-1004",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 1233,
"leg_duration_seconds": 172,
"leg_geometry": null,
"arrival": "2026-11-02T08:11:57-05:00",
"arrival_epoch": 1793625117,
"distance_meters": 3073,
"duration_seconds": 417
},
{
"type": "job",
"id": "order-1002",
"sequence": 3,
"reachable": true,
"leg_distance_meters": 3380,
"leg_duration_seconds": 431,
"leg_geometry": null,
"arrival": "2026-11-02T08:24:08-05:00",
"arrival_epoch": 1793625848,
"distance_meters": 6453,
"duration_seconds": 848,
"waiting_seconds": 2152
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 1468,
"leg_duration_seconds": 197,
"leg_geometry": null,
"arrival": "2026-11-02T09:08:17-05:00",
"arrival_epoch": 1793628497,
"distance_meters": 7921,
"duration_seconds": 1045
}
]
},
{
"vehicle_id": "van-2",
"stop_count": 4,
"task_count": 2,
"distance_meters": 10224,
"duration_seconds": 1273,
"service_seconds": 420,
"waiting_seconds": 0,
"departure": "2026-11-02T08:00:00-05:00",
"completion": "2026-11-02T08:28:13-05:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-11-02T08:00:00-05:00"
},
{
"type": "job",
"id": "order-1003",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 3635,
"leg_duration_seconds": 482,
"leg_geometry": null,
"arrival": "2026-11-02T08:08:02-05:00",
"arrival_epoch": 1793624882,
"distance_meters": 3635,
"duration_seconds": 482
},
{
"type": "job",
"id": "order-1005",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 4567,
"leg_duration_seconds": 550,
"leg_geometry": null,
"arrival": "2026-11-02T08:21:12-05:00",
"arrival_epoch": 1793625672,
"distance_meters": 8202,
"duration_seconds": 1032
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 2022,
"leg_duration_seconds": 241,
"leg_geometry": null,
"arrival": "2026-11-02T08:28:13-05:00",
"arrival_epoch": 1793626093,
"distance_meters": 10224,
"duration_seconds": 1273
}
]
}
],
"summary": {
"inserted": 2,
"unplaced": 0,
"added_distance_meters": 4585,
"added_duration_seconds": 570,
"violations": 0
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"objective": "duration",
"nearest": 25,
"legs_measured": 23
},
"billing": {
"unit": "node",
"quantity": 5,
"counted": true,
"breakdown": {
"planned_stops": 3,
"new_jobs": 2
}
}
}
Examples: open_routing_optimize
Arguments
{
"request": {
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
],
"time_window": [
"2026-11-02T08:00:00-05:00",
"2026-11-02T17:00:00-05:00"
]
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
]
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": [
2
]
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": [
3
],
"time_windows": [
[
"2026-11-02T09:00:00-05:00",
"2026-11-02T12:00:00-05:00"
]
]
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 240,
"amount": [
1
]
}
]
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-2",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:31:07-05:00",
"arrival_epoch": 1793626267,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
6
]
},
{
"type": "job",
"arrival": "2026-11-02T08:35:11-05:00",
"arrival_epoch": 1793626511,
"distance_meters": 1839,
"duration_seconds": 244,
"leg_distance_meters": 1839,
"leg_duration_seconds": 244,
"id": "order-1001",
"load": [
4
]
},
{
"type": "job",
"arrival": "2026-11-02T08:47:56-05:00",
"arrival_epoch": 1793627276,
"distance_meters": 5338,
"duration_seconds": 709,
"leg_distance_meters": 3499,
"leg_duration_seconds": 465,
"id": "order-1003",
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T09:00:00-05:00",
"arrival_epoch": 1793628000,
"distance_meters": 9220,
"duration_seconds": 1193,
"leg_distance_meters": 3882,
"leg_duration_seconds": 484,
"id": "order-1002",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T09:08:17-05:00",
"arrival_epoch": 1793628497,
"distance_meters": 10687,
"duration_seconds": 1390,
"leg_distance_meters": 1467,
"leg_duration_seconds": 197,
"load": [
0
]
}
],
"stop_count": 5,
"task_count": 3,
"distance_meters": 10687,
"duration_seconds": 1390,
"service_seconds": 840,
"waiting_seconds": 0,
"geometry": null
}
],
"unassigned": [],
"summary": {
"routes": 1,
"assigned": 3,
"unassigned": 0,
"distance_meters": 10687,
"duration_seconds": 1390
}
},
"warnings": [],
"meta": {
"engine": "sroute2",
"engine_version": "1.6.1",
"solve_id": "7a9a9276-0925-431f-b90a-6f7b1d981c93",
"capacity_dimensions": [
"0"
]
},
"billing": {
"unit": "node",
"quantity": 5,
"breakdown": {
"nodes": 5,
"jobs": 3,
"shipments": 0,
"shipment_nodes": 0,
"vehicles": 2,
"vehicle_nodes": 2
}
}
}
Examples: open_routing_refine
Arguments
{
"request": {
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
],
"time_window": [
"2026-11-02T08:00:00-05:00",
"2026-11-02T17:00:00-05:00"
]
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
]
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": [
2
]
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": [
3
],
"time_windows": [
[
"2026-11-02T09:00:00-05:00",
"2026-11-02T12:00:00-05:00"
]
]
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 240,
"amount": [
1
]
}
],
"existing_routes": [
{
"vehicle_id": "van-1",
"stops": [
{
"id": "order-1001"
},
{
"id": "order-1002"
}
]
},
{
"vehicle_id": "van-2",
"stops": [
{
"id": "order-1003"
}
]
}
]
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:00:00-05:00",
"arrival_epoch": 1793624400,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T08:08:01-05:00",
"arrival_epoch": 1793624881,
"distance_meters": 3635,
"duration_seconds": 481,
"leg_distance_meters": 3635,
"leg_duration_seconds": 481,
"id": "order-1003",
"load": [
2
]
},
{
"type": "job",
"arrival": "2026-11-02T08:18:34-05:00",
"arrival_epoch": 1793625514,
"distance_meters": 6563,
"duration_seconds": 874,
"leg_distance_meters": 2928,
"leg_duration_seconds": 393,
"id": "order-1001",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T08:27:15-05:00",
"arrival_epoch": 1793626035,
"distance_meters": 8356,
"duration_seconds": 1095,
"leg_distance_meters": 1793,
"leg_duration_seconds": 221,
"load": [
0
]
}
],
"stop_count": 4,
"task_count": 2,
"distance_meters": 8356,
"duration_seconds": 1095,
"service_seconds": 540,
"waiting_seconds": 0,
"geometry": null
},
{
"vehicle_id": "van-2",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:56:13-05:00",
"arrival_epoch": 1793627773,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T09:00:00-05:00",
"arrival_epoch": 1793628000,
"distance_meters": 1610,
"duration_seconds": 227,
"leg_distance_meters": 1610,
"leg_duration_seconds": 227,
"id": "order-1002",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T09:08:17-05:00",
"arrival_epoch": 1793628497,
"distance_meters": 3077,
"duration_seconds": 424,
"leg_distance_meters": 1467,
"leg_duration_seconds": 197,
"load": [
0
]
}
],
"stop_count": 3,
"task_count": 1,
"distance_meters": 3077,
"duration_seconds": 424,
"service_seconds": 300,
"waiting_seconds": 0,
"geometry": null
}
],
"unassigned": [],
"summary": {
"routes": 2,
"assigned": 3,
"unassigned": 0,
"distance_meters": 11433,
"duration_seconds": 1519
}
},
"warnings": [],
"meta": {
"engine": "sroute2",
"engine_version": "1.6.1",
"capacity_dimensions": [
"0"
]
},
"billing": {
"unit": "node",
"quantity": 5,
"breakdown": {
"nodes": 5,
"jobs": 3,
"shipments": 0,
"shipment_nodes": 0,
"vehicles": 2,
"vehicle_nodes": 2,
"route_stops": 0
}
}
}
Examples: open_routing_what_if
Arguments
{
"request": {
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
],
"time_window": [
"2026-11-02T08:00:00-05:00",
"2026-11-02T17:00:00-05:00"
]
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
]
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": [
2
]
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": [
3
],
"time_windows": [
[
"2026-11-02T09:00:00-05:00",
"2026-11-02T12:00:00-05:00"
]
]
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 240,
"amount": [
1
]
}
],
"existing_routes": [
{
"vehicle_id": "van-1",
"stops": [
{
"id": "order-1001"
},
{
"id": "order-1002"
}
]
},
{
"vehicle_id": "van-2",
"stops": [
{
"id": "order-1003"
}
]
}
]
}
}
Result
{
"mode": "sync",
"data": {
"plans": [
{
"plan_id": "min_change",
"strategy": "min_change",
"routes": [
{
"vehicle_id": "van-1",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:00:00-05:00",
"arrival_epoch": 1793624400,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T08:08:01-05:00",
"arrival_epoch": 1793624881,
"distance_meters": 3635,
"duration_seconds": 481,
"leg_distance_meters": 3635,
"leg_duration_seconds": 481,
"id": "order-1003",
"load": [
2
]
},
{
"type": "job",
"arrival": "2026-11-02T08:18:34-05:00",
"arrival_epoch": 1793625514,
"distance_meters": 6563,
"duration_seconds": 874,
"leg_distance_meters": 2928,
"leg_duration_seconds": 393,
"id": "order-1001",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T08:27:15-05:00",
"arrival_epoch": 1793626035,
"distance_meters": 8356,
"duration_seconds": 1095,
"leg_distance_meters": 1793,
"leg_duration_seconds": 221,
"load": [
0
]
}
],
"stop_count": 4,
"task_count": 2,
"distance_meters": 8356,
"duration_seconds": 1095,
"service_seconds": 540,
"waiting_seconds": 0,
"geometry": null
},
{
"vehicle_id": "van-2",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:56:13-05:00",
"arrival_epoch": 1793627773,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T09:00:00-05:00",
"arrival_epoch": 1793628000,
"distance_meters": 1610,
"duration_seconds": 227,
"leg_distance_meters": 1610,
"leg_duration_seconds": 227,
"id": "order-1002",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T09:08:17-05:00",
"arrival_epoch": 1793628497,
"distance_meters": 3077,
"duration_seconds": 424,
"leg_distance_meters": 1467,
"leg_duration_seconds": 197,
"load": [
0
]
}
],
"stop_count": 3,
"task_count": 1,
"distance_meters": 3077,
"duration_seconds": 424,
"service_seconds": 300,
"waiting_seconds": 0,
"geometry": null
}
],
"unassigned": [],
"summary": {
"routes": 2,
"assigned": 3,
"unassigned": 0,
"distance_meters": 11433,
"duration_seconds": 1519
}
},
{
"plan_id": "rebalance",
"strategy": "rebalance",
"routes": [
{
"vehicle_id": "van-2",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:31:07-05:00",
"arrival_epoch": 1793626267,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
6
]
},
{
"type": "job",
"arrival": "2026-11-02T08:35:11-05:00",
"arrival_epoch": 1793626511,
"distance_meters": 1839,
"duration_seconds": 244,
"leg_distance_meters": 1839,
"leg_duration_seconds": 244,
"id": "order-1001",
"load": [
4
]
},
{
"type": "job",
"arrival": "2026-11-02T08:47:56-05:00",
"arrival_epoch": 1793627276,
"distance_meters": 5338,
"duration_seconds": 709,
"leg_distance_meters": 3499,
"leg_duration_seconds": 465,
"id": "order-1003",
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T09:00:00-05:00",
"arrival_epoch": 1793628000,
"distance_meters": 9220,
"duration_seconds": 1193,
"leg_distance_meters": 3882,
"leg_duration_seconds": 484,
"id": "order-1002",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T09:08:17-05:00",
"arrival_epoch": 1793628497,
"distance_meters": 10687,
"duration_seconds": 1390,
"leg_distance_meters": 1467,
"leg_duration_seconds": 197,
"load": [
0
]
}
],
"stop_count": 5,
"task_count": 3,
"distance_meters": 10687,
"duration_seconds": 1390,
"service_seconds": 840,
"waiting_seconds": 0,
"geometry": null
}
],
"unassigned": [
{
"id": "order-1004",
"reason": "unspecified"
}
],
"summary": {
"routes": 1,
"assigned": 3,
"unassigned": 1,
"distance_meters": 10687,
"duration_seconds": 1390
}
}
]
},
"warnings": [],
"meta": {
"engine": "sroute2",
"engine_version": "1.6.1",
"capacity_dimensions": [
"0"
]
}
}
Dispatch 8
| Tool | Capability | Billed in |
|---|---|---|
open_plan_insert |
plan.insert
Job insertion (beta)
|
node |
open_plan_move |
plan.move
Stop moves (beta)
|
node |
open_plan_recost |
plan.recost
Plan re-costing
|
node |
open_plan_refine |
plan.refine
Route refinement (beta)
|
node |
open_plan_remove |
plan.remove
Stop removal (beta)
|
node |
open_plan_resequence |
plan.resequence
Route reordering (beta)
|
node |
open_plan_validate |
plan.validate
Plan validation
|
node |
open_plan_what_if |
plan.what_if
Plan comparison (beta)
|
node |
Examples: open_plan_insert
Arguments
{
"request": {
"departed_at": "2026-10-23T09:30:00-04:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
}
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
},
{
"id": "order-1004",
"location": {
"lat": 45.5302,
"lng": -73.6125
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002",
"order-1003"
]
}
],
"options": {
"geometry": false
},
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"insert": [
{
"id": "order-1005",
"location": {
"lat": 45.5149,
"lng": -73.5734
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
}
],
"limit": 2
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 6,
"task_count": 4,
"distance_meters": 12865,
"duration_seconds": 1664,
"service_seconds": 1200,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T10:17:44-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1840,
"leg_duration_seconds": 245,
"leg_geometry": null,
"arrival": "2026-10-23T09:34:05-04:00",
"arrival_epoch": 1792762445,
"distance_meters": 1840,
"duration_seconds": 245
},
{
"type": "job",
"id": "order-1002",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3108,
"leg_duration_seconds": 390,
"leg_geometry": null,
"arrival": "2026-10-23T09:45:35-04:00",
"arrival_epoch": 1792763135,
"distance_meters": 4948,
"duration_seconds": 635
},
{
"type": "job",
"id": "order-1003",
"sequence": 3,
"reachable": true,
"leg_distance_meters": 4326,
"leg_duration_seconds": 551,
"leg_geometry": null,
"arrival": "2026-10-23T09:59:46-04:00",
"arrival_epoch": 1792763986,
"distance_meters": 9274,
"duration_seconds": 1186
},
{
"type": "job",
"id": "order-1005",
"sequence": 4,
"reachable": true,
"leg_distance_meters": 1512,
"leg_duration_seconds": 218,
"leg_geometry": null,
"arrival": "2026-10-23T10:08:24-04:00",
"arrival_epoch": 1792764504,
"distance_meters": 10786,
"duration_seconds": 1404
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 2079,
"leg_duration_seconds": 260,
"leg_geometry": null,
"arrival": "2026-10-23T10:17:44-04:00",
"arrival_epoch": 1792765064,
"distance_meters": 12865,
"duration_seconds": 1664
}
]
}
],
"summary": {
"routes": 1,
"tasks": 4,
"distance_meters": 12865,
"duration_seconds": 1664,
"unreachable_legs": 0,
"violations": 0
},
"plan": {
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002",
"order-1003",
"order-1005"
]
}
],
"unassigned": [
"order-1004"
]
},
"insert": [
{
"job": "order-1005",
"placed": true,
"choices": [
{
"feasible": true,
"vehicle_id": "van-1",
"position": 4,
"after": "order-1003",
"added_distance_meters": 82,
"added_duration_seconds": 44,
"added_waiting_seconds": 0,
"arrival": "2026-10-23T10:08:24-04:00",
"waiting_seconds": 0,
"service_start": "2026-10-23T10:08:24-04:00"
},
{
"feasible": true,
"vehicle_id": "van-1",
"position": 3,
"after": "order-1002",
"added_distance_meters": 766,
"added_duration_seconds": 118,
"added_waiting_seconds": 0,
"arrival": "2026-10-23T09:56:57-04:00",
"waiting_seconds": 0,
"service_start": "2026-10-23T09:56:57-04:00"
}
]
}
]
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": false,
"geometry_format": null,
"departed_at": "2026-10-23T09:30:00-04:00",
"objective": "duration",
"limit": 2
},
"billing": {
"unit": "node",
"quantity": 4,
"counted": true,
"breakdown": {
"planned_stops": 3,
"new_jobs": 1
}
}
}
Examples: open_plan_move
Arguments
{
"request": {
"departed_at": "2026-10-23T09:30:00-04:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
}
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002",
"order-1003"
]
}
],
"options": {
"geometry": false
},
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"stops": [
"order-1003"
],
"vehicle_id": "van-2",
"position": 1
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 4,
"task_count": 2,
"distance_meters": 6246,
"duration_seconds": 822,
"service_seconds": 600,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T09:53:42-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1759,
"leg_duration_seconds": 231,
"leg_geometry": null,
"arrival": "2026-10-23T09:33:51-04:00",
"arrival_epoch": 1792762431,
"distance_meters": 1759,
"duration_seconds": 231
},
{
"type": "job",
"id": "order-1002",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3120,
"leg_duration_seconds": 411,
"leg_geometry": null,
"arrival": "2026-10-23T09:45:42-04:00",
"arrival_epoch": 1792763142,
"distance_meters": 4879,
"duration_seconds": 642
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 1367,
"leg_duration_seconds": 180,
"leg_geometry": null,
"arrival": "2026-10-23T09:53:42-04:00",
"arrival_epoch": 1792763622,
"distance_meters": 6246,
"duration_seconds": 822
}
]
},
{
"vehicle_id": "van-2",
"stop_count": 3,
"task_count": 1,
"distance_meters": 7104,
"duration_seconds": 934,
"service_seconds": 300,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T09:50:34-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1003",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 3552,
"leg_duration_seconds": 467,
"leg_geometry": null,
"arrival": "2026-10-23T09:37:47-04:00",
"arrival_epoch": 1792762667,
"distance_meters": 3552,
"duration_seconds": 467
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 3552,
"leg_duration_seconds": 467,
"leg_geometry": null,
"arrival": "2026-10-23T09:50:34-04:00",
"arrival_epoch": 1792763434,
"distance_meters": 7104,
"duration_seconds": 934
}
]
}
],
"summary": {
"routes": 2,
"tasks": 3,
"distance_meters": 13350,
"duration_seconds": 1756,
"unreachable_legs": 0,
"violations": 0
},
"plan": {
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002"
]
},
{
"vehicle_id": "van-2",
"stops": [
"order-1003"
]
}
],
"unassigned": []
},
"move": {
"vehicle_id": "van-2",
"position": 1,
"stops": [
"order-1003"
],
"from": [
{
"id": "order-1003",
"vehicle_id": "van-1",
"position": 3
}
],
"feasible": true,
"violations": 0
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": false,
"geometry_format": null,
"departed_at": "2026-10-23T09:30:00-04:00"
},
"billing": {
"unit": "node",
"quantity": 3,
"counted": true,
"breakdown": {
"tasks": 3,
"routes": 2
}
}
}
Examples: open_plan_recost
Arguments
{
"request": {
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
]
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": [
2
]
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": [
3
]
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002"
]
}
]
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 4,
"task_count": 2,
"distance_meters": 6416,
"duration_seconds": 832,
"service_seconds": 600,
"waiting_seconds": 0,
"departure": "2026-10-23T09:28:03-04:00",
"completion": "2026-10-23T09:51:55-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:28:03-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1840,
"leg_duration_seconds": 245,
"leg_geometry": "y`vtGjr_`MJUNYL[h@gAHOFQBIHOc@g@MOa@]s@q@EGEEk@g@k@k@CCMMDO@EDMBMBOBQBO@KBM?G@OBQ?G@MBQ@MBMBMBOBOBMFSDSBGBIBGHOvAkE@EHQGEECa@_@ECMKKIwAiA_CmBq@m@ECIIOKoAcAs@i@KIIIOMgA{@QMCCGGGE_@[m@g@a@[kA_ACCECKGKGWSQOwAkAGEGEu@o@CCMIMKGEYSeAq@OKa@WGG[Sy@g@w@k@s@e@GEGE??YQgAu@c@[QKc@YMKKG@EBK@EVo@@EDKDM@Cb@cAFOBIt@oBBEDUJFBBFDx@l@??",
"arrival": "2026-10-23T09:32:08-04:00",
"arrival_epoch": 1792762328,
"distance_meters": 1840,
"duration_seconds": 245
},
{
"type": "job",
"id": "order-1002",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3108,
"leg_duration_seconds": 390,
"leg_geometry": "elwtGl}|_Mx@n@BBFD\\ZDDDBz@l@`@\\~BdB~AjAf@\\DDBBLDEPEJe@zAADENGNCFW|@Y|@CFA@ELCHGRq@jBABu@tBCHAFEJGNADg@vAKXq@lBABEHAHgA|C_@fASf@ADGPO^JHbAt@`CrBBBJHLJhCzBJL~BvBFDJJHF~@r@zAdABBHFLHdDfCBBFFFDJHvDlCRJDBRHXPx@f@D@HHJFVV|@x@BBLJTRJJTTlBdBLL`@\\h@f@ZXNLr@p@BBB@JJJHv@r@j@h@DDNLJJp@l@HHj@j@DBLLRRfB`BBBJJHFv@r@x@t@B@HHJJz@v@RRl@j@BBHHJHhAfAj@j@BBNLHHLLVT|@z@HFIPw@tBmAbDy@vBe@pACDIPIRg@pAO\\{A`ECDAFEJHHp@p@??",
"arrival": "2026-10-23T09:43:38-04:00",
"arrival_epoch": 1792763018,
"distance_meters": 4948,
"duration_seconds": 635
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 1468,
"leg_duration_seconds": 197,
"leg_geometry": "{cutG|wa`Md@f@LJFDDDFBBBFBDKBGrAkDFQBGp@eB@EFSFSBCb@mAl@}AjA{Cb@iAd@mABEFQJ[IG{ByBIGGIMKIKo@m@OMGI[Yc@a@e@c@m@m@ECIIKKaA}@EEu@q@CCIIKIq@o@{@y@ECIIII_@[[Y_@_@ECWWQOIIGE]]QO_@]CCKKYWKIu@q@MMYWCCKKKIACoAiAuAoAKIs@q@eA_AKKCCOOJO@A??",
"arrival": "2026-10-23T09:51:55-04:00",
"arrival_epoch": 1792763515,
"distance_meters": 6416,
"duration_seconds": 832
}
]
}
],
"summary": {
"routes": 1,
"tasks": 2,
"distance_meters": 6416,
"duration_seconds": 832,
"unreachable_legs": 0,
"violations": 0
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": true,
"geometry_format": "polyline",
"departed_at": "2026-10-23T09:28:03-04:00"
},
"billing": {
"unit": "node",
"quantity": 2,
"counted": true,
"breakdown": {
"tasks": 2,
"routes": 1
}
}
}
Examples: open_plan_refine
Arguments
{
"request": {
"departed_at": "2026-10-23T09:30:00-04:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
}
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
},
{
"id": "order-1004",
"location": {
"lat": 45.5302,
"lng": -73.6125
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1002",
"order-1004",
"order-1001",
"order-1003"
]
}
],
"options": {
"geometry": false
},
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"freeze": [
"order-1002"
]
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 6,
"task_count": 4,
"distance_meters": 17473,
"duration_seconds": 2286,
"service_seconds": 1200,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T10:28:06-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1002",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1611,
"leg_duration_seconds": 227,
"leg_geometry": null,
"arrival": "2026-10-23T09:33:47-04:00",
"arrival_epoch": 1792762427,
"distance_meters": 1611,
"duration_seconds": 227
},
{
"type": "job",
"id": "order-1001",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3355,
"leg_duration_seconds": 421,
"leg_geometry": null,
"arrival": "2026-10-23T09:45:48-04:00",
"arrival_epoch": 1792763148,
"distance_meters": 4966,
"duration_seconds": 648
},
{
"type": "job",
"id": "order-1003",
"sequence": 3,
"reachable": true,
"leg_distance_meters": 3500,
"leg_duration_seconds": 466,
"leg_geometry": null,
"arrival": "2026-10-23T09:58:34-04:00",
"arrival_epoch": 1792763914,
"distance_meters": 8466,
"duration_seconds": 1114
},
{
"type": "job",
"id": "order-1004",
"sequence": 4,
"reachable": true,
"leg_distance_meters": 3487,
"leg_duration_seconds": 492,
"leg_geometry": null,
"arrival": "2026-10-23T10:11:46-04:00",
"arrival_epoch": 1792764706,
"distance_meters": 11953,
"duration_seconds": 1606
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 5520,
"leg_duration_seconds": 680,
"leg_geometry": null,
"arrival": "2026-10-23T10:28:06-04:00",
"arrival_epoch": 1792765686,
"distance_meters": 17473,
"duration_seconds": 2286
}
]
}
],
"summary": {
"routes": 1,
"tasks": 4,
"distance_meters": 17473,
"duration_seconds": 2286,
"unreachable_legs": 0,
"violations": 0
},
"plan": {
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1002",
"order-1001",
"order-1003",
"order-1004"
]
}
],
"unassigned": []
},
"refine": {
"vehicle_ids": [
"van-1"
],
"freeze": [
"order-1002"
],
"changed": true,
"moved": 3,
"before": {
"distance_meters": 21187,
"duration_seconds": 2717,
"waiting_seconds": 0,
"violations": 0,
"unreachable_legs": 0
}
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": false,
"geometry_format": null,
"departed_at": "2026-10-23T09:30:00-04:00"
},
"billing": {
"unit": "node",
"quantity": 4,
"counted": true,
"breakdown": {
"tasks": 4,
"routes": 1
}
}
}
Examples: open_plan_remove
Arguments
{
"request": {
"departed_at": "2026-10-23T09:30:00-04:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
}
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002",
"order-1003"
]
}
],
"options": {
"geometry": false
},
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"stops": [
"order-1002"
]
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 4,
"task_count": 2,
"distance_meters": 8931,
"duration_seconds": 1174,
"service_seconds": 600,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T09:59:34-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1759,
"leg_duration_seconds": 231,
"leg_geometry": null,
"arrival": "2026-10-23T09:33:51-04:00",
"arrival_epoch": 1792762431,
"distance_meters": 1759,
"duration_seconds": 231
},
{
"type": "job",
"id": "order-1003",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3620,
"leg_duration_seconds": 476,
"leg_geometry": null,
"arrival": "2026-10-23T09:46:47-04:00",
"arrival_epoch": 1792763207,
"distance_meters": 5379,
"duration_seconds": 707
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 3552,
"leg_duration_seconds": 467,
"leg_geometry": null,
"arrival": "2026-10-23T09:59:34-04:00",
"arrival_epoch": 1792763974,
"distance_meters": 8931,
"duration_seconds": 1174
}
]
}
],
"summary": {
"routes": 1,
"tasks": 2,
"distance_meters": 8931,
"duration_seconds": 1174,
"unreachable_legs": 0,
"violations": 0
},
"plan": {
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1003"
]
}
],
"unassigned": [
"order-1002"
]
},
"removed": [
{
"id": "order-1002",
"vehicle_id": "van-1",
"position": 2
}
]
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": false,
"geometry_format": null,
"departed_at": "2026-10-23T09:30:00-04:00"
},
"billing": {
"unit": "node",
"quantity": 2,
"counted": true,
"breakdown": {
"tasks": 2,
"routes": 1
}
}
}
Examples: open_plan_resequence
Arguments
{
"request": {
"departed_at": "2026-10-23T09:30:00-04:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
}
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002",
"order-1003"
]
}
],
"options": {
"geometry": false
},
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"vehicle_id": "van-1",
"stops": [
"order-1002",
"order-1001",
"order-1003"
]
}
}
Result
{
"mode": "sync",
"data": {
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 5,
"task_count": 3,
"distance_meters": 11659,
"duration_seconds": 1534,
"service_seconds": 900,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T10:10:34-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1002",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1367,
"leg_duration_seconds": 180,
"leg_geometry": null,
"arrival": "2026-10-23T09:33:00-04:00",
"arrival_epoch": 1792762380,
"distance_meters": 1367,
"duration_seconds": 180
},
{
"type": "job",
"id": "order-1001",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3120,
"leg_duration_seconds": 411,
"leg_geometry": null,
"arrival": "2026-10-23T09:44:51-04:00",
"arrival_epoch": 1792763091,
"distance_meters": 4487,
"duration_seconds": 591
},
{
"type": "job",
"id": "order-1003",
"sequence": 3,
"reachable": true,
"leg_distance_meters": 3620,
"leg_duration_seconds": 476,
"leg_geometry": null,
"arrival": "2026-10-23T09:57:47-04:00",
"arrival_epoch": 1792763867,
"distance_meters": 8107,
"duration_seconds": 1067
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 3552,
"leg_duration_seconds": 467,
"leg_geometry": null,
"arrival": "2026-10-23T10:10:34-04:00",
"arrival_epoch": 1792764634,
"distance_meters": 11659,
"duration_seconds": 1534
}
]
}
],
"summary": {
"routes": 1,
"tasks": 3,
"distance_meters": 11659,
"duration_seconds": 1534,
"unreachable_legs": 0,
"violations": 0
},
"plan": {
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1002",
"order-1001",
"order-1003"
]
}
],
"unassigned": []
},
"resequence": {
"vehicle_id": "van-1",
"changed": true
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": false,
"geometry_format": null,
"departed_at": "2026-10-23T09:30:00-04:00"
},
"billing": {
"unit": "node",
"quantity": 3,
"counted": true,
"breakdown": {
"tasks": 3,
"routes": 1
}
}
}
Examples: open_plan_validate
Arguments
{
"request": {
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": [
10
]
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": [
2
]
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": [
3
]
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002"
]
}
]
}
}
Result
{
"mode": "sync",
"data": {
"valid": true,
"routes": [
{
"vehicle_id": "van-1",
"valid": true,
"violation_count": 0,
"violations": [],
"waiting_seconds": 0,
"completion": "2026-10-23T09:51:56-04:00",
"unreachable_legs": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:28:04-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"arrival": "2026-10-23T09:32:09-04:00",
"arrival_epoch": 1792762329
},
{
"type": "job",
"id": "order-1002",
"sequence": 2,
"reachable": true,
"arrival": "2026-10-23T09:43:39-04:00",
"arrival_epoch": 1792763019
},
{
"type": "end",
"reachable": true,
"arrival": "2026-10-23T09:51:56-04:00",
"arrival_epoch": 1792763516
}
]
}
],
"summary": {
"routes": 1,
"tasks": 2,
"distance_meters": 6416,
"duration_seconds": 832,
"unreachable_legs": 0,
"violations": 0
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"departed_at": "2026-10-23T09:28:04-04:00"
},
"billing": {
"unit": "node",
"quantity": 2,
"counted": true,
"breakdown": {
"tasks": 2,
"routes": 1
}
}
}
Examples: open_plan_what_if
Arguments
{
"request": {
"departed_at": "2026-10-23T09:30:00-04:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
}
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
},
{
"id": "order-1004",
"location": {
"lat": 45.5302,
"lng": -73.6125
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
}
],
"options": {
"geometry": false
},
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"plans": [
{
"id": "one-van",
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002",
"order-1004",
"order-1003"
]
}
]
},
{
"id": "two-vans",
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002"
]
},
{
"vehicle_id": "van-2",
"stops": [
"order-1003",
"order-1004"
]
}
]
}
],
"objective": "duration"
}
}
Result
{
"mode": "sync",
"data": {
"scored": true,
"ranking": [
0,
1
],
"best": 0,
"plans": [
{
"index": 0,
"id": "one-van",
"rank": 1,
"objective_value": 2335,
"summary": {
"routes": 1,
"tasks": 4,
"distance_meters": 18088,
"duration_seconds": 2335,
"unreachable_legs": 0,
"violations": 0
},
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 6,
"task_count": 4,
"distance_meters": 18088,
"duration_seconds": 2335,
"service_seconds": 1200,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T10:28:55-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1840,
"leg_duration_seconds": 245,
"leg_geometry": null,
"arrival": "2026-10-23T09:34:05-04:00",
"arrival_epoch": 1792762445,
"distance_meters": 1840,
"duration_seconds": 245
},
{
"type": "job",
"id": "order-1002",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3108,
"leg_duration_seconds": 390,
"leg_geometry": null,
"arrival": "2026-10-23T09:45:35-04:00",
"arrival_epoch": 1792763135,
"distance_meters": 4948,
"duration_seconds": 635
},
{
"type": "job",
"id": "order-1004",
"sequence": 3,
"reachable": true,
"leg_distance_meters": 6451,
"leg_duration_seconds": 824,
"leg_geometry": null,
"arrival": "2026-10-23T10:04:19-04:00",
"arrival_epoch": 1792764259,
"distance_meters": 11399,
"duration_seconds": 1459
},
{
"type": "job",
"id": "order-1003",
"sequence": 4,
"reachable": true,
"leg_distance_meters": 3180,
"leg_duration_seconds": 442,
"leg_geometry": null,
"arrival": "2026-10-23T10:16:41-04:00",
"arrival_epoch": 1792765001,
"distance_meters": 14579,
"duration_seconds": 1901
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 3509,
"leg_duration_seconds": 434,
"leg_geometry": null,
"arrival": "2026-10-23T10:28:55-04:00",
"arrival_epoch": 1792765735,
"distance_meters": 18088,
"duration_seconds": 2335
}
]
}
],
"unassigned": [],
"warnings": []
},
{
"index": 1,
"id": "two-vans",
"rank": 2,
"objective_value": 2486,
"summary": {
"routes": 2,
"tasks": 4,
"distance_meters": 19058,
"duration_seconds": 2486,
"unreachable_legs": 0,
"violations": 0
},
"routes": [
{
"vehicle_id": "van-1",
"stop_count": 4,
"task_count": 2,
"distance_meters": 6416,
"duration_seconds": 832,
"service_seconds": 600,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T09:53:52-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1001",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 1840,
"leg_duration_seconds": 245,
"leg_geometry": null,
"arrival": "2026-10-23T09:34:05-04:00",
"arrival_epoch": 1792762445,
"distance_meters": 1840,
"duration_seconds": 245
},
{
"type": "job",
"id": "order-1002",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3108,
"leg_duration_seconds": 390,
"leg_geometry": null,
"arrival": "2026-10-23T09:45:35-04:00",
"arrival_epoch": 1792763135,
"distance_meters": 4948,
"duration_seconds": 635
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 1468,
"leg_duration_seconds": 197,
"leg_geometry": null,
"arrival": "2026-10-23T09:53:52-04:00",
"arrival_epoch": 1792763632,
"distance_meters": 6416,
"duration_seconds": 832
}
]
},
{
"vehicle_id": "van-2",
"stop_count": 4,
"task_count": 2,
"distance_meters": 12642,
"duration_seconds": 1654,
"service_seconds": 600,
"waiting_seconds": 0,
"departure": "2026-10-23T09:30:00-04:00",
"completion": "2026-10-23T10:07:34-04:00",
"unreachable_legs": 0,
"violations": [],
"violation_count": 0,
"stops": [
{
"type": "start",
"departure": "2026-10-23T09:30:00-04:00"
},
{
"type": "job",
"id": "order-1003",
"sequence": 1,
"reachable": true,
"leg_distance_meters": 3635,
"leg_duration_seconds": 482,
"leg_geometry": null,
"arrival": "2026-10-23T09:38:02-04:00",
"arrival_epoch": 1792762682,
"distance_meters": 3635,
"duration_seconds": 482
},
{
"type": "job",
"id": "order-1004",
"sequence": 2,
"reachable": true,
"leg_distance_meters": 3487,
"leg_duration_seconds": 492,
"leg_geometry": null,
"arrival": "2026-10-23T09:51:14-04:00",
"arrival_epoch": 1792763474,
"distance_meters": 7122,
"duration_seconds": 974
},
{
"type": "end",
"reachable": true,
"leg_distance_meters": 5520,
"leg_duration_seconds": 680,
"leg_geometry": null,
"arrival": "2026-10-23T10:07:34-04:00",
"arrival_epoch": 1792764454,
"distance_meters": 12642,
"duration_seconds": 1654
}
]
}
],
"unassigned": [],
"warnings": []
}
]
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": false,
"geometry_format": null,
"departed_at": "2026-10-23T09:30:00-04:00",
"objective": "duration"
},
"billing": {
"unit": "node",
"quantity": 8,
"counted": true,
"breakdown": {
"plans": 2,
"stops": 8
}
}
}
Delivery slots 1
| Tool | Capability | Billed in |
|---|---|---|
open_slots_quote |
slots.quote
Slot quotes (beta)
|
node |
Examples: open_slots_quote
Arguments
{
"request": {
"departed_at": "2026-11-02T08:00:00-05:00",
"vehicles": [
{
"id": "van-1",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
},
"time_window": [
"2026-11-02T08:00:00-05:00",
"2026-11-02T17:00:00-05:00"
]
},
{
"id": "van-2",
"start": {
"lat": 45.5017,
"lng": -73.5673
},
"return_to_start": true,
"capacity": {
"parcels": 10
}
}
],
"jobs": [
{
"id": "order-1001",
"location": {
"lat": 45.5088,
"lng": -73.554
},
"service_seconds": 300,
"amount": {
"parcels": 2
}
},
{
"id": "order-1002",
"location": {
"lat": 45.4972,
"lng": -73.5786
},
"service_seconds": 300,
"amount": {
"parcels": 3
},
"time_windows": [
[
"2026-11-02T09:00:00-05:00",
"2026-11-02T12:00:00-05:00"
]
]
},
{
"id": "order-1003",
"location": {
"lat": 45.5231,
"lng": -73.5817
},
"service_seconds": 240,
"amount": {
"parcels": 1
}
}
],
"routes": [
{
"vehicle_id": "van-1",
"stops": [
"order-1001",
"order-1002"
]
},
{
"vehicle_id": "van-2",
"stops": [
"order-1003"
]
}
],
"job": {
"id": "order-2001",
"location": {
"lat": 45.5155,
"lng": -73.5605
},
"service_seconds": 300,
"amount": {
"parcels": 1
}
},
"slots": [
{
"id": "08-10",
"from": "2026-11-02T08:00:00-05:00",
"to": "2026-11-02T10:00:00-05:00"
},
{
"id": "10-12",
"from": "2026-11-02T10:00:00-05:00",
"to": "2026-11-02T12:00:00-05:00"
},
{
"id": "12-14",
"from": "2026-11-02T12:00:00-05:00",
"to": "2026-11-02T14:00:00-05:00"
},
{
"id": "17-19",
"from": "2026-11-02T17:00:00-05:00",
"to": "2026-11-02T19:00:00-05:00"
}
]
}
}
Result
{
"mode": "sync",
"data": {
"job": "order-2001",
"slots": [
{
"slot": "08-10",
"from": "2026-11-02T08:00:00-05:00",
"to": "2026-11-02T10:00:00-05:00",
"feasible": true,
"best": {
"vehicle_id": "van-1",
"position": 2,
"after": "order-1001",
"added_distance_meters": 1505,
"added_duration_seconds": 213,
"added_waiting_seconds": -513,
"arrival": "2026-11-02T08:11:57-05:00",
"waiting_seconds": 0,
"service_start": "2026-11-02T08:11:57-05:00"
},
"rank": 1
},
{
"slot": "10-12",
"from": "2026-11-02T10:00:00-05:00",
"to": "2026-11-02T12:00:00-05:00",
"feasible": true,
"best": {
"vehicle_id": "van-1",
"position": 3,
"after": "order-1002",
"added_distance_meters": 4526,
"added_duration_seconds": 544,
"added_waiting_seconds": 2879,
"arrival": "2026-11-02T09:12:01-05:00",
"waiting_seconds": 2879,
"service_start": "2026-11-02T10:00:00-05:00"
},
"rank": 2
},
{
"slot": "12-14",
"from": "2026-11-02T12:00:00-05:00",
"to": "2026-11-02T14:00:00-05:00",
"feasible": true,
"best": {
"vehicle_id": "van-1",
"position": 3,
"after": "order-1002",
"added_distance_meters": 4526,
"added_duration_seconds": 544,
"added_waiting_seconds": 10079,
"arrival": "2026-11-02T09:12:01-05:00",
"waiting_seconds": 10079,
"service_start": "2026-11-02T12:00:00-05:00"
},
"rank": 3
},
{
"slot": "17-19",
"from": "2026-11-02T17:00:00-05:00",
"to": "2026-11-02T19:00:00-05:00",
"feasible": true,
"best": {
"vehicle_id": "van-2",
"position": 2,
"after": "order-1003",
"added_distance_meters": 1402,
"added_duration_seconds": 211,
"added_waiting_seconds": 31353,
"arrival": "2026-11-02T08:17:27-05:00",
"waiting_seconds": 31353,
"service_start": "2026-11-02T17:00:00-05:00"
},
"rank": 4
}
],
"summary": {
"slots": 4,
"feasible": 4,
"cheapest": "08-10"
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"objective": "duration",
"nearest": 25,
"legs_measured": 13
},
"billing": {
"unit": "node",
"quantity": 4,
"counted": true,
"breakdown": {
"planned_stops": 3,
"new_jobs": 1
}
}
}
Geocoding 6
| Tool | Capability | Billed in |
|---|---|---|
open_geo_autocomplete |
geo.autocomplete
Address autocomplete (beta)
|
call |
open_geo_batch |
geo.batch
Batch geocoding
|
point_1k |
open_geo_forward |
geo.forward
Forward geocoding
|
point |
open_geo_place |
geo.autocomplete
Address autocomplete (beta)
|
call |
open_geo_reverse |
geo.reverse
Reverse geocoding
|
point |
open_geo_validate |
geo.validate
Address validation
|
point |
Examples: open_geo_autocomplete
Arguments
{
"request": {
"input": "1000 rue de la Gauchetiere",
"countries": [
"ca"
],
"session_token": "6f1c2a8e-4b1d-4a39-9d0e-5b8f3c7a21de"
}
}
Result
{
"mode": "sync",
"data": {
"suggestions": [
{
"place_id": "ChIJWeWFxFwayUwRgP5QVJUn5ww",
"description": "1000 Rue De la Gauchetière Ouest, Montreal, QC, Canada",
"main_text": "1000 Rue De la Gauchetière Ouest",
"secondary_text": "Montreal, QC, Canada",
"types": [
"geocode",
"subpremise"
]
},
{
"place_id": "ChIJybX38KwbyUwRuUlJnrlZOAk",
"description": "1000 Rue de la Gauchetière Est, Montreal, QC, Canada",
"main_text": "1000 Rue de la Gauchetière Est",
"secondary_text": "Montreal, QC, Canada",
"types": [
"geocode",
"subpremise"
]
},
{
"place_id": "ChIJq6qqH10ayUwRDKm5QlrmM2g",
"description": "1000 Rue de la Gauchetière E, Montreal, QC, Canada",
"main_text": "1000 Rue de la Gauchetière E",
"secondary_text": "Montreal, QC, Canada",
"types": [
"geocode",
"subpremise"
]
},
{
"place_id": "EjExMDAwIFJ1ZSBkZSBsYSBHYXVjaGV0acOocmUsIE1vbnRyZWFsLCBRQywgQ2FuYWRhIjESLwoUChIJGz5nxFwayUwRxfGQnpCySKkQ6AcqFAoSCZVv0iVdGslMEUpWKOwLwBz0",
"description": "1000 Rue de la Gauchetière, Montreal, QC, Canada",
"main_text": "1000 Rue de la Gauchetière",
"secondary_text": "Montreal, QC, Canada",
"types": [
"geocode",
"street_address"
]
},
{
"place_id": "EjYxMDAwIFJ1ZSBkZSBsYSBHYXVjaGV0acOocmUsIE1vbnRyw6lhbC1Fc3QsIFFDLCBDYW5hZGEiLiosChQKEgk5hd5QFeLITBFVgO8QJcFsCBIUChIJndvyLgHiyEwREdLOpOC4H6k",
"description": "1000 Rue de la Gauchetière, Montréal-Est, QC, Canada",
"main_text": "1000 Rue de la Gauchetière",
"secondary_text": "Montréal-Est, QC, Canada",
"types": [
"geocode",
"route"
]
}
]
},
"warnings": [],
"meta": {
"provider": "google"
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Examples: open_geo_batch
Arguments
{
"addresses": [
{
"address1": "1000 Rue De La Gauchetière O",
"city": "Montreal",
"country": "CA"
},
{
"address1": "290 Bremner Blvd",
"city": "Toronto",
"country": "CA"
}
]
}
Result
{
"results": [
{
"index": 0,
"matched": true,
"location": {
"lat": 45.4981126,
"lng": -73.56598129999999
},
"address": [],
"confidence": null,
"provider": "google"
},
{
"index": 1,
"matched": true,
"location": {
"lat": 43.642596,
"lng": -79.387089
},
"address": {
"number": "290",
"street": "bremner blvd",
"city": "Toronto",
"country": "CA"
},
"confidence": 1,
"provider": "internal"
}
],
"matched": 2,
"total": 2
}
Examples: open_geo_forward
Arguments
{
"address1": "1000 Rue De La Gauchetière O",
"city": "Montreal",
"province": "QC",
"country": "CA",
"postcode": "H3B 4W5"
}
Result
{
"matched": true,
"location": {
"lat": 45.498174,
"lng": -73.566218
},
"address": {
"number": "1000",
"street": "rue de la gauchetière o",
"city": "Montreal",
"province": "QC",
"country": "CA",
"postcode": "h3b 4w5"
},
"confidence": 1,
"provider": "internal"
}
Examples: open_geo_place
Arguments
{
"request": {
"place_id": "ChIJWeWFxFwayUwRgP5QVJUn5ww",
"session_token": "6f1c2a8e-4b1d-4a39-9d0e-5b8f3c7a21de"
}
}
Result
{
"mode": "sync",
"data": {
"place_id": "ChIJWeWFxFwayUwRgP5QVJUn5ww",
"formatted_address": "1000 Rue De la Gauchetière O, Montréal, QC H3B 4W5, Canada",
"address": {
"number": "1000",
"street": "Rue De la Gauchetière Ouest",
"address_1": "1000 Rue De la Gauchetière Ouest",
"address_2": null,
"city": "Montréal",
"province": "QC",
"country": "CA",
"postcode": "H3B 4W5"
},
"location": {
"lat": 45.4981354,
"lng": -73.5659122
}
},
"warnings": [],
"meta": {
"provider": "google"
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Examples: open_geo_reverse
Arguments
{
"lat": 45.4985,
"lng": -73.5664
}
Result
{
"matched": true,
"address": {
"address_1": "1000 Rue de La Gauchetière Ouest",
"address_2": "",
"city": "Montreal",
"province": "Quebec",
"country": "CAN",
"postcode": "H3B 4W5",
"full_address": "1000 Rue de La Gauchetière Ouest, Montreal, QC, Canada",
"country_code": "CA",
"province_code": "QC"
},
"provider": "internal"
}
Examples: open_geo_validate
Arguments
{
"address1": "1000 Rue De La Gauchetière O",
"city": "Montreal",
"province": "QC",
"country": "CA",
"postcode": "H3B 4W5",
"phone": "514 555 0134"
}
Result
{
"valid": true,
"issues": [],
"normalized": {
"address_1": "1000 Rue De La Gauchetière O",
"city": "Montreal",
"province": "QC",
"country": "CA",
"postcode": "H3B4W5",
"phone": "+15145550134"
},
"checks": {
"postcode_format": true,
"po_box": false
}
}
Distance matrix 1
| Tool | Capability | Billed in |
|---|---|---|
open_matrix_compute |
matrix.compute
Distance matrix (beta)
|
element_1k |
Examples: open_matrix_compute
Arguments
{
"request": {
"origins": [
{
"id": "depot",
"lat": 45.5017,
"lng": -73.5673
}
],
"destinations": [
{
"id": "order-1001",
"lat": 45.5088,
"lng": -73.554
},
{
"id": "order-1002",
"lat": 45.4972,
"lng": -73.5786
}
]
}
}
Result
{
"mode": "sync",
"data": {
"origins": [
"depot"
],
"destinations": [
"order-1001",
"order-1002"
],
"distances_meters": [
[
1840,
1611
]
],
"durations_seconds": [
[
245,
227
]
],
"unreachable": []
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"metrics": [
"distance",
"duration"
],
"origins": 1,
"destinations": 2,
"elements": 2
},
"billing": {
"unit": "element_1k",
"quantity": 0.002,
"counted": true,
"breakdown": {
"origins": 1,
"destinations": 2,
"elements": 2,
"engine_requests": 1
}
}
}
Directions 1
| Tool | Capability | Billed in |
|---|---|---|
open_directions_compute |
directions.compute
Directions
|
call |
Examples: open_directions_compute
Arguments
{
"request": {
"waypoints": [
{
"id": "depot",
"lat": 45.5017,
"lng": -73.5673
},
{
"id": "order-1001",
"lat": 45.5088,
"lng": -73.554
},
{
"id": "order-1002",
"lat": 45.4972,
"lng": -73.5786
}
],
"options": {
"geometry": true
}
}
}
Result
{
"mode": "sync",
"data": {
"legs": [
{
"from": "depot",
"to": "order-1001",
"reachable": true,
"distance_meters": 1840,
"duration_seconds": 245,
"geometry": "y`vtGjr_`MJUNYL[h@gAHOFQBIHOc@g@MOa@]s@q@EGEEk@g@k@k@CCMMDO@EDMBMBOBQBO@KBM?G@OBQ?G@MBQ@MBMBMBOBOBMFSDSBGBIBGHOvAkE@EHQGEECa@_@ECMKKIwAiA_CmBq@m@ECIIOKoAcAs@i@KIIIOMgA{@QMCCGGGE_@[m@g@a@[kA_ACCECKGKGWSQOwAkAGEGEu@o@CCMIMKGEYSeAq@OKa@WGG[Sy@g@w@k@s@e@GEGE??YQgAu@c@[QKc@YMKKG@EBK@EVo@@EDKDM@Cb@cAFOBIt@oBBEDUJFBBFDx@l@??"
},
{
"from": "order-1001",
"to": "order-1002",
"reachable": true,
"distance_meters": 3108,
"duration_seconds": 390,
"geometry": "elwtGl}|_Mx@n@BBFD\\ZDDDBz@l@`@\\~BdB~AjAf@\\DDBBLDEPEJe@zAADENGNCFW|@Y|@CFA@ELCHGRq@jBABu@tBCHAFEJGNADg@vAKXq@lBABEHAHgA|C_@fASf@ADGPO^JHbAt@`CrBBBJHLJhCzBJL~BvBFDJJHF~@r@zAdABBHFLHdDfCBBFFFDJHvDlCRJDBRHXPx@f@D@HHJFVV|@x@BBLJTRJJTTlBdBLL`@\\h@f@ZXNLr@p@BBB@JJJHv@r@j@h@DDNLJJp@l@HHj@j@DBLLRRfB`BBBJJHFv@r@x@t@B@HHJJz@v@RRl@j@BBHHJHhAfAj@j@BBNLHHLLVT|@z@HFIPw@tBmAbDy@vBe@pACDIPIRg@pAO\\{A`ECDAFEJHHp@p@??"
}
],
"totals": {
"distance_meters": 4948,
"duration_seconds": 635,
"legs": 2,
"unreachable_legs": 0
}
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car",
"geometry": true,
"geometry_format": "polyline"
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true,
"breakdown": {
"waypoints": 3,
"legs": 2
}
}
}
Reach areas 1
| Tool | Capability | Billed in |
|---|---|---|
open_isochrone_compute |
isochrone.compute
Reach areas (beta)
|
call |
Examples: open_isochrone_compute
Arguments
{
"request": {
"location": {
"lat": 45.5017,
"lng": -73.5673
},
"minutes": [
5,
10
],
"profile": "car"
}
}
Result
{
"mode": "sync",
"data": {
"location": {
"lat": 45.5017,
"lng": -73.5673
},
"direction": "from",
"areas": [
{
"minutes": 5,
"area_km2": 16.21,
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
-73.563299,
45.530674
],
[
-73.583949,
45.515349
],
[
-73.584242,
45.513757
],
[
-73.591753,
45.494246
],
[
-73.600596,
45.467403
],
[
-73.575631,
45.482031
],
[
-73.559299,
45.476764
],
[
-73.543299,
45.48029
],
[
-73.542831,
45.475168
],
[
-73.54472,
45.4927
],
[
-73.552638,
45.4967
],
[
-73.550582,
45.507982
],
[
-73.547776,
45.516223
],
[
-73.554652,
45.527052
],
[
-73.563299,
45.530674
]
]
]
]
}
},
{
"minutes": 10,
"area_km2": 85.45,
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
-73.523299,
45.566736
],
[
-73.56589,
45.5577
],
[
-73.62407,
45.50747
],
[
-73.661785,
45.500214
],
[
-73.640299,
45.471298
],
[
-73.662299,
45.444574
],
[
-73.628651,
45.4447
],
[
-73.610299,
45.458262
],
[
-73.559421,
45.4547
],
[
-73.480299,
45.465887
],
[
-73.509065,
45.488465
],
[
-73.527299,
45.503088
],
[
-73.520532,
45.5297
],
[
-73.523299,
45.566736
]
]
]
]
}
}
]
},
"warnings": [],
"meta": {
"profile": "car",
"geometry_format": "geojson"
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Map matching 1
| Tool | Capability | Billed in |
|---|---|---|
open_trace_match |
trace.match
Map matching (beta)
|
point_1k |
Examples: open_trace_match
Arguments
{
"request": {
"points": [
{
"id": "fix-1",
"lat": 45.498348,
"lng": -73.571617,
"time": "2026-11-02T08:00:00-05:00"
},
{
"id": "fix-2",
"lat": 45.499071,
"lng": -73.569882,
"time": "2026-11-02T08:00:21-05:00"
},
{
"id": "fix-3",
"lat": 45.501306,
"lng": -73.567881,
"time": "2026-11-02T08:00:42-05:00"
},
{
"id": "fix-4",
"lat": 45.502841,
"lng": -73.566375,
"time": "2026-11-02T08:01:03-05:00"
},
{
"id": "fix-5",
"lat": 45.502257,
"lng": -73.564575,
"time": "2026-11-02T08:01:24-05:00"
},
{
"id": "fix-6",
"lat": 45.502093,
"lng": -73.563383,
"time": "2026-11-02T08:01:45-05:00"
},
{
"id": "fix-7",
"lat": 45.502914,
"lng": -73.560675,
"time": "2026-11-02T08:02:07-05:00"
},
{
"id": "fix-8",
"lat": 45.504991,
"lng": -73.558915,
"time": "2026-11-02T08:02:28-05:00"
}
],
"profile": "car"
}
}
Result
{
"mode": "sync",
"data": {
"points": [
{
"index": 0,
"id": "fix-1",
"type": "matched",
"lat": 45.498367,
"lng": -73.571597,
"moved_meters": 2.6,
"road": "Rue Stanley"
},
{
"index": 1,
"id": "fix-2",
"type": "matched",
"lat": 45.499086,
"lng": -73.569893,
"moved_meters": 2,
"road": "Boulevard René-Lévesque Ouest"
},
{
"index": 2,
"id": "fix-3",
"type": "matched",
"lat": 45.50129,
"lng": -73.567829,
"moved_meters": 4.4,
"road": "Boulevard René-Lévesque Ouest"
},
{
"index": 3,
"id": "fix-4",
"type": "matched",
"lat": 45.502922,
"lng": -73.566398,
"moved_meters": 9.3,
"road": "Boulevard René-Lévesque Ouest"
},
{
"index": 4,
"id": "fix-5",
"type": "matched",
"lat": 45.502289,
"lng": -73.564558,
"moved_meters": 3.8,
"road": "Côte du Beaver Hall"
},
{
"index": 5,
"id": "fix-6",
"type": "matched",
"lat": 45.502045,
"lng": -73.563414,
"moved_meters": 5.8,
"road": "Côte du Beaver Hall"
},
{
"index": 6,
"id": "fix-7",
"type": "matched",
"lat": 45.502874,
"lng": -73.560672,
"moved_meters": 4.4,
"road": "Rue Saint-Antoine Ouest"
},
{
"index": 7,
"id": "fix-8",
"type": "matched",
"lat": 45.504973,
"lng": -73.558873,
"moved_meters": 3.8,
"road": "Rue Saint-Antoine Ouest"
}
],
"roads": [
{
"names": [
"Rue Stanley"
],
"road_class": "residential",
"speed_kmh": 30,
"distance_meters": 67
},
{
"names": [
"Boulevard René-Lévesque Ouest"
],
"road_class": "secondary",
"speed_kmh": 50,
"distance_meters": 662
},
{
"names": [
"Côte du Beaver Hall"
],
"road_class": "tertiary",
"speed_kmh": 40,
"distance_meters": 280
},
{
"names": [
"Rue du Square Victoria"
],
"road_class": "tertiary",
"speed_kmh": 30,
"distance_meters": 113
},
{
"names": [
"Rue Saint-Antoine Ouest"
],
"road_class": "secondary",
"speed_kmh": 49,
"distance_meters": 463
}
],
"summary": {
"points": 8,
"matched": 8,
"interpolated": 0,
"unmatched": 0,
"distance_meters": 1585
},
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.571598,
45.498367
],
[
-73.571479,
45.498308
],
[
-73.571149,
45.498132
],
[
-73.57112,
45.498116
],
[
-73.571049,
45.498079
],
[
-73.570902,
45.498007
],
[
-73.57085,
45.498061
],
[
-73.570706,
45.498216
],
[
-73.570579,
45.498355
],
[
-73.570424,
45.498523
],
[
-73.570397,
45.498553
],
[
-73.570284,
45.498673
],
[
-73.570199,
45.498762
],
[
-73.57015,
45.498813
],
[
-73.570117,
45.498849
],
[
-73.569971,
45.499004
],
[
-73.569894,
45.499087
],
[
-73.56974,
45.49925
],
[
-73.569719,
45.499274
],
[
-73.569664,
45.499334
],
[
-73.569541,
45.499463
],
[
-73.56949,
45.499517
],
[
-73.569244,
45.499785
],
[
-73.56917,
45.49986
],
[
-73.569046,
45.49999
],
[
-73.569027,
45.500011
],
[
-73.568971,
45.500073
],
[
-73.568916,
45.500131
],
[
-73.568903,
45.500144
],
[
-73.568534,
45.500536
],
[
-73.568133,
45.500966
],
[
-73.568076,
45.501026
],
[
-73.567829,
45.501291
],
[
-73.567507,
45.501639
],
[
-73.567451,
45.501698
],
[
-73.567428,
45.50172
],
[
-73.567354,
45.501796
],
[
-73.567236,
45.501928
],
[
-73.567174,
45.501996
],
[
-73.566956,
45.502222
],
[
-73.566784,
45.502408
],
[
-73.566768,
45.502425
],
[
-73.566724,
45.502472
],
[
-73.566681,
45.502519
],
[
-73.566667,
45.502534
],
[
-73.566643,
45.502565
],
[
-73.566585,
45.502648
],
[
-73.566541,
45.502711
],
[
-73.566415,
45.502899
],
[
-73.566399,
45.502923
],
[
-73.566333,
45.503032
],
[
-73.56619,
45.502991
],
[
-73.566159,
45.50298
],
[
-73.565696,
45.502759
],
[
-73.565468,
45.502653
],
[
-73.565065,
45.502461
],
[
-73.565035,
45.502448
],
[
-73.564962,
45.502418
],
[
-73.564879,
45.502387
],
[
-73.564846,
45.502376
],
[
-73.564782,
45.502354
],
[
-73.56471,
45.502331
],
[
-73.564633,
45.502308
],
[
-73.564543,
45.502286
],
[
-73.564463,
45.502269
],
[
-73.564401,
45.502257
],
[
-73.564333,
45.502243
],
[
-73.56429,
45.502236
],
[
-73.564205,
45.502225
],
[
-73.564119,
45.502213
],
[
-73.56408,
45.502208
],
[
-73.564013,
45.502196
],
[
-73.563923,
45.50218
],
[
-73.563849,
45.502165
],
[
-73.563775,
45.502149
],
[
-73.563712,
45.502133
],
[
-73.563632,
45.502112
],
[
-73.563552,
45.502088
],
[
-73.563477,
45.502066
],
[
-73.563379,
45.502034
],
[
-73.563277,
45.502
],
[
-73.563235,
45.501983
],
[
-73.563188,
45.501961
],
[
-73.56315,
45.50194
],
[
-73.563069,
45.501894
],
[
-73.562052,
45.50145
],
[
-73.56202,
45.501435
],
[
-73.561934,
45.501394
],
[
-73.561903,
45.50143
],
[
-73.561881,
45.501457
],
[
-73.561722,
45.501634
],
[
-73.561697,
45.501663
],
[
-73.561641,
45.501726
],
[
-73.561589,
45.501786
],
[
-73.561222,
45.50223
],
[
-73.560672,
45.502874
],
[
-73.560443,
45.503122
],
[
-73.560422,
45.503145
],
[
-73.56037,
45.503204
],
[
-73.560308,
45.503277
],
[
-73.559974,
45.50368
],
[
-73.559757,
45.503939
],
[
-73.559708,
45.503996
],
[
-73.559662,
45.504051
],
[
-73.559594,
45.504126
],
[
-73.559294,
45.504485
],
[
-73.559215,
45.504579
],
[
-73.559195,
45.504603
],
[
-73.559164,
45.50464
],
[
-73.559129,
45.504678
],
[
-73.558989,
45.50484
],
[
-73.558874,
45.504973
]
]
}
},
"warnings": [],
"meta": {
"profile": "car",
"geometry_format": "geojson"
},
"billing": {
"unit": "point_1k",
"quantity": 8,
"counted": true
}
}
Chargeable weight 1
| Tool | Capability | Billed in |
|---|---|---|
open_weight_chargeable |
weight.chargeable
Chargeable weight (beta)
|
call |
Examples: open_weight_chargeable
Arguments
{
"request": {
"packages": [
{
"id": "box-1",
"weight": 2.4,
"weight_unit": "kg",
"length": 40,
"width": 30,
"height": 30,
"dimension_unit": "cm"
},
{
"id": "box-2",
"quantity": 2,
"weight": 9,
"weight_unit": "kg",
"length": 30,
"width": 20,
"height": 15,
"dimension_unit": "cm"
}
],
"divisor": 5000,
"divisor_unit": "cm3_kg",
"increment": 0.5
}
}
Result
{
"mode": "sync",
"data": {
"weight_unit": "kg",
"divisor": 5000,
"divisor_unit": "cm3_kg",
"packages": [
{
"id": "box-1",
"quantity": 1,
"actual_weight": 2.4,
"volumetric_weight": 7.2,
"chargeable_weight": 7.5,
"basis": "volumetric"
},
{
"id": "box-2",
"quantity": 2,
"actual_weight": 9,
"volumetric_weight": 1.8,
"chargeable_weight": 9,
"basis": "actual"
}
],
"totals": {
"packages": 3,
"actual_weight": 20.4,
"volumetric_weight": 10.8,
"chargeable_weight": 25.5,
"shipment_chargeable_weight": 20.5
}
},
"warnings": [],
"meta": {
"cm3_per_kg": 5000,
"increment": 0.5
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Barcodes 1
| Tool | Capability | Billed in |
|---|---|---|
open_label_barcode |
label.barcode
Barcodes (beta)
|
call |
Examples: open_label_barcode
Arguments
{
"request": {
"value": "1Z999AA10123456784",
"symbology": "code128",
"text": true
}
}
Result
{
"mode": "sync",
"data": {
"symbology": "code128",
"value": "1Z999AA10123456784",
"content_type": "image/png",
"width": 440,
"height": 100,
"image_base64": "iVBORw0KGgoAAAANSUhEUgAAAbgAAABkCAIAAAB7I7IEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC0klEQVR4nO3d0W6yMACGYfiz+79l/gMS0ljar8icpj7P0Ya1VDbfQTDZum3bAkDbv3cvAODTCSVAIJQAgVACBEIJEAglQCCUAIFQAgRCCRAIJUAglACBUAIEQgkQCCVAIJQAgVACBEIJEAglQCCUAMHPnSev63p8vf/vnX1L+X946i31DPX4UuvRco/1+Hpka78je+zP+TkztH4K9V5Gjsn9GepXVG9vPTryW9T/fbt/tEdeXf8o9ce0ZuvP35ph5DjUq7r6Dhp/z46scOQ1tsaM77e/lxHOKAECoQQIhBIgEEqAQCgBAqEECIQSIBBKgEAoAQKhBAiEEiAQSoBAKAECoQQIhBIgEEqAQCgBAqEECIQSIBBKgEAoAQKhBAiEEiAQSoBAKAECoQQIhBIgEEqAQCgBAqEECIQSIBBKgEAoAQKhBAiEEiAQSoBAKAECoQQIhBIgEEqAQCgBAqEECIQSIBBKgEAoAQKhBAiEEiBYt2179xoAPpozSoDg590L4IXWdV2W5bho2L8t7Q+V208H/9bGekn3R7ae/jDJ+Gu/dJQ6q2UmLr2ndbyxT3/EDwUpW/CijadLujmy9fT6CJyGrP/053ZUH2om4NJ7Tuva+xP4ltOf/pKeG7ltW2tkfWK4b9yNTDV4lE5nYzIuvef0aZWMe+xf2Hae3rker6+4j1PCssUj54P7VJ3zXLmcm1B+l7qSDwm4urGcdmRja1WDralTVTarnOehev0ILo16ti78OztiSkL5RVpv7Jv3apaiIHHjqfFL8quD/4BzyW8glN8u3uXob/wz40s6vc3yRGTj4NYdeebjrvecTj/j8oqPB129FT6y9/uLP5zeSR98madRHtkR8xFKgMDHgwACoQQIhBIgEEqAQCgBAqEECIQSIBBKgEAoAQKhBAiEEiAQSoBAKAECoQQIhBIgEEqAQCgBAqEECIQSIBBKgEAoAYL/0ZAf9Hxdf0cAAAAASUVORK5CYII="
},
"warnings": [],
"meta": {
"format": "png"
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Document checks 1
| Tool | Capability | Billed in |
|---|---|---|
open_document_verify |
document.verify
Document checks (beta)
|
call |
Examples: open_document_verify
Arguments
{
"request": {
"pdf_base64": "JVBERi0xLjcKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZwovT3V0bGluZXMgMiAwIFIKL1BhZ2VzIDMgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9PdXRsaW5lcyAvQ291bnQgMCA+PgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZXMKL0tpZHMgWzYgMCBSCl0KL0NvdW50IDEKL1Jlc291cmNlcyA8PAovUHJvY1NldCA0IDAgUgovRm9udCA8PCAKL0YxIDggMCBSCi9GMiA5IDAgUgo+Pgo+PgovTWVkaWFCb3ggWzAuMDAwIDAuMDAwIDU5NS4yODAgODQxLjg5MF0KID4+CmVuZG9iago0IDAgb2JqClsvUERGIC9UZXh0IF0KZW5kb2JqCjUgMCBvYmoKPDwKL1Byb2R1Y2VyICj+/wBkAG8AbQBwAGQAZgAgADMALgAxAC4ANgAgACsAIABDAFAARABGKQovQ3JlYXRpb25EYXRlIChEOjIwMjYxMDIzMTY1NDU4LTA0JzAwJykKL01vZERhdGUgKEQ6MjAyNjEwMjMxNjU0NTgtMDQnMDAnKQo+PgplbmRvYmoKNiAwIG9iago8PCAvVHlwZSAvUGFnZQovTWVkaWFCb3ggWzAuMDAwIDAuMDAwIDU5NS4yODAgODQxLjg5MF0KL1BhcmVudCAzIDAgUgovQ29udGVudHMgNyAwIFIKPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMDQgPj4Kc3RyZWFtCnic4zLQMzAwUEAmi9K5nEIUjE30DAzNFMzNLPSMTQ0VQlIU9N0MFYyAogohaQoK0RoBicnZmXnpCsU5mQWasQohXgquIcgagbSZhSVEo5GCoRFco39RSmqRQrC/rqGBgSFMJwAMfh99CmVuZHN0cmVhbQplbmRvYmoKOCAwIG9iago8PCAvVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTEKL05hbWUgL0YxCi9CYXNlRm9udCAvSGVsdmV0aWNhLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjkgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9OYW1lIC9GMgovQmFzZUZvbnQgL0hlbHZldGljYQovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKeHJlZgowIDEwCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDc0IDAwMDAwIG4gCjAwMDAwMDAxMjAgMDAwMDAgbiAKMDAwMDAwMDI4NCAwMDAwMCBuIAowMDAwMDAwMzEzIDAwMDAwIG4gCjAwMDAwMDA0NjIgMDAwMDAgbiAKMDAwMDAwMDU2NSAwMDAwMCBuIAowMDAwMDAwNzQxIDAwMDAwIG4gCjAwMDAwMDA4NTMgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMAovUm9vdCAxIDAgUgovSW5mbyA1IDAgUgovSURbPDNjZTEyNGMwNjIzMjg1MDYxZDYxMzAxMjZhZmJjZmU4PjwzY2UxMjRjMDYyMzI4NTA2MWQ2MTMwMTI2YWZiY2ZlOD5dCj4+CnN0YXJ0eHJlZgo5NjAKJSVFT0YKMTAgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxNjkgPj4Kc3RyZWFtCnicAZ4AYf8A4x/3nkBmRqmXV0RDMMBRFe/SEzSdOBG9uhuZ/s5UtPf0AVy6btZQhdivf2xZDn8ZG6/7JUWH10MgDgpD7tG6T8IRsm9CbWX9+IZUHlaWr2qHhiwvOrwmtizWU+8F4CIaIKFqoNJw0WB9z9ptHaaWc/DeEdaaTWTyBJunkbNAai8jofoq5K4XRvpJ371P2xkEkWiyYabenbwK9ruywG3WTiIKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjEwIDEKMDAwMDAwMTMxMSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDExIC9Sb290IDEgMCBSIC9JbmZvIDUgMCBSIC9JRCBbPDNjZTEyNGMwNjIzMjg1MDYxZDYxMzAxMjZhZmJjZmU4PjwzY2UxMjRjMDYyMzI4NTA2MWQ2MTMwMTI2YWZiY2ZlOD5dIC9QcmV2IDk2MCA+PgpzdGFydHhyZWYKMTU1MwolJUVPRgo="
}
}
Result
{
"mode": "sync",
"data": {
"status": "authentic",
"issued_by_us": true,
"intact": true,
"sha256": "6c709056353a1b5376791c8dd949243dcf9e7327eae864d4fe476ff435e40d76",
"byte_size": 1736
},
"warnings": [],
"meta": [],
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Arrival estimates 1
| Tool | Capability | Billed in |
|---|---|---|
open_eta_estimate |
eta.estimate
Arrival estimates
|
call |
Examples: open_eta_estimate
Arguments
{
"request": {
"departed_at": "2026-11-02T09:00:00-05:00",
"now": "2026-11-02T09:20:00-05:00",
"stops": [
{
"id": "order-1001",
"travel_seconds": 600,
"service_seconds": 300,
"completed_at": "2026-11-02T09:15:00-05:00"
},
{
"id": "order-1002",
"travel_seconds": 720,
"service_seconds": 300,
"time_window": {
"from": "2026-11-02T09:00:00-05:00",
"to": "2026-11-02T09:25:00-05:00"
}
},
{
"id": "order-1003",
"travel_seconds": 540,
"service_seconds": 240
}
]
}
}
Result
{
"mode": "sync",
"data": {
"status": "in_progress",
"anchor": {
"at": "2026-11-02T14:15:00Z",
"at_epoch": 1793628900,
"source": "completion",
"stop_id": "order-1001",
"age_seconds": 300
},
"finish_eta": "2026-11-02T14:45:00Z",
"finish_eta_epoch": 1793630700,
"remaining": {
"stops": 2,
"travel_seconds": 1260,
"service_seconds": 540
},
"stops": [
{
"id": "order-1002",
"eta": "2026-11-02T14:27:00Z",
"eta_epoch": 1793629620,
"departure_eta": "2026-11-02T14:32:00Z",
"window_status": "late",
"minutes_late": 2
},
{
"id": "order-1003",
"eta": "2026-11-02T14:41:00Z",
"eta_epoch": 1793630460,
"departure_eta": "2026-11-02T14:45:00Z",
"window_status": null,
"minutes_late": null
}
],
"confidence": "medium"
},
"warnings": [],
"meta": {
"model": "anchored_plan_projection",
"pace_correction": false,
"traffic_aware": false,
"stops": 3
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true,
"breakdown": {
"stops": 3
}
}
}
Maps 2
| Tool | Capability | Billed in |
|---|---|---|
open_map_static |
map.static
Static maps (beta)
|
call |
open_map_token |
map.tiles
Map tiles (beta)
|
tile_1k |
Examples: open_map_static
Arguments
{
"request": {
"width": 400,
"height": 300,
"features": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-73.5673,
45.5017
]
},
"properties": {
"marker-color": "#1e88e5"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
-73.5673,
45.5017
],
[
-73.554,
45.5088
]
]
},
"properties": {
"stroke": "#1e88e5"
}
}
]
}
}
}
Result
{
"mode": "sync",
"data": {
"content_type": "image/png",
"width": 400,
"height": 300,
"zoom": 14.2,
"image_base64": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEsCAYAAAA..."
},
"warnings": [],
"meta": {
"bytes": 48213
},
"billing": {
"unit": "call",
"quantity": 1,
"counted": true
}
}
Examples: open_map_token
Arguments
{
"ttl_seconds": 3600
}
Result
{
"mode": "sync",
"data": {
"token": "sm1.eyJzdWIiOiJvcGVuOjQyMTciLCJleHAiOjE3OTMxMjQ4MDB9.Q2v8m1Xb3dKp7Rz0Yt5Wn9Lc4Hs6Fg2Ja8Ue1Oi3Pk",
"expires_at": "2026-10-27T15:00:00Z",
"base_url": "https://maps.example.com",
"subject": "open:4217"
},
"warnings": [],
"meta": {
"ttl_seconds": 3600
},
"billing": {
"unit": "tile_1k",
"quantity": 0,
"counted": true
}
}
Carton selection 1
| Tool | Capability | Billed in |
|---|---|---|
open_packing_solve |
packing.solve
Carton selection (beta)
|
job |
Examples: open_packing_solve
Arguments
{
"request": {
"packagings": [
{
"key": "box-m",
"name": "Medium box",
"inner_length_cm": 40,
"inner_width_cm": 30,
"inner_height_cm": 30,
"max_payload_kg": 20,
"unit_cost": 1.2
},
{
"key": "box-s",
"name": "Small box",
"inner_length_cm": 25,
"inner_width_cm": 20,
"inner_height_cm": 15,
"max_payload_kg": 10,
"unit_cost": 0.6
}
],
"items": [
{
"id": "SKU-1",
"name": "Mug",
"quantity": 4,
"length_cm": 12,
"width_cm": 10,
"height_cm": 10,
"weight_kg": 0.4
},
{
"id": "SKU-2",
"name": "Kettle",
"quantity": 1,
"length_cm": 25,
"width_cm": 20,
"height_cm": 25,
"weight_kg": 1.5
}
]
}
}
Result
{
"mode": "sync",
"data": {
"target_utilization_percent": 85,
"candidates": [
{
"rank": 1,
"strategy": "single:box-m",
"packages": [
{
"package_index": 1,
"packaging": {
"key": "box-m",
"name": "Medium box",
"source_type": "open",
"source_id": null,
"inner_length_mm": 400,
"inner_width_mm": 300,
"inner_height_mm": 300,
"outer_volume_mm3": 36000000,
"max_payload_g": 20000,
"tare_weight_g": 0,
"unit_cost": 1.2
},
"items": [
{
"item_id": "SKU-2",
"name": "Kettle",
"sku": null,
"quantity": 1
},
{
"item_id": "SKU-1",
"name": "Mug",
"sku": null,
"quantity": 4
}
],
"placements": [
{
"x_mm": 0,
"y_mm": 0,
"z_mm": 0,
"length_mm": 250,
"width_mm": 200,
"height_mm": 250,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 1,
"unit_key": "item-2-5",
"item_id": "SKU-2",
"name": "Kettle",
"sku": null,
"weight_g": 1500,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"LHW"
],
"stack_level": 1
}
},
{
"x_mm": 0,
"y_mm": 200,
"z_mm": 0,
"length_mm": 120,
"width_mm": 100,
"height_mm": 100,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 2,
"unit_key": "item-1-1",
"item_id": "SKU-1",
"name": "Mug",
"sku": null,
"weight_g": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"WHL"
],
"stack_level": 1
}
},
{
"x_mm": 120,
"y_mm": 200,
"z_mm": 0,
"length_mm": 120,
"width_mm": 100,
"height_mm": 100,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 3,
"unit_key": "item-1-2",
"item_id": "SKU-1",
"name": "Mug",
"sku": null,
"weight_g": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"WHL"
],
"stack_level": 1
}
},
{
"x_mm": 250,
"y_mm": 0,
"z_mm": 0,
"length_mm": 120,
"width_mm": 100,
"height_mm": 100,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 4,
"unit_key": "item-1-3",
"item_id": "SKU-1",
"name": "Mug",
"sku": null,
"weight_g": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"WHL"
],
"stack_level": 1
}
},
{
"x_mm": 250,
"y_mm": 100,
"z_mm": 0,
"length_mm": 120,
"width_mm": 100,
"height_mm": 100,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 5,
"unit_key": "item-1-4",
"item_id": "SKU-1",
"name": "Mug",
"sku": null,
"weight_g": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"WHL"
],
"stack_level": 1
}
}
],
"metrics": {
"unit_count": 5,
"packed_volume_mm3": 17300000,
"inner_volume_mm3": 36000000,
"utilization_percent": 48.056,
"net_weight_g": 3100,
"gross_weight_g": 3100,
"gravity": {
"cog_x_mm": 171.5,
"cog_y_mm": 138.7,
"cog_z_mm": 86.3,
"offset_x_percent": 14.27,
"offset_y_percent": 7.53,
"cog_height_percent": 28.76,
"balanced": true
}
},
"validation": {
"passed": true,
"version": "independent-aabb-1.3"
},
"checksum": "9fdc5c755fec1f510d77baa4a8aa726475f0545da45cd171cc9e43ff640ad0d1"
}
],
"unplaced": [],
"totals": {
"package_count": 1,
"total_outer_volume_mm3": 36000000,
"total_inner_volume_mm3": 36000000,
"packed_volume_mm3": 17300000,
"wasted_volume_mm3": 18700000,
"overall_utilization_percent": 48.056,
"total_net_weight_g": 3100,
"total_gross_weight_g": 3100,
"total_cost": 1.2,
"unplaced_quantity": 0
},
"warnings": []
}
],
"unpackable": []
},
"warnings": [],
"meta": {
"solver_version": "packing-selection-1.0",
"validator_version": "independent-aabb-1.3",
"units": {
"dimensions": "cm",
"weight": "kg"
}
},
"billing": {
"unit": "job",
"quantity": 1,
"counted": true,
"breakdown": {
"packagings": 2,
"item_rows": 2,
"units": 5
}
}
}
Load planning 1
| Tool | Capability | Billed in |
|---|---|---|
open_loading_solve |
loading.solve
Load planning (beta)
|
job |
Examples: open_loading_solve
Arguments
{
"request": {
"container": {
"preset": "custom",
"length_cm": 600,
"width_cm": 240,
"height_cm": 240,
"max_payload_kg": 24000
},
"items": [
{
"id": "PAL-1",
"quantity": 4,
"length_cm": 120,
"width_cm": 100,
"height_cm": 120,
"weight_kg": 400
}
]
}
}
Result
{
"mode": "sync",
"data": {
"coordinate_system": {
"unit": "cm",
"origin": "container_inner_bottom_left_rear",
"x_axis": "container_length",
"y_axis": "container_width",
"z_axis": "up"
},
"candidates": [
{
"rank": 1,
"algorithm": "balanced_volume",
"score": 16.667,
"placements": [
{
"x_cm": 0,
"y_cm": 0,
"z_cm": 0,
"length_cm": 120,
"width_cm": 100,
"height_cm": 120,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 1,
"unit_key": "item-1-1",
"item_id": "PAL-1",
"name": "PAL-1",
"sku": null,
"weight_kg": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"LHW"
],
"stack_level": 1
}
},
{
"x_cm": 0,
"y_cm": 100,
"z_cm": 0,
"length_cm": 120,
"width_cm": 100,
"height_cm": 120,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 2,
"unit_key": "item-1-2",
"item_id": "PAL-1",
"name": "PAL-1",
"sku": null,
"weight_kg": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"LHW"
],
"stack_level": 1
}
},
{
"x_cm": 120,
"y_cm": 0,
"z_cm": 0,
"length_cm": 120,
"width_cm": 100,
"height_cm": 120,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 3,
"unit_key": "item-1-3",
"item_id": "PAL-1",
"name": "PAL-1",
"sku": null,
"weight_kg": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"LHW"
],
"stack_level": 1
}
},
{
"x_cm": 120,
"y_cm": 100,
"z_cm": 0,
"length_cm": 120,
"width_cm": 100,
"height_cm": 120,
"rotation_key": "LWH",
"stack_level": 1,
"container_index": 1,
"unit_sequence": 4,
"unit_key": "item-1-4",
"item_id": "PAL-1",
"name": "PAL-1",
"sku": null,
"weight_kg": 400,
"cargo_form": "loose",
"source_item_count": 1,
"pallet_group_key": null,
"metadata": {
"stackable": true,
"max_stack_layers": null,
"bearing_level": null,
"allowed_orientations": [
"LWH",
"WLH",
"LHW"
],
"stack_level": 1
}
}
],
"unplaced": [],
"metrics": {
"container_count": 1,
"placed_quantity": 4,
"unplaced_quantity": 0,
"used_volume_m3": 5.76,
"container_volume_m3": 34.56,
"volume_utilization_percent": 16.667,
"used_weight_kg": 1600,
"max_payload_kg": 24000,
"payload_utilization_percent": 6.667,
"target_achieved": false,
"gravity_max_quadrant_percent": 50,
"gravity_imbalanced": true
},
"warnings": [
"TARGET_UTILIZATION_NOT_REACHED",
"GRAVITY_IMBALANCED"
],
"checksum": "dfe9189f5980c2d4ca6945a426c2197d879ee85934809c80a591f4562ed9246e"
}
]
},
"warnings": [],
"meta": {
"solver_version": "php-guillotine-3d-1.2",
"rules_version": "ocean-no-sequence-1.2",
"candidate_limit": 3,
"input_hash": "4c4ebf12319f01e2c9bf8c1ff12eec06f9a236c9a6bc50b01adad01d18b3ad7b",
"units": {
"dimensions": "cm",
"weight": "kg"
}
},
"billing": {
"unit": "job",
"quantity": 1,
"counted": true,
"breakdown": {
"item_rows": 1,
"units": 4,
"candidates": 3
}
}
}
Pick batching 1
| Tool | Capability | Billed in |
|---|---|---|
open_picking_batch |
picking.batch
Pick batching (beta)
|
job |
Examples: open_picking_batch
Arguments
{
"request": {
"orders": [
{
"id": "SO-1001",
"lines": [
{
"sku": "MUG-BLUE",
"quantity": 2,
"location": "A-01-02",
"weight_kg": 0.4,
"volume_l": 0.9
},
{
"sku": "TEA-50",
"location": "C-04-01",
"weight_kg": 0.2,
"volume_l": 0.5
}
],
"attributes": {
"carrier": "canada_post"
}
},
{
"id": "SO-1002",
"lines": [
{
"sku": "TEA-50",
"quantity": 3,
"location": "C-04-01",
"weight_kg": 0.2,
"volume_l": 0.5
}
],
"attributes": {
"carrier": "canada_post"
}
},
{
"id": "SO-1003",
"lines": [
{
"sku": "KETTLE",
"location": "B-02-03",
"weight_kg": 1.6,
"volume_l": 6
},
{
"sku": "MUG-BLUE",
"location": "A-01-02",
"weight_kg": 0.4,
"volume_l": 0.9
}
],
"attributes": {
"carrier": "ups"
}
},
{
"id": "SO-1004",
"lines": [
{
"sku": "KETTLE",
"quantity": 2,
"location": "B-02-03",
"weight_kg": 1.6,
"volume_l": 6
}
],
"attributes": {
"carrier": "ups"
}
},
{
"id": "SO-1005",
"lines": [
{
"sku": "SPOON-SET",
"location": "D-01-01",
"weight_kg": 0.3,
"volume_l": 0.4
}
],
"attributes": {
"carrier": "canada_post"
}
}
],
"locations": [
{
"id": "A-01-02",
"position": 4
},
{
"id": "B-02-03",
"position": 18
},
{
"id": "C-04-01",
"position": 31
},
{
"id": "D-01-01",
"position": 46
}
],
"limits": {
"orders": 3,
"weight_kg": 15,
"slots": 3
},
"group_by": [
"carrier"
],
"single_piece_batches": false
}
}
Result
{
"mode": "sync",
"data": {
"batches": [
{
"number": 1,
"kind": "in_cart",
"orders": [
"SO-1001",
"SO-1002",
"SO-1005"
],
"stops": [
{
"location": "A-01-02",
"picks": [
{
"order": "SO-1001",
"sku": "MUG-BLUE",
"quantity": 2,
"slot": 1
}
]
},
{
"location": "C-04-01",
"picks": [
{
"order": "SO-1001",
"sku": "TEA-50",
"quantity": 1,
"slot": 1
},
{
"order": "SO-1002",
"sku": "TEA-50",
"quantity": 3,
"slot": 2
}
]
},
{
"location": "D-01-01",
"picks": [
{
"order": "SO-1005",
"sku": "SPOON-SET",
"quantity": 1,
"slot": 3
}
]
}
],
"walk_meters": 92,
"weight_kg": 1.9,
"volume_l": 4.2,
"units": 7,
"skus": 3,
"group": {
"carrier": "canada_post"
}
},
{
"number": 2,
"kind": "in_cart",
"orders": [
"SO-1003",
"SO-1004"
],
"stops": [
{
"location": "A-01-02",
"picks": [
{
"order": "SO-1003",
"sku": "MUG-BLUE",
"quantity": 1,
"slot": 1
}
]
},
{
"location": "B-02-03",
"picks": [
{
"order": "SO-1003",
"sku": "KETTLE",
"quantity": 1,
"slot": 1
},
{
"order": "SO-1004",
"sku": "KETTLE",
"quantity": 2,
"slot": 2
}
]
}
],
"walk_meters": 36,
"weight_kg": 5.2,
"volume_l": 18.9,
"units": 4,
"skus": 2,
"group": {
"carrier": "ups"
}
}
],
"unplaced": [],
"totals": {
"batches": 2,
"orders": 5,
"walk_meters": 128
}
},
"warnings": [],
"meta": {
"distances": "path",
"solve_ms": 1,
"units": {
"walk": "m",
"weight": "kg",
"volume": "L"
}
},
"billing": {
"unit": "job",
"quantity": 1,
"counted": true,
"breakdown": {
"orders": 5,
"lines": 7
}
}
}
Territory design 1
| Tool | Capability | Billed in |
|---|---|---|
open_territory_design |
territory.design
Territory design (beta)
|
point_1k |
Examples: open_territory_design
Arguments
{
"request": {
"points": [
{
"id": "stop-1",
"lat": 45.48886,
"lng": -73.63285,
"weight": 1
},
{
"id": "stop-2",
"lat": 45.45869,
"lng": -73.56354,
"weight": 3
},
{
"id": "stop-3",
"lat": 45.51993,
"lng": -73.49625,
"weight": 2
},
{
"id": "stop-4",
"lat": 45.4545,
"lng": -73.58194,
"weight": 1
},
{
"id": "stop-5",
"lat": 45.47888,
"lng": -73.56081,
"weight": 1
},
{
"id": "stop-6",
"lat": 45.54922,
"lng": -73.63772,
"weight": 2
},
{
"id": "stop-7",
"lat": 45.52568,
"lng": -73.55506,
"weight": 1
},
{
"id": "stop-8",
"lat": 45.51925,
"lng": -73.5886,
"weight": 2
},
{
"id": "stop-9",
"lat": 45.45559,
"lng": -73.50548,
"weight": 3
},
{
"id": "stop-10",
"lat": 45.5003,
"lng": -73.56268,
"weight": 3
},
{
"id": "stop-11",
"lat": 45.51723,
"lng": -73.53724,
"weight": 1
},
{
"id": "stop-12",
"lat": 45.51979,
"lng": -73.545,
"weight": 3
}
],
"zones": [
{
"id": "east",
"anchor": {
"lat": 45.5,
"lng": -73.55
}
},
{
"id": "west",
"anchor": {
"lat": 45.5,
"lng": -73.64
}
},
{
"id": "north",
"share": 0.5
}
],
"tolerance_percent": 20
}
}
Result
{
"mode": "sync",
"data": {
"zones": [
{
"id": "east",
"center": {
"lat": 45.520306,
"lng": -73.5314
},
"anchored": true,
"points": 4,
"weight": 7,
"target": 9,
"outline": {
"type": "Polygon",
"coordinates": [
[
[
-73.55506,
45.52568
],
[
-73.545,
45.51979
],
[
-73.53724,
45.51723
],
[
-73.49625,
45.51993
],
[
-73.55506,
45.52568
]
]
]
}
},
{
"id": "west",
"center": {
"lat": 45.506008,
"lng": -73.591628
},
"anchored": true,
"points": 6,
"weight": 10,
"target": 9,
"outline": {
"type": "Polygon",
"coordinates": [
[
[
-73.63772,
45.54922
],
[
-73.63285,
45.48886
],
[
-73.58194,
45.4545
],
[
-73.56081,
45.47888
],
[
-73.56268,
45.5003
],
[
-73.5886,
45.51925
],
[
-73.63772,
45.54922
]
]
]
}
},
{
"id": "north",
"center": {
"lat": 45.45714,
"lng": -73.53451
},
"anchored": false,
"points": 2,
"weight": 6,
"target": 5,
"outline": null
}
],
"assignment": [
{
"point": "stop-1",
"zone": "west"
},
{
"point": "stop-2",
"zone": "north"
},
{
"point": "stop-3",
"zone": "east"
},
{
"point": "stop-4",
"zone": "west"
},
{
"point": "stop-5",
"zone": "west"
},
{
"point": "stop-6",
"zone": "west"
},
{
"point": "stop-7",
"zone": "east"
},
{
"point": "stop-8",
"zone": "west"
},
{
"point": "stop-9",
"zone": "north"
},
{
"point": "stop-10",
"zone": "west"
},
{
"point": "stop-11",
"zone": "east"
},
{
"point": "stop-12",
"zone": "east"
}
],
"unplaced": [],
"summary": {
"zones": 3,
"points": 12,
"weight": 23,
"largest_deviation_percent": 22.2
}
},
"warnings": [],
"meta": {
"distance": "straight_line",
"rounds": 3
},
"billing": {
"unit": "point_1k",
"quantity": 12,
"counted": true
}
}
Network scenarios 1
| Tool | Capability | Billed in |
|---|---|---|
open_network_site_scenario |
network.site_scenario
Network scenarios (beta)
|
job |
Examples: open_network_site_scenario
Arguments
{
"request": {
"time_zone": "America/Toronto",
"currency": "CAD",
"days": {
"from": "2026-11-03",
"to": "2026-11-03"
},
"depots": [
{
"id": "MTL-West",
"name": "Montreal West",
"lat": 45.4706,
"lng": -73.7408
},
{
"id": "MTL-Centre",
"name": "Montreal Centre",
"lat": 45.4972,
"lng": -73.5786
}
],
"orders": [
{
"id": "SO-2001",
"lat": 45.49524,
"lng": -73.59163,
"date": "2026-11-03",
"packages": 2
},
{
"id": "SO-2002",
"lat": 45.49518,
"lng": -73.55029,
"date": "2026-11-03",
"packages": 1
},
{
"id": "SO-2003",
"lat": 45.46847,
"lng": -73.59833,
"date": "2026-11-03",
"packages": 3
},
{
"id": "SO-2004",
"lat": 45.5114,
"lng": -73.64394,
"date": "2026-11-03",
"packages": 2
},
{
"id": "SO-2005",
"lat": 45.48034,
"lng": -73.65731,
"date": "2026-11-03",
"packages": 3
},
{
"id": "SO-2006",
"lat": 45.51345,
"lng": -73.58664,
"date": "2026-11-03",
"packages": 2
},
{
"id": "SO-2007",
"lat": 45.54648,
"lng": -73.57845,
"date": "2026-11-03",
"packages": 3
},
{
"id": "SO-2008",
"lat": 45.51501,
"lng": -73.58276,
"date": "2026-11-03",
"packages": 3
},
{
"id": "SO-2009",
"lat": 45.45632,
"lng": -73.66501,
"date": "2026-11-03",
"packages": 1
},
{
"id": "SO-2010",
"lat": 45.50996,
"lng": -73.56106,
"date": "2026-11-03",
"packages": 2
}
],
"vehicles": [
{
"depot": "MTL-West",
"count": 2,
"work_from": "08:00",
"work_to": "17:00"
},
{
"depot": "MTL-Centre",
"count": 2,
"work_from": "08:00",
"work_to": "17:00"
}
],
"driver_cost": {
"per_hour": 24,
"per_km": 0.45
},
"scenarios": [
{
"id": "east-depot",
"name": "Depot in Anjou",
"changes": [
{
"type": "add_depot",
"name": "Anjou",
"lat": 45.604,
"lng": -73.56,
"radius_km": 6,
"vehicles": 1
}
]
},
{
"id": "bigger-fleet",
"name": "Half as many vans again",
"changes": [
{
"type": "fleet",
"factor_percent": 150
}
]
}
]
}
}
Result
{
"mode": "async",
"job": {
"id": "job_01k8zt6f2q4w8e0r2t4y6u8i0p",
"status": "queued",
"poll_after_ms": 1000,
"result_url": "/v1/jobs/job_01k8zt6f2q4w8e0r2t4y6u8i0p/result"
},
"billing": {
"unit": "job",
"quantity": 1,
"breakdown": {
"orders": 40,
"depots": 2,
"scenarios": 2
}
}
}
Platform 14
| Tool | Capability | Billed in |
|---|---|---|
open_geo_coverage |
platform.capabilities
Capability discovery
|
free |
open_job_cancel |
platform.jobs
Async jobs
|
free |
open_job_deliveries |
platform.jobs
Async jobs
|
free |
open_job_delivery_replay |
platform.jobs
Async jobs
|
free |
open_job_get |
platform.jobs
Async jobs
|
free |
open_job_list |
platform.jobs
Async jobs
|
free |
open_job_result |
platform.jobs
Async jobs
|
free |
open_plan_matrix_close |
platform.resources
Reusable resources
|
free |
open_plan_matrix_open |
platform.resources
Reusable resources
|
free |
open_plan_matrix_points |
platform.resources
Reusable resources
|
free |
open_platform_capabilities |
platform.capabilities
Capability discovery
|
free |
open_platform_health |
platform.health
Health
|
free |
open_routing_presets |
platform.capabilities
Capability discovery
|
free |
open_webhook_verify |
platform.jobs
Async jobs
|
free |
Examples: open_geo_coverage
Arguments
{}
Result
{
"countries": [
{
"country": "CA",
"forward_chain": [
"internal",
"qcaddress",
"bcaddress",
"geolocator",
"google"
],
"reverse_chain": [
"internal",
"bcaddress",
"google"
],
"postcode_pattern": "/^[A-Z][0-9][A-Z][- ]?[0-9][A-Z][0-9]$/i"
},
{
"country": "US",
"forward_chain": [
"internal",
"census",
"google"
],
"reverse_chain": [
"internal",
"google"
],
"postcode_pattern": "/^[0-9]{5}([- ]?[0-9]{4})?$/"
}
],
"providers": [
{
"code": "internal",
"name": "SuperRoute Geocoding",
"capabilities": [
"forward",
"forward_text",
"reverse"
],
"available": true
},
{
"code": "google",
"name": "Google Maps",
"capabilities": [
"forward",
"forward_text",
"reverse",
"places",
"forward_within_postcode"
],
"available": true
}
]
}
Examples: open_job_cancel
Arguments
{
"job_id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u"
}
Result
{
"job_id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u",
"status": "succeeded"
}
Examples: open_job_deliveries
Arguments
{
"job_id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u"
}
Result
{
"deliveries": [
{
"delivery_id": "dlv_01k8zq4h2k4m6p8r0t2w4y6a8c",
"event": "job.succeeded",
"status": "delivered",
"endpoint_host": "hooks.example.com",
"attempt_count": 1,
"http_status": 200,
"error_code": null,
"error_message": null,
"last_attempt_at": "2026-10-23T09:27:57-04:00",
"next_attempt_at": null,
"delivered_at": "2026-10-23T09:27:57-04:00"
}
]
}
Examples: open_job_delivery_replay
Arguments
{
"job_id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u",
"delivery_id": "dlv_01k8zq4h2k4m6p8r0t2w4y6a8c"
}
Result
{
"delivery_id": "dlv_01k8zq4h2k4m6p8r0t2w4y6a8c",
"status": "pending"
}
Examples: open_job_get
Arguments
{
"job_id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u"
}
Result
{
"id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u",
"status": "succeeded",
"capability": "routing.optimize",
"progress": 100,
"stage": "done",
"created_at": "2026-10-23T09:27:40-04:00",
"started_at": "2026-10-23T09:27:40-04:00",
"finished_at": "2026-10-23T09:27:40-04:00",
"result_url": "/v1/jobs/job_01k8zq4a6c8e0g2j4l6n8q0s2u/result",
"result_expires_at": "2026-10-24T09:27:40-04:00"
}
Examples: open_job_list
Arguments
{
"limit": 20
}
Result
{
"jobs": [
{
"id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u",
"status": "succeeded",
"capability": "routing.optimize",
"progress": 100,
"stage": "done",
"created_at": "2026-10-23T09:27:40-04:00",
"started_at": "2026-10-23T09:27:40-04:00",
"finished_at": "2026-10-23T09:27:40-04:00",
"result_url": "/v1/jobs/job_01k8zq4a6c8e0g2j4l6n8q0s2u/result",
"result_expires_at": "2026-10-24T09:27:40-04:00"
}
]
}
Examples: open_job_result
Arguments
{
"job_id": "job_01k8zq4a6c8e0g2j4l6n8q0s2u"
}
Result
{
"data": {
"routes": [
{
"vehicle_id": "van-2",
"stops": [
{
"type": "start",
"arrival": "2026-11-02T08:31:07-05:00",
"arrival_epoch": 1793626267,
"distance_meters": 0,
"duration_seconds": 0,
"load": [
6
]
},
{
"type": "job",
"arrival": "2026-11-02T08:35:11-05:00",
"arrival_epoch": 1793626511,
"distance_meters": 1839,
"duration_seconds": 244,
"leg_distance_meters": 1839,
"leg_duration_seconds": 244,
"id": "order-1001",
"load": [
4
]
},
{
"type": "job",
"arrival": "2026-11-02T08:47:56-05:00",
"arrival_epoch": 1793627276,
"distance_meters": 5338,
"duration_seconds": 709,
"leg_distance_meters": 3499,
"leg_duration_seconds": 465,
"id": "order-1003",
"load": [
3
]
},
{
"type": "job",
"arrival": "2026-11-02T09:00:00-05:00",
"arrival_epoch": 1793628000,
"distance_meters": 9220,
"duration_seconds": 1193,
"leg_distance_meters": 3882,
"leg_duration_seconds": 484,
"id": "order-1002",
"load": [
0
]
},
{
"type": "end",
"arrival": "2026-11-02T09:08:17-05:00",
"arrival_epoch": 1793628497,
"distance_meters": 10687,
"duration_seconds": 1390,
"leg_distance_meters": 1467,
"leg_duration_seconds": 197,
"load": [
0
]
}
],
"stop_count": 5,
"task_count": 3,
"distance_meters": 10687,
"duration_seconds": 1390,
"service_seconds": 840,
"waiting_seconds": 0,
"geometry": null
}
],
"unassigned": [],
"summary": {
"routes": 1,
"assigned": 3,
"unassigned": 0,
"distance_meters": 10687,
"duration_seconds": 1390
}
},
"warnings": [],
"meta": {
"engine": "sroute2",
"engine_version": "1.6.1",
"solve_id": "e363b370-4113-44a0-8630-1579e1fbc799",
"capacity_dimensions": [
"0"
]
},
"billing": {
"unit": "node",
"quantity": 5,
"counted": true,
"breakdown": {
"nodes": 5,
"jobs": 3,
"shipments": 0,
"shipment_nodes": 0,
"vehicles": 2,
"vehicle_nodes": 2
}
}
}
Examples: open_plan_matrix_close
Arguments
{
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910"
}
Result
{
"mode": "sync",
"data": {
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"closed": true
},
"warnings": [],
"meta": [],
"billing": {
"unit": "free",
"quantity": 0,
"counted": false
}
}
Examples: open_plan_matrix_open
Arguments
{
"region": "NA",
"profile": "car",
"points": [
{
"lat": 45.5017,
"lng": -73.5673
},
{
"lat": 45.5088,
"lng": -73.554
},
{
"lat": 45.4972,
"lng": -73.5786
}
]
}
Result
{
"mode": "sync",
"data": {
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"expires_at": "2026-10-23T14:30:00Z",
"node": "tile2"
},
"warnings": [],
"meta": {
"region": "NA",
"profile": "car"
},
"billing": {
"unit": "free",
"quantity": 0,
"counted": false
}
}
Examples: open_plan_matrix_points
Arguments
{
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"points": [
{
"lat": 45.5231,
"lng": -73.5817
}
],
"wait_ms": 1000
}
Result
{
"mode": "sync",
"data": {
"matrix": "tile2.3f0c9a5e7b1d4c2a9e8f6d5c4b3a2910",
"queued": 1,
"ready": true
},
"warnings": [],
"meta": [],
"billing": {
"unit": "free",
"quantity": 0,
"counted": false
}
}
Examples: open_platform_capabilities
Arguments
{}
Result
{
"capabilities": [
{
"capability": "routing.optimize",
"family": "routing",
"billing_unit": "node",
"release_stage": "ga",
"available": true,
"reason": null
},
{
"capability": "routing.refine",
"family": "routing",
"billing_unit": "node",
"release_stage": "ga",
"available": true,
"reason": null
}
]
}
Examples: open_platform_health
Arguments
{}
Result
{
"status": "ok",
"service": "Superroute Open Platform",
"protocol_versions": [
"2026-07-28",
"2025-11-25",
"2025-06-18",
"2025-03-26",
"2024-11-05"
]
}
Examples: open_routing_presets
Arguments
{}
Result
{
"presets": {
"none": {
"strategies": [],
"weights": [],
"title": "No balance",
"description": "Cheapest plan; drivers may be uneven",
"category": "balance",
"hidden": false,
"alias_of": null,
"new": false
},
"min_change": {
"strategies": [
"orders"
],
"weights": {
"orders": 0.3
},
"title": "Minimal change",
"description": "Touch as little as possible of the current plan",
"category": "execution",
"hidden": false,
"alias_of": null,
"new": false
},
"balanced": {
"strategies": [
"time",
"distance"
],
"weights": {
"time": 0.5,
"distance": 0.5
},
"title": "Balanced",
"description": "",
"category": "balance",
"hidden": true,
"alias_of": "time",
"new": false
}
},
"engine": "sroute2",
"engines": [
"sroute",
"sroute2"
],
"default_engine": "sroute2",
"priorities": [
{
"name": "hold",
"value": 10
},
{
"name": "flexible",
"value": 20
},
{
"name": "economy",
"value": 30
},
{
"name": "standard",
"value": 40
},
{
"name": "express",
"value": 50
},
{
"name": "rush",
"value": 60
},
{
"name": "emergency",
"value": 70
},
{
"name": "due",
"value": 80
},
{
"name": "overdue",
"value": 90
}
],
"priority_rule": "Priority is 0-100. When the problem is infeasible, lower-priority tasks are dropped to `unassigned` first. These named levels are the same ladder the Superroute platform plans with.",
"routing_rules": [
{
"rule": "max_ride",
"fields": [
"shipments.*.max_ride_seconds",
"constraints.max_ride_seconds"
],
"engines": {
"sroute": {
"status": "unsupported"
},
"sroute2": {
"status": "unsupported"
},
"sroute2t": {
"status": "native",
"min_version": "1.0.19"
},
"sroute3": {
"status": "native",
"min_version": "1.0.0"
}
}
},
{
"rule": "latest_departure",
"fields": [
"vehicles.*.latest_departure_at"
],
"engines": {
"sroute": {
"status": "unsupported"
},
"sroute2": {
"status": "unsupported"
},
"sroute2t": {
"status": "native",
"min_version": "1.0.19"
},
"sroute3": {
"status": "native",
"min_version": "1.0.0"
}
}
}
],
"hours": {
"balance": "hours",
"field": "constraints.balance_tolerance",
"unit": "percent",
"min": 1,
"max": 100,
"default": 15,
"engines": [
"sroute",
"sroute2"
],
"operations": [
"routing.optimize"
],
"measured_in": "seconds of working time per vehicle (driving including the return to an end point, setup, service, waiting), read from the solved plan",
"rule": "Solves, measures every vehicle's working time, and while a vehicle sits above the band closes every vehicle's working day at the band's top (then a step tighter), hands the tasks the busiest give up to the lightest by their measured time per task, and re-solves, at most twice. A re-solve is kept only when it evens the day out without leaving more work unassigned. Reported back in meta.balance."
},
"zone_hours": {
"balance": "zone_hours",
"field": "constraints.balance_tolerance",
"unit": "percent",
"min": 1,
"max": 100,
"default": 15,
"engines": [
"sroute",
"sroute2"
],
"operations": [
"routing.optimize"
],
"measured_in": "seconds of working time per vehicle (driving including the return to an end point, setup, service, waiting), read from the solved plan; the zones are cut on each task's setup + service plus a travel estimate",
"rule": "Cuts the tasks into one compact, non-overlapping zone per vehicle on estimated time — a slow area gets a smaller zone — pins every task to its zone's vehicle, solves, then while a vehicle's measured working time sits outside the band scales the zone targets by expected / measured, re-cuts and re-solves, at most twice. Routes never cross; a task its zone's vehicle cannot fit is offered once to the others. Reported back in meta.balance."
},
"zone": {
"balance": "zone",
"field": "constraints.balance_tolerance",
"unit": "percent",
"min": 1,
"max": 100,
"default": 15,
"engines": [
"sroute",
"sroute2"
],
"operations": [
"routing.optimize"
],
"measured_in": "tasks (a shipment counts as two: its pickup and its delivery)",
"rule": "Cuts the tasks into one compact, non-overlapping zone per vehicle, each holding that vehicle's balanced share within the tolerance, and lets the solver sequence inside each zone — routes never cross. A task its zone's vehicle cannot fit is offered once to the others. Reported back in meta.balance."
},
"tolerance": {
"balance": "tolerance",
"field": "constraints.balance_tolerance",
"unit": "percent",
"min": 1,
"max": 100,
"default": 15,
"engines": [
"sroute",
"sroute2"
],
"operations": [
"routing.optimize"
],
"measured_in": "tasks (a shipment counts as two: its pickup and its delivery)",
"rule": "Caps every vehicle at the balanced share plus the tolerance, then re-solves under a lower ceiling if a vehicle still came out below the band. Route quality stays close to no balancing at all while the gap between vehicles stays inside the tolerance. Reported back in meta.balance."
}
}
Examples: open_webhook_verify
Arguments
{
"url": "https://hooks.example.com/superroute",
"secret": "whsec_0123456789abcdef"
}
Result
{
"verified": true,
"reason": null
}
No matches.