Documentation menu
POST/v1/jobs/coverage
API key required, sent as Authorization: Bearer snk_… or ?api_key=snk_….
Call it
curl -fsS -X POST "https://api.mapmap.ai/v1/jobs/coverage" \
-H "Authorization: Bearer $MAPMAP_KEY" \
-H "Content-Type: application/json" \
-d @request.jsonRequest body
application/json · CoverageRequest
An area (bbox or a GeoJSON polygon) and how to drive it: costing (auto or truck), road_classes, include_private, optimise (distance, the default, time or balanced), turn_penalties (avoid_left, avoid_right, avoid_u_turn, metres of equivalent driving per turn, in the same unit every objective uses), chunk_km, start, return_to_start, plus an optional webhook_url. Billed per started square kilometre of area at submission, refunded in full if the job fails. The result, once the job succeeds, is a CoverageResponse
| Field | Type | Required | Description |
|---|---|---|---|
| bbox | number[] | no | [min_lon, min_lat, max_lon, max_lat]. Exactly one of bbox and
polygon. |
| chunk_km | number | no | Target outing length, km (default 15, 1 to 150). |
| costing | CoverageCosting | no | auto (default) or truck. |
| include_private | boolean | no | Drive and cover private and destination-only roads too (default
false). The graph records OSM access=private and
access=destination alike as destination-only. |
| optimise | CoverageObjective | no | What to minimise: distance (default), time or balanced. |
| polygon | object | no | A GeoJSON Polygon or MultiPolygon geometry (longitude, latitude). |
| return_to_start | boolean | no | End where the drive started (default true). With false the final
connecting drive back to the start is left off. |
| road_classes | RoadClassFilter | no | |
| start | CoveragePoint | no | |
| turn_penalties | TurnPenalties | no | Turn penalties. |
| webhook_url | string | no | Job lane: where to POST the signed completion notice. |
Responses
result_url, or wait for the signed webhook; the job's result is a CoverageResponse| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The job id to poll. |
| kind | string | yes | optimise, replan, matrix or coverage. |
| result_url | string | yes | Where to fetch it. The same URL the webhook will carry. |
| status | string | yes | Always queued, the worker has not looked at it yet. |
| units_charged | integer | yes | Quota units this submission drew. Charged now, refunded in full if the job fails. |
webhook_urlwebhook_url was given but the key has no webhook signing secretcoverage-too-large: the area is over SN_COVERAGE_MAX_AREA_KM2 (100 km2 by default), or the drivable edges in it over SN_COVERAGE_MAX_EDGES; the body names limit, max, got and limit_envError bodies follow the shared problem model documented on API conventions.
Also under routing
Generated from https://api.mapmap.ai/openapi.json on 2026-10-31 · operationId post_coverage_job