Skip to content
Documentation menu
docs / api / post-isochrone
routing

POST/isochrone

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

Call it

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

Request body

application/json

Valhalla IsochroneRequest JSON: locations, costing, contours (each time minutes or distance km), optional polygons, denoise, generalize and costing_options. Scenario analysis: optional exclude_polygons; areas whose intersecting roads are avoided, as a JSON array of rings of [lon, lat] pairs (note the lon-first order), e.g. [[[-0.1,51.5],[-0.11,51.5],[-0.11,51.52]]], and exclude_locations, {lat, lon} objects each mapped to its nearest road(s), which are then excluded, so "close this bridge and recompute reachability" is one request. Valhalla engine only: a GraphHopper-backed deployment ignores both fields

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

200GeoJSON FeatureCollection of contour geometries, drawn from the origin snapped onto the nearest road the costing can use (ferries excluded, at most 5 km away). snapped_origin {lat, lon, distance_m} on the collection and on every feature's properties says where that was
400Invalid request
401Missing or invalid API key
422No roads near this point (urn:sn-gateway:problem:no-roads-near-origin): nothing the costing can use lies within 5 km of the origin, e.g. open sea or desert. Carries max_snap_m and the requested origin. Free: not billed and draws no quota
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-11-01 · operationId post_isochrone