Skip to content

50,000 free calls a month, card-free. Get an API key →

Documentation menu
docs / api / post-route-report
routing

POST/route/report

API key required, sent as Authorization: Bearer snk_… or ?api_key=snk_….

Call it

bash
curl -fsS -X POST "https://api.mapmap.ai/route/report" \
  -H "Authorization: Bearer $MAPMAP_KEY" \
  -H "Content-Type: application/json" \
  -d @request.json

Request body

application/json

Either {"locations": [{lat,lon}, …], "costing": "auto"} (route mode: computes the route internally) or {"shape": [{lat,lon}, …]} / {"encoded_polyline": "…"} (trace mode: reports over an existing trace); exactly one of locations or shape/encoded_polyline. Optional costing_options

The OpenAPI document declares this body as a free-form JSON object with no field list, so there is nothing here to generate a table from. The prose above is what the gateway states about it; the raw document is the authority.

Responses

200{distance_m, duration_s, by_road_class: {<class>: {distance_m, duration_s, edge_count}}, by_admin: [{country_code, country_text, state_code, state_text, distance_m, duration_s, edge_count}], toll: {edge_count, distance_m}, bridge: {…}, tunnel: {…}, by_surface: {<surface>: {distance_m, edge_count}}, edge_count}. Distances in metres, durations in seconds. An edge with no resolvable admin area is grouped under a null-keyed entry in by_admin, never guessed at
400Invalid request, or neither/both of locations and a trace given
401Missing or invalid API key
429Quota or rate limit exceeded
502Upstream routing engine failed

Error bodies follow the shared problem model documented on API conventions.

Also under routing

Generated from https://api.mapmap.ai/openapi.json on 2026-09-17 · operationId post_route_report