{"openapi":"3.1.0","info":{"title":"Mapbox via Locus MPP","version":"1.0.0","description":"Location and mapping APIs — geocoding, directions, isochrones, matrix routing, map matching, static maps, and spatial queries."},"x-service-info":{"categories":["data"],"docs":{"homepage":"https://www.mapbox.com","apiReference":"https://docs.mapbox.com/api/","llms":"https://beta.paywithlocus.com/mpp/mapbox.md"}},"paths":{"/mapbox/geocode-forward":{"post":{"summary":"Forward Geocode","x-payment-info":{"intent":"charge","method":"tempo","amount":"3750","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"q":{"type":"string","description":"Search text (address, place name, etc.)"},"proximity":{"type":"string","description":"Bias results near a coordinate: \"lon,lat\" or \"ip\""},"bbox":{"type":"string","description":"Bounding box to limit results: \"minLon,minLat,maxLon,maxLat\""},"country":{"type":"string","description":"Comma-separated ISO 3166-1 alpha-2 country codes"},"language":{"type":"string","description":"IETF language tag for results (e.g. \"en\", \"fr\")"},"limit":{"type":"number","description":"Maximum number of results (1-10, default 5)"},"types":{"type":"string","description":"Filter by feature type: country, region, postcode, district, place, locality, neighborhood, address, street, block"},"autocomplete":{"type":"boolean","description":"Enable autocomplete for partial queries (default true)"},"worldview":{"type":"string","description":"Worldview code (e.g. \"us\", \"cn\", \"jp\")"}},"required":["q"]}}}}}},"/mapbox/geocode-reverse":{"post":{"summary":"Reverse Geocode","x-payment-info":{"intent":"charge","method":"tempo","amount":"3750","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"longitude":{"type":"number","description":"Longitude (-180 to 180)"},"latitude":{"type":"number","description":"Latitude (-90 to 90)"},"country":{"type":"string","description":"Comma-separated ISO 3166-1 alpha-2 country codes"},"language":{"type":"string","description":"IETF language tag for results"},"limit":{"type":"number","description":"Maximum number of results (1-5, default 1)"},"types":{"type":"string","description":"Filter by feature type"},"worldview":{"type":"string","description":"Worldview code"}},"required":["longitude","latitude"]}}}}}},"/mapbox/directions":{"post":{"summary":"Directions","x-payment-info":{"intent":"charge","method":"tempo","amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"string","description":"Routing profile: mapbox/driving, mapbox/driving-traffic, mapbox/walking, mapbox/cycling"},"coordinates":{"type":"string","description":"Semicolon-separated lon,lat pairs (e.g. \"-73.99,40.73;-77.03,38.90\")"},"alternatives":{"type":"boolean","description":"Return up to 2 alternative routes"},"steps":{"type":"boolean","description":"Include turn-by-turn instructions"},"annotations":{"type":"string","description":"Comma-separated: distance, duration, speed, congestion, maxspeed, closure"},"geometries":{"type":"string","description":"Response geometry format: geojson, polyline, polyline6"},"overview":{"type":"string","description":"Route geometry detail: full, simplified, false"},"language":{"type":"string","description":"Language for turn instructions (e.g. \"en\")"},"exclude":{"type":"string","description":"Road types to exclude: motorway, toll, ferry, unpaved, cash_only_tolls"}},"required":["profile","coordinates"]}}}}}},"/mapbox/matrix":{"post":{"summary":"Matrix","x-payment-info":{"intent":"charge","method":"tempo","amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.002/element"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"string","description":"Routing profile: mapbox/driving, mapbox/driving-traffic, mapbox/walking, mapbox/cycling"},"coordinates":{"type":"string","description":"Semicolon-separated lon,lat pairs (2-25, max 10 for traffic)"},"sources":{"type":"string","description":"Semicolon-separated indices for source coordinates (for asymmetric matrices)"},"destinations":{"type":"string","description":"Semicolon-separated indices for destination coordinates"},"annotations":{"type":"string","description":"Comma-separated: duration, distance (or both)"},"approaches":{"type":"string","description":"Semicolon-separated approach per coordinate: unrestricted or curb"}},"required":["profile","coordinates"]}}}}}},"/mapbox/isochrone":{"post":{"summary":"Isochrone","x-payment-info":{"intent":"charge","method":"tempo","amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"string","description":"Routing profile: mapbox/driving, mapbox/driving-traffic, mapbox/walking, mapbox/cycling"},"coordinates":{"type":"string","description":"Single coordinate: \"lon,lat\""},"contours_minutes":{"type":"string","description":"Comma-separated travel times in minutes (1-60, up to 4 contours)"},"contours_meters":{"type":"string","description":"Comma-separated distances in meters (1-100000, up to 4 contours)"},"polygons":{"type":"boolean","description":"Return polygons instead of linestrings (default false)"},"denoise":{"type":"number","description":"Noise filter (0.0-1.0)"},"generalize":{"type":"number","description":"Douglas-Peucker simplification tolerance in meters"},"exclude":{"type":"string","description":"Road types to exclude: motorway, toll, ferry, unpaved"}},"required":["profile","coordinates"]}}}}}},"/mapbox/map-matching":{"post":{"summary":"Map Matching","x-payment-info":{"intent":"charge","method":"tempo","amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"profile":{"type":"string","description":"Routing profile: mapbox/driving, mapbox/driving-traffic, mapbox/walking, mapbox/cycling"},"coordinates":{"type":"string","description":"Semicolon-separated lon,lat pairs (2-100 coordinates)"},"annotations":{"type":"string","description":"Comma-separated: distance, duration, speed, congestion, maxspeed"},"geometries":{"type":"string","description":"Response format: geojson, polyline, polyline6"},"overview":{"type":"string","description":"Geometry detail: full, simplified, false"},"radiuses":{"type":"string","description":"Semicolon-separated search radius per coordinate (0-50 meters)"},"steps":{"type":"boolean","description":"Include turn-by-turn instructions"},"timestamps":{"type":"string","description":"Semicolon-separated Unix timestamps per coordinate"},"tidy":{"type":"boolean","description":"Clean up coordinate clusters for better matching"}},"required":["profile","coordinates"]}}}}}},"/mapbox/static-image":{"post":{"summary":"Static Image","x-payment-info":{"intent":"charge","method":"tempo","amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"style":{"type":"string","description":"Map style (default \"mapbox/streets-v12\"). Options: mapbox/streets-v12, mapbox/outdoors-v12, mapbox/light-v11, mapbox/dark-v11, mapbox/satellite-v9, mapbox/satellite-streets-v12"},"position":{"type":"string","description":"Map center and zoom: \"lon,lat,zoom\" or \"auto\" to fit overlay bounds (default \"auto\")"},"size":{"type":"string","description":"Image dimensions: \"widthxheight\" in pixels, max 1280x1280 (default \"600x400\")"},"overlay":{"type":"string","description":"Markers, paths, or GeoJSON overlay. E.g. \"pin-s+ff0000(-73.99,40.73)\" for a red marker"},"retina":{"type":"boolean","description":"Generate @2x high-DPI image"},"attribution":{"type":"boolean","description":"Show attribution (default true)"},"logo":{"type":"boolean","description":"Show Mapbox logo (default true)"},"padding":{"type":"string","description":"Padding around auto-fit overlay (CSS shorthand: \"top,right,bottom,left\")"}}}}}}}},"/mapbox/tilequery":{"post":{"summary":"Tilequery","x-payment-info":{"intent":"charge","method":"tempo","amount":"5000","currency":"0x20c000000000000000000000b9537d11c60e8b50"},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tileset_id":{"type":"string","description":"Tileset ID to query (e.g. \"mapbox.mapbox-streets-v8\"). Comma-separate up to 25."},"longitude":{"type":"number","description":"Longitude (-180 to 180)"},"latitude":{"type":"number","description":"Latitude (-85 to 85)"},"radius":{"type":"number","description":"Search radius in meters (default 0 for point-in-polygon)"},"limit":{"type":"number","description":"Max features to return (1-50, default 5)"},"dedupe":{"type":"boolean","description":"Remove duplicate features (default true)"},"geometry":{"type":"string","description":"Filter by geometry type: polygon, linestring, point"},"layers":{"type":"string","description":"Comma-separated layer names to query"}},"required":["tileset_id","longitude","latitude"]}}}}}}}}