changedInput schema / anyOf
Previous value: -[
- {
- "required": [
- "amenity"
- ],
- "type": "object"
- },
- {
- "required": [
- "tag_key",
- "tag_value"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "required": [
+ "amenity"
+ ],
+ "type": "object"
+ },
+ {
+ "required": [
+ "tag_key"
+ ],
+ "type": "object"
+ }
+]
addedInput schema / properties / filters
Added value: +{
+ "description": "Up to five additional filters, ANDed with the required primary amenity or tag_key filter in input order. Omitted or [] adds no conditions. Keys must be unique after trimming; keys and values must not contain Overpass QL metacharacters (\" \\ [ ] ; ( )).",
+ "items": {
+ "additionalProperties": false,
+ "description": "One additional literal equality or key-existence filter.",
+ "properties": {
+ "key": {
+ "description": "Literal OSM tag key. Trimmed and nonblank; must be unique across the primary tag and all filters.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Literal exact-match value. Omit for key existence; an explicitly blank value is invalid. Trimmed before matching.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "key"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "type": "array"
+}
changedInput schema / properties / tag_key / description
Previous value: -"OSM tag key for non-amenity queries (e.g., \"leisure\", \"shop\", \"highway\", \"natural\"). Use with tag_value. Cannot be combined with amenity."New value: +"Primary OSM tag key (e.g., \"leisure\", \"shop\", \"highway\", \"natural\"); omit tag_value for key existence, or supply it for exact equality. Cannot be combined with amenity. Additional filters are ANDed with this tag."
changedInput schema / properties / tag_value / description
Previous value: -"OSM tag value paired with tag_key (e.g., \"park\", \"supermarket\", \"primary\", \"peak\")."New value: +"Literal value paired with tag_key for exact equality (e.g., \"park\", \"supermarket\"); omit for key existence. Explicit empty or whitespace-only values are invalid. Keys and values are trimmed; blank unused fields are ignored in amenity mode."
changedOutput schema / properties / effectiveTag / description
Previous value: -"The OSM tag filter applied (key=value, e.g. \"amenity=cafe\" or \"leisure=park\")."New value: +"The full ordered AND filter chain: key=value for equality, key alone for existence (e.g. \"amenity=restaurant, cuisine=italian, name\")."
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `invalid_tag`: Both amenity and tag_key/tag_value are provided, neither is provided, or a tag key/value contains Overpass QL metacharacters. `query_timeout`: The Overpass query exceeded the timeout. `result_too_large`: Overpass ran out of memory — the result set exceeds the server memory limit. `rate_limited`: Overpass refused the query as throttled — HTTP 429, or a throttle document instead of JSON — on every configured endpoint. With a list in OSM_OVERPASS_ENDPOINTS the call advances to the next entry first, so this surfaces only once all of them have refused it. `upstream_error`: Overpass reported a runtime error that is neither a timeout nor memory exhaustion — the message carries the remark verbatim. `overpass_gateway_timeout`: Overpass answered HTTP 504 — it accepted the query but its dispatcher gave up before producing a result, so the query exceeded the time budget the endpoint enforces rather than timeout_seconds. `overpass_unavailable`: Overpass answered with an HTTP 5xx other than 504 (500, 501, 502, 503) — the endpoint is down, restarting, or shedding load. Every one of them surfaces as ServiceUnavailable. `endpoints_exhausted`: Every Overpass endpoint tried was still unanswered when the call ran out of its total time budget — each accepted the query and held the connection instead of failing outright. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `invalid_tag`: Primary tag modes conflict or are missing, a tag key or supplied value is blank, keys repeat after trimming, or any filter contains Overpass QL metacharacters. `query_timeout`: The Overpass query exceeded the timeout. `result_too_large`: Overpass ran out of memory — the result set exceeds the server memory limit. `rate_limited`: Overpass refused the query as throttled — HTTP 429, or a throttle document instead of JSON — on every configured endpoint. With a list in OSM_OVERPASS_ENDPOINTS the call advances to the next entry first, so this surfaces only once all of them have refused it. `upstream_error`: Overpass reported a runtime error that is neither a timeout nor memory exhaustion — the message carries the remark verbatim. `overpass_gateway_timeout`: Overpass answered HTTP 504 — it accepted the query but its dispatcher gave up before producing a result, so the query exceeded the time budget the endpoint enforces rather than timeout_seconds. `overpass_unavailable`: Overpass answered with an HTTP 5xx other than 504 (500, 501, 502, 503) — the endpoint is down, restarting, or shedding load. Every one of them surfaces as ServiceUnavailable. `endpoints_exhausted`: Every Overpass endpoint tried was still unanswered when the call ran out of its total time budget — each accepted the query and held the connection instead of failing outright. Other values are possible when a failure originates below the handler."