WayMatrix Developer Portal
  • Getting started
  • API reference
Information
Matrix
    Travel-time and distance matrixpostTravel-time and distance matrix (explicit JSON form)post
Directions
    Route between two pointsgetRoute with full optionspostRoute, JSON formpostRoute, GeoJSON formpostRoute, GPX formpost
Isochrones
    Reachability polygonspostReachability polygons (explicit GeoJSON form)post
Service
    LivenessgetLiveness, headers onlyheadEngine and graph provenancegetEngine and graph provenance, headers onlyhead
Schemas
powered by Zuplo
WayMatrix Routing API
WayMatrix Routing API

Service

Liveness and provenance. Unauthenticated and never metered.


Liveness

GET
https://routing-api-main-d2f2b11.zuplo.app
/v2/health

Whether the routing engine is ready to serve. No key required, never metered — a monitor must be able to tell "the service is down" from "my key is wrong".

Liveness › Responses

The engine is ready.

status
​string
GET/v2/health
curl https://routing-api-main-d2f2b11.zuplo.app/v2/health
Example Responses
{ "status": "ready" }
json
application/json

Liveness, headers only

HEAD
https://routing-api-main-d2f2b11.zuplo.app
/v2/health

Identical to GET /v2/health without a body. Declared explicitly because uptime monitors commonly default to HEAD, and a monitor that gets a 404 reports an outage that is not happening — which is worse than no monitoring, because people stop believing it.

Liveness, headers only › Responses

The engine is ready.

No data returned
HEAD/v2/health
curl https://routing-api-main-d2f2b11.zuplo.app/v2/health \ --request HEAD
Example Responses
No example specified for this content type

Engine and graph provenance

GET
https://routing-api-main-d2f2b11.zuplo.app
/v2/status

The engine version, the graph build date, and the date of the OpenStreetMap extract the graph was built from.

This endpoint is additive — hosted openrouteservice does not expose it publicly. It exists here because the data behind it is a licence matter as much as an operational one: the Open Database Licence's share-alike provision is answered by publishing how the database was derived, and this is the machine-readable half of that answer.

Read services as the engine's list, not ours. It is passed through unchanged, and it is wider than what this API serves: snap, export and match appear in it and are not routed here — they answer 404. export in particular is deliberately never exposed, because it would serve chunks of the derivative database, which is a licence question rather than a capacity one. Use profiles and this API's own reference for what you can actually call.

Engine and graph provenance › Responses

Engine, graph and profile information.

GET/v2/status
curl https://routing-api-main-d2f2b11.zuplo.app/v2/status
Example Responses
{ "engine": { "version": "9.10.0", "build_date": "2026-07-28T16:17:35Z", "graph_version": "5", "graph_date": "2026-07-31T20:07:53Z", "osm_date": "2026-07-30T20:21:02Z" }, "profiles": [ "driving-car" ], "services": [ "routing", "isochrones", "matrix", "snap", "export", "match" ] }
json
application/json

Engine and graph provenance, headers only

HEAD
https://routing-api-main-d2f2b11.zuplo.app
/v2/status

Identical to GET /v2/status without a body.

Engine and graph provenance, headers only › Responses

Engine, graph and profile information.

No data returned
HEAD/v2/status
curl https://routing-api-main-d2f2b11.zuplo.app/v2/status \ --request HEAD
Example Responses
No example specified for this content type

Isochrones