{"openapi":"3.1.0","info":{"title":"Geoman Public Documentation API","version":"1.0.0","description":"Search and read public library documentation. No authentication, account access or purchases. Data refreshes at most hourly."},"servers":[{"url":"https://geoman.io"}],"security":[],"paths":{"/api/agent/docs/search":{"get":{"operationId":"search_geoman_docs","description":"Search official Geoman documentation for Leaflet or MapLibre/Mapbox library setup, methods, events and Free/Pro features. Returns canonical URLs; use read_geoman_doc to read a result.","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":200,"description":"Topic, method or event to find"}},{"name":"library","in":"query","required":false,"schema":{"type":"string","enum":["leaflet","maplibre"],"description":"Mapbox uses the maplibre documentation"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10,"default":5}}],"responses":{"200":{"description":"Query and results with title, description, library and canonical URL.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input or unsupported URL"},"404":{"description":"Documentation page not found"},"503":{"description":"Documentation source temporarily unavailable; retry later"}}}},"/api/agent/docs/page":{"get":{"operationId":"read_geoman_doc","description":"Read a public Geoman documentation page as Markdown using a canonical URL from search_geoman_docs. Long pages return nextOffset for pagination. No account or license access.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri","maxLength":500}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":500,"maximum":20000,"default":12000}}],"responses":{"200":{"description":"Markdown page with offset, nextOffset (null at the end), and totalCharacters.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input or unsupported URL"},"404":{"description":"Documentation page not found"},"503":{"description":"Documentation source temporarily unavailable; retry later"}}}}}}