Documentation menu
POST/v1/camera-incidents
Access and price
| Auth | An API key, as Authorization: Bearer snk_… or ?api_key=snk_…. Metered. Needs a full key; a browser (maps) key is refused. |
|---|---|
| Price | 1 call per request. Class: standard, or premium for truck and ADR work. Published as unit_rules.default in /pricing.json. |
| Premium | When the body asks for truck routing: "costing": "truck", a top-level adr object or "hazmat": true |
What it does
Answers from the camera-incidents artefact (a traffic camera saw it and
a vision model confirmed it), each record with its evidence clip,
confidence, verifier and expiry. The same answer the MCP tool
camera_incidents gives. An empty incidents list means no
camera-verified incident, never a clear road: show coverage_note.
Call it
curl -fsS -X POST "https://api.mapmap.ai/v1/camera-incidents" \
-H "Authorization: Bearer $MAPMAP_KEY" \
-H "Content-Type: application/json" \
-d '{"near":[51.5007,-0.1246],"radius_m":1000}'Request body
application/json · CameraIncidentsRequest
| Field | Type | Required | Description |
|---|---|---|---|
| bbox | number[] | no | [min_lon, min_lat, max_lon, max_lat]. |
| buffer_m | number | no | Corridor half-width for shape, metres: above 0 and at most 500.
Default 60. |
| include_recently_expired | boolean | no | Also return records that expired in the last hour. Default false. |
| min_confidence | number | no | Drop records below this verifier confidence, 0..=1. Default 0. |
| near | number[] | no | [lat, lon] of the point to search around (note the order: this
body follows the MCP tool, which takes latitude first). |
| radius_m | number | no | Radius for near, metres: above 0 and at most 10,000. Default 1,000. |
| shape | string | no | A route shape as an encoded polyline (precision 6); the corridor
rule of POST /v1/incidents/along applies. |
Example: A request assembled from this schema's own field examples, enums, defaults and types; not a recorded call
{
"near": [
51.5007,
-0.1246
],
"radius_m": 1000
}Responses
| Field | Type | Required | Description |
|---|---|---|---|
| attribution | string[] | yes | Attribution lines required by the camera providers, verbatim. |
| coverage_note | string | yes | Which cameras the feed covers, and that an empty list means "no camera-verified incident", never a clear road. Show it. |
| incidents | CameraIncident[] | yes | Records in force (and recently expired, if asked). |
Example: A response assembled from this schema's own field examples, enums, defaults and types; not a recorded call
{
"attribution": [
"string"
],
"coverage_note": "string",
"incidents": [
{
"camera_name": "string",
"camera_position": [
0
],
"confidence": 0,
"end": "string",
"id": "string",
"incident_kind": {},
"kind": "closed",
"source": "string",
"start": "string",
"verifier": "string",
"ways": []
}
]
}near, bbox or shape; a value out of range; or a body that does not parse (bad-request)application/problem+json · Problem
unauthorized); the body carries signup, docs and a one-call hint for a free keyapplication/problem+json · Problem
X-PAYMENT). Not problem+jsonapplication/json · X402PaymentRequired
scope-insufficient), a request from an origin the key does not allow (origin-not-allowed), or an account restriction (forbidden)application/problem+json · Problem
text/plain
rate-limited, with Retry-After), or monthly quota exhausted with no payment path (quota-exceeded)application/problem+json · Problem
internal)application/problem+json · Problem
camera-incidents-not-enabled)application/problem+json · Problem
request-timeout)application/problem+json · Problem
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-06 · operationId post_camera_incidents