{"protocolVersion":"0.3.0","name":"MapScale","description":"Maps API for Thailand: Thai/English geocoding, reverse geocoding, address autocomplete, routing, travel-time matrix, isochrones and MapLibre style URLs.","url":"https://api.mapscale.io/a2a","preferredTransport":"JSONRPC","additionalInterfaces":[{"url":"https://api.mapscale.io/a2a","transport":"JSONRPC"}],"provider":{"organization":"MapScale","url":"https://mapscale.io"},"version":"0.1.0","documentationUrl":"https://mapscale.io/docs/en/api-reference","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"MapScale API key (pk_ or sk_)."},"bearer":{"type":"http","scheme":"bearer","description":"MapScale API key sent as `Authorization: Bearer <key>`."}},"security":[{"apiKey":[]},{"bearer":[]}],"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["application/json","text/plain"],"supportsAuthenticatedExtendedCard":false,"skills":[{"id":"mapscale_products","name":"products","description":"Lists MapScale's products (APIs, SDKs, datasets and tools) with what each does, whether it needs an API key, and its docs URL. Optional filter by need.","tags":["maps","thailand"],"examples":["Which MapScale products need an API key?"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_thailand_quickstart","name":"thailand quickstart","description":"Returns copy-paste code for adding a MapLibre map of Thailand to a project: a complete, working example for maplibre-html, next, react, or react-native, including a keyless demo path (OpenStreetMap-based PMTiles) and the hosted style URL path that needs a MapScale publishable key. Useful when a project needs a Thailand basemap with Thai or English labels.","tags":["maps","thailand"],"examples":["Show a MapLibre quickstart for a Thailand map in Next.js"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_style_url","name":"style url","description":"Build the MapScale MapLibre style URL (self-contained: tiles+glyphs on the same origin). Drop straight into `new maplibregl.Map({ style })`. Params: lang (th/en), accent (6-digit hex), hide (layer groups).","tags":["maps","thailand"],"examples":["Build a Thai-language MapScale style URL with accent 0c4a4a"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_status","name":"status","description":"Check the MapScale API's health/dependency status (public endpoint, no key).","tags":["maps","thailand"],"examples":["Is the MapScale API healthy?"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_geocode","name":"geocode","description":"Geocode a query to coordinates. Accepts Thai-script or English queries (addresses, POIs, Thai administrative areas such as province, district and subdistrict) and returns a Mapbox-shaped GeoJSON FeatureCollection built on OpenStreetMap data. Requires a secret (sk_) key.","tags":["maps","thailand"],"examples":["Geocode siam paragon","Find ซีคอน สแควร์"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_reverse","name":"reverse","description":"Reverse-geocode a lng,lat point (Thai admin areas, addresses).","tags":["maps","thailand"],"examples":["Reverse geocode 100.5018,13.7563"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_autocomplete","name":"autocomplete","description":"Address/place autocomplete session call — Google Places-shaped {predictions:[…]} for building a Thai address search box. Pass a stable session_token per user session.","tags":["maps","thailand"],"examples":["Autocomplete addresses starting with สุขุมวิท 21"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_place","name":"place","description":"Fetch full place details by id from geocode/autocomplete results (photon:… or places uuids).","tags":["maps","thailand"],"examples":["Get details for a place id returned by geocode"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_route","name":"route","description":"Driving/walking route between waypoints (Thailand-tuned Valhalla). Mapbox-shaped response. Coordinates are [lng, lat] pairs.","tags":["maps","thailand"],"examples":["Driving route from Siam to Don Mueang Airport"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_matrix","name":"matrix","description":"Travel-time/distance matrix (≤25×25) — logistics, store-finder sort. sources and targets are [lng, lat] pair arrays.","tags":["maps","thailand"],"examples":["Travel-time matrix between three warehouses and ten stores"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_isochrone","name":"isochrone","description":"Isochrone contours around a point as GeoJSON — contours in minutes (\"5,10,15\") or kilometers (\"1km,2km\").","tags":["maps","thailand"],"examples":["15 and 30 minute driving area around 100.5018,13.7563"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"mapscale_show_thailand_map","name":"show thailand map","description":"Show an interactive map of Thailand inline (MapLibre on OpenStreetMap data). Give a `place` (a major Thai city/province such as Bangkok, Chiang Mai, Phuket — other places need a MapScale key) or an explicit `center` [lng, lat], plus an optional `zoom` (1-18) and `markers` ([{lng, lat, name}]). Use for any \"show me X on a map\" request about Thailand.","tags":["maps","thailand"],"examples":["Show Chiang Mai on a map"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]}]}