{
  "openapi": "3.1.0",
  "info": {
    "title": "Geoapify Address Autocomplete API",
    "version": "1.1.1",
    "description": "Autocomplete partial addresses while a user types."
  },
  "servers": [
    {
      "url": "https://api.geoapify.com/v1",
      "description": "Default API endpoint."
    },
    {
      "url": "https://api-eu.geoapify.com/v1",
      "description": "EU-focused endpoint. Geoapify service processing uses EU infrastructure."
    }
  ],
  "tags": [
    {
      "name": "Address Autocomplete",
      "description": "Autocomplete partial addresses."
    }
  ],
  "paths": {
    "/geocode/autocomplete": {
      "get": {
        "tags": [
          "Address Autocomplete"
        ],
        "operationId": "autocompleteAddress",
        "summary": "Autocomplete an address",
        "description": "Returns address and place suggestions for partial text.\n\n- `text` is required and may contain a partial address or place name.\n- `filter` restricts results; `bias` influences ranking without excluding matches.\n- Use `limit` to control the number of returned suggestions.\n\n**Example:** `text=Orle`",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "description": "Partial address or place name to autocomplete.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "example": "Orle"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Requested location type.",
            "schema": {
              "type": "string",
              "enum": [
                "country",
                "state",
                "city",
                "postcode",
                "street",
                "amenity",
                "locality"
              ]
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Result language.",
            "schema": {
              "type": "string",
              "enum": [
                "ab",
                "aa",
                "af",
                "ak",
                "sq",
                "am",
                "ar",
                "an",
                "hy",
                "as",
                "av",
                "ae",
                "ay",
                "az",
                "bm",
                "ba",
                "eu",
                "be",
                "bn",
                "bh",
                "bi",
                "bs",
                "br",
                "bg",
                "my",
                "ca",
                "ch",
                "ce",
                "ny",
                "zh",
                "cv",
                "kw",
                "co",
                "cr",
                "hr",
                "cs",
                "da",
                "dv",
                "nl",
                "en",
                "eo",
                "et",
                "ee",
                "fo",
                "fj",
                "fi",
                "fr",
                "ff",
                "gl",
                "ka",
                "de",
                "el",
                "gn",
                "gu",
                "ht",
                "ha",
                "he",
                "hz",
                "hi",
                "ho",
                "hu",
                "ia",
                "id",
                "ie",
                "ga",
                "ig",
                "ik",
                "io",
                "is",
                "it",
                "iu",
                "ja",
                "jv",
                "kl",
                "kn",
                "kr",
                "ks",
                "kk",
                "km",
                "ki",
                "rw",
                "ky",
                "kv",
                "kg",
                "ko",
                "ku",
                "kj",
                "la",
                "lb",
                "lg",
                "li",
                "ln",
                "lo",
                "lt",
                "lu",
                "lv",
                "gv",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mi",
                "mr",
                "mh",
                "mn",
                "na",
                "nv",
                "nb",
                "nd",
                "ne",
                "ng",
                "nn",
                "no",
                "ii",
                "nr",
                "oc",
                "oj",
                "cu",
                "om",
                "or",
                "os",
                "pa",
                "pi",
                "fa",
                "pl",
                "ps",
                "pt",
                "qu",
                "rm",
                "rn",
                "ro",
                "ru",
                "sa",
                "sc",
                "sd",
                "se",
                "sm",
                "sg",
                "sr",
                "gd",
                "sn",
                "si",
                "sk",
                "sl",
                "so",
                "st",
                "es",
                "su",
                "sw",
                "ss",
                "sv",
                "ta",
                "te",
                "tg",
                "th",
                "ti",
                "bo",
                "tk",
                "tl",
                "tn",
                "to",
                "tr",
                "ts",
                "tt",
                "tw",
                "ty",
                "ug",
                "uk",
                "ur",
                "uz",
                "ve",
                "vi",
                "vo",
                "wa",
                "cy",
                "wo",
                "fy",
                "xh",
                "yi",
                "yo",
                "za"
              ],
              "default": "en"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum number of results.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "countrycodes",
            "in": "query",
            "required": false,
            "description": "ISO 3166-1 alpha-2 country filters.",
            "schema": {
              "type": "array",
              "minItems": 0,
              "maxItems": 10,
              "items": {
                "type": "string",
                "enum": [
                  "ad",
                  "ae",
                  "af",
                  "ag",
                  "ai",
                  "al",
                  "am",
                  "an",
                  "ao",
                  "ap",
                  "aq",
                  "ar",
                  "as",
                  "at",
                  "au",
                  "aw",
                  "az",
                  "ba",
                  "bb",
                  "bd",
                  "be",
                  "bf",
                  "bg",
                  "bh",
                  "bi",
                  "bj",
                  "bm",
                  "bn",
                  "bo",
                  "br",
                  "bs",
                  "bt",
                  "bv",
                  "bw",
                  "by",
                  "bz",
                  "ca",
                  "cc",
                  "cd",
                  "cf",
                  "cg",
                  "ch",
                  "ci",
                  "ck",
                  "cl",
                  "cm",
                  "cn",
                  "co",
                  "cr",
                  "cu",
                  "cv",
                  "cx",
                  "cy",
                  "cz",
                  "de",
                  "dj",
                  "dk",
                  "dm",
                  "do",
                  "dz",
                  "ec",
                  "ee",
                  "eg",
                  "eh",
                  "er",
                  "es",
                  "et",
                  "eu",
                  "fi",
                  "fj",
                  "fk",
                  "fm",
                  "fo",
                  "fr",
                  "ga",
                  "gb",
                  "gd",
                  "ge",
                  "gf",
                  "gg",
                  "gh",
                  "gi",
                  "gl",
                  "gm",
                  "gn",
                  "gp",
                  "gq",
                  "gr",
                  "gs",
                  "gt",
                  "gu",
                  "gw",
                  "gy",
                  "hk",
                  "hm",
                  "hn",
                  "hr",
                  "ht",
                  "hu",
                  "id",
                  "ie",
                  "im",
                  "il",
                  "in",
                  "io",
                  "iq",
                  "ir",
                  "is",
                  "it",
                  "je",
                  "jm",
                  "jo",
                  "jp",
                  "ke",
                  "kg",
                  "kh",
                  "ki",
                  "km",
                  "kn",
                  "kp",
                  "kr",
                  "kw",
                  "ky",
                  "kz",
                  "la",
                  "lb",
                  "lc",
                  "li",
                  "lk",
                  "lr",
                  "ls",
                  "lt",
                  "lu",
                  "lv",
                  "ly",
                  "ma",
                  "mc",
                  "md",
                  "me",
                  "mg",
                  "mh",
                  "mk",
                  "ml",
                  "mm",
                  "mn",
                  "mo",
                  "mp",
                  "mq",
                  "mr",
                  "ms",
                  "mt",
                  "mu",
                  "mv",
                  "mw",
                  "mx",
                  "my",
                  "mz",
                  "na",
                  "nc",
                  "ne",
                  "nf",
                  "ng",
                  "ni",
                  "nl",
                  "no",
                  "np",
                  "nr",
                  "nu",
                  "nz",
                  "om",
                  "pa",
                  "pe",
                  "pf",
                  "pg",
                  "ph",
                  "pk",
                  "pl",
                  "pm",
                  "pr",
                  "ps",
                  "pt",
                  "pw",
                  "py",
                  "qa",
                  "re",
                  "ro",
                  "rs",
                  "ru",
                  "rw",
                  "sa",
                  "sb",
                  "sc",
                  "sd",
                  "se",
                  "sg",
                  "sh",
                  "si",
                  "sj",
                  "sk",
                  "sl",
                  "sm",
                  "sn",
                  "so",
                  "sr",
                  "st",
                  "sv",
                  "sy",
                  "sz",
                  "tc",
                  "td",
                  "tf",
                  "tg",
                  "th",
                  "tj",
                  "tk",
                  "tm",
                  "tn",
                  "to",
                  "tr",
                  "tt",
                  "tv",
                  "tw",
                  "tz",
                  "ua",
                  "ug",
                  "um",
                  "us",
                  "uy",
                  "uz",
                  "va",
                  "vc",
                  "ve",
                  "vg",
                  "vi",
                  "vn",
                  "vu",
                  "wf",
                  "ws",
                  "ye",
                  "yt",
                  "za",
                  "zm",
                  "zw"
                ]
              }
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "description": "Hard result filters.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(rect|circle|countrycode|place):.+"
              }
            }
          },
          {
            "name": "bias",
            "in": "query",
            "required": false,
            "description": "Result ranking bias.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(proximity|rect|circle|countrycode):.+"
              }
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "Response serialization: `geojson`, `json`, or `xml`.",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "geojson",
                "xml"
              ],
              "default": "geojson"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Geocoding results.",
            "content": {
              "application/geo+json": {
                "schema": {
                  "$ref": "#/components/schemas/TextGeocodingFeatureCollection"
                },
                "example": {
                  "type": "FeatureCollection",
                  "features": [
                    {
                      "type": "Feature",
                      "properties": {
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright"
                        },
                        "name": "New Orleans",
                        "other_names": {
                          "name:br": "Orleañs Nevez",
                          "name:es": "Nueva Orleans",
                          "name:fr": "La Nouvelle-Orléans",
                          "name:ja": "ニューオーリンズ",
                          "name:ko": "뉴올리언스",
                          "name:oc": "Nòva Orleans",
                          "name:ru": "Новый Орлеан",
                          "name:uk": "Новий Орлеан",
                          "name:vi": "Ngọc Lân",
                          "name:zh": "新奥尔良;紐奧良",
                          "loc_name": "NOLA",
                          "name:chr": "ᏄᎣᎵᏂᏏᏱ",
                          "short_name": "N.O.",
                          "alt_name:uk": "Ню Орлєанс",
                          "alt_name:vi": "New Orleans;Tân Linh",
                          "loc_name:en": "NOLA",
                          "loc_name:vi": "Ngọc Lân;Níu Liên",
                          "name:zh-Hans": "新奥尔良",
                          "name:zh-Hant": "紐奧良",
                          "name:am": "ኑ ኦርሌንዝ",
                          "name:an": "Nueva Orleans",
                          "name:ar": "نيو أورلينز",
                          "name:az": "Nyu-Orlean",
                          "name:be": "Новы Арлеан",
                          "name:bg": "Ню Орлиънс",
                          "name:bn": "নিয় অরলিন্স",
                          "name:ca": "Nova Orleans",
                          "name:ce": "Нью-Орлеан",
                          "name:cv": "Нью-Орлеан",
                          "name:el": "Νέα Ορλεάνη",
                          "name:eo": "Nov-Orleano",
                          "name:fa": "نیواورلئان",
                          "name:gl": "Nova Orleáns",
                          "name:he": "ניו אורלינס",
                          "name:hi": "न्यू ओर्लियंस",
                          "name:ht": "Nouvèl Òleyan",
                          "name:hy": "Նոր Օռլեան",
                          "name:io": "New-Orleans",
                          "name:ka": "ახალი ორლეანი",
                          "name:kk": "Жаңа Орлеан",
                          "name:kn": "ಹೊಸ ಒರ್ಲೀನ್ಸ್",
                          "name:ky": "Жаңы Орлеан",
                          "name:la": "Nova Aurelia",
                          "name:lt": "Naujasis Orleanas",
                          "name:lv": "Ņūorleāna",
                          "name:mk": "Њу Орлеанс",
                          "name:ml": "ന്യൂ ഓർലിയൻസ് നഗരം",
                          "name:mn": "Шинэ Орлеан",
                          "name:mr": "न्यू ऑर्लिन्स",
                          "name:nv": "Tónteel Biihílį́ Hatsoh",
                          "name:os": "Ног Орлеан",
                          "name:pl": "Nowy Orlean",
                          "name:pt": "Nova Orleães",
                          "name:sa": "न्‍यू आर्लीन्‍स",
                          "name:sr": "Њу Орлеанс",
                          "name:ta": "நியூ ஓர்லென்ஸ்",
                          "name:th": "นิวออร์ลีนส์",
                          "name:tt": "Яңа Орлеан",
                          "name:ug": "Yéngi Orléan",
                          "name:ur": "نیو اورلینز",
                          "name:uz": "Yangi Orlean",
                          "name:yi": "ניו ארלינס",
                          "name:pronunciation": "nu ˈɔːrlənz",
                          "name:en:pronunciation": "nu ˈɔːrlənz",
                          "name:zh-Hant-CN": "新奧爾良"
                        },
                        "country": "United States",
                        "country_code": "us",
                        "state": "Louisiana",
                        "county": "Orleans Parish",
                        "city": "New Orleans",
                        "iso3166_2": "US-LA",
                        "lon": -90.0733934,
                        "lat": 29.9561422,
                        "state_code": "LA",
                        "result_type": "city",
                        "formatted": "New Orleans, LA, United States of America",
                        "address_line1": "New Orleans, LA",
                        "address_line2": "United States of America",
                        "category": "administrative",
                        "timezone": {
                          "name": "America/Chicago",
                          "offset_STD": "-06:00",
                          "offset_DST": "-05:00",
                          "offset_STD_seconds": -21600,
                          "offset_DST_seconds": -18000,
                          "abbreviation_STD": "CST",
                          "abbreviation_DST": "CDT"
                        },
                        "plus_code": "76XFXW4G+FJ",
                        "plus_code_short": "4G+FJ New Orleans, Orleans Parish, United States",
                        "rank": {
                          "importance": 0.7240046227015887,
                          "confidence": 1,
                          "confidence_city_level": 1,
                          "match_type": "full_match"
                        },
                        "place_id": "51812f3b7ab28456c059535337bcc5f43d40f00101f9012d03020000000000c0020892030b4e6577204f726c65616e73"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          -90.0733934,
                          29.9561422
                        ]
                      },
                      "bbox": [
                        -90.1399307,
                        29.8654809,
                        -89.6251763,
                        30.1994687
                      ]
                    },
                    {
                      "type": "Feature",
                      "properties": {
                        "datasource": {
                          "sourcename": "openstreetmap",
                          "attribution": "© OpenStreetMap contributors",
                          "license": "Open Database License",
                          "url": "https://www.openstreetmap.org/copyright"
                        },
                        "name": "Orléans",
                        "other_names": {
                          "name:ar": "أرليانش",
                          "name:br": "Orleañs",
                          "name:el": "Ορλεάνη",
                          "name:eo": "Orleano",
                          "name:es": "Orleans",
                          "name:he": "אורליאן",
                          "name:ja": "オルレアン",
                          "name:la": "Cenabum",
                          "name:lt": "Orleanas",
                          "name:oc": "Orleans",
                          "name:pl": "Orlean",
                          "name:pt": "Orleães",
                          "name:ru": "Орлеан",
                          "name:sr": "Орлеан",
                          "name:uk": "Орлеан",
                          "alt_name:ar": "أورليان;أليانش;أورليون",
                          "name:bn": "ওর্ল্যোন্",
                          "name:hi": "ऒर्ल्योन",
                          "name:hy": "Օռլեան",
                          "name:ka": "ორლეანი",
                          "name:kn": "ಒರ್ಲ್ಯೋನ್",
                          "name:ko": "오를레앙",
                          "name:mk": "Орлеан",
                          "name:mr": "ऒर्ल्योन्",
                          "name:ta": "ஒர்ல்யோன்",
                          "name:te": "ఒర్ల్యోన్",
                          "name:th": "ออร์เลอ็อง",
                          "name:zh": "奥尔良",
                          "old_name:it": "Orleano",
                          "name:zh-Hans": "奥尔良",
                          "name:zh-Hant": "奧爾良"
                        },
                        "country": "France",
                        "country_code": "fr",
                        "region": "Metropolitan France",
                        "state": "Centre-Val de Loire",
                        "county": "Loiret",
                        "city": "Orléans",
                        "municipality": "Orléans",
                        "postcode": "45000",
                        "iso3166_2": "FR-CVL",
                        "iso3166_2_sublevel": "FR-45",
                        "lon": 1.9086066,
                        "lat": 47.9027336,
                        "state_code": "CVL",
                        "state_COG": "24",
                        "result_type": "city",
                        "department_COG": "45",
                        "NUTS_3": "FRB06",
                        "formatted": "Orléans, CVL, France",
                        "address_line1": "Orléans",
                        "address_line2": "Orléans, CVL, France",
                        "category": "administrative",
                        "timezone": {
                          "name": "Europe/Paris",
                          "offset_STD": "+01:00",
                          "offset_DST": "+02:00",
                          "offset_STD_seconds": 3600,
                          "offset_DST_seconds": 7200,
                          "abbreviation_STD": "CET",
                          "abbreviation_DST": "CEST"
                        },
                        "plus_code": "8FV3WW35+3C",
                        "plus_code_short": "35+3C Orléans, Loiret, France",
                        "rank": {
                          "importance": 0.6713646548396663,
                          "confidence": 1,
                          "confidence_city_level": 1,
                          "match_type": "full_match"
                        },
                        "place_id": "5145e0fe12a789fe3f590b804cc68cf34740f00101f9016740020000000000c002089203084f726cc3a9616e73"
                      },
                      "geometry": {
                        "type": "Point",
                        "coordinates": [
                          1.9086066,
                          47.9027336
                        ]
                      },
                      "bbox": [
                        1.8757578,
                        47.8132802,
                        1.9487114,
                        47.9335581
                      ]
                    }
                  ],
                  "query": {
                    "text": "Orle",
                    "parsed": {
                      "city": "orle",
                      "expected_type": "unknown"
                    },
                    "categories": []
                  }
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeocodingJsonResponse"
                },
                "example": {
                  "results": [
                    {
                      "datasource": {
                        "sourcename": "openstreetmap",
                        "attribution": "© OpenStreetMap contributors",
                        "license": "Open Database License",
                        "url": "https://www.openstreetmap.org/copyright"
                      },
                      "name": "New Orleans",
                      "other_names": {
                        "name:br": "Orleañs Nevez",
                        "name:es": "Nueva Orleans",
                        "name:fr": "La Nouvelle-Orléans",
                        "name:ja": "ニューオーリンズ",
                        "name:ko": "뉴올리언스",
                        "name:oc": "Nòva Orleans",
                        "name:ru": "Новый Орлеан",
                        "name:uk": "Новий Орлеан",
                        "name:vi": "Ngọc Lân",
                        "name:zh": "新奥尔良;紐奧良",
                        "loc_name": "NOLA",
                        "name:chr": "ᏄᎣᎵᏂᏏᏱ",
                        "short_name": "N.O.",
                        "alt_name:uk": "Ню Орлєанс",
                        "alt_name:vi": "New Orleans;Tân Linh",
                        "loc_name:en": "NOLA",
                        "loc_name:vi": "Ngọc Lân;Níu Liên",
                        "name:zh-Hans": "新奥尔良",
                        "name:zh-Hant": "紐奧良",
                        "name:am": "ኑ ኦርሌንዝ",
                        "name:an": "Nueva Orleans",
                        "name:ar": "نيو أورلينز",
                        "name:az": "Nyu-Orlean",
                        "name:be": "Новы Арлеан",
                        "name:bg": "Ню Орлиънс",
                        "name:bn": "নিয় অরলিন্স",
                        "name:ca": "Nova Orleans",
                        "name:ce": "Нью-Орлеан",
                        "name:cv": "Нью-Орлеан",
                        "name:el": "Νέα Ορλεάνη",
                        "name:eo": "Nov-Orleano",
                        "name:fa": "نیواورلئان",
                        "name:gl": "Nova Orleáns",
                        "name:he": "ניו אורלינס",
                        "name:hi": "न्यू ओर्लियंस",
                        "name:ht": "Nouvèl Òleyan",
                        "name:hy": "Նոր Օռլեան",
                        "name:io": "New-Orleans",
                        "name:ka": "ახალი ორლეანი",
                        "name:kk": "Жаңа Орлеан",
                        "name:kn": "ಹೊಸ ಒರ್ಲೀನ್ಸ್",
                        "name:ky": "Жаңы Орлеан",
                        "name:la": "Nova Aurelia",
                        "name:lt": "Naujasis Orleanas",
                        "name:lv": "Ņūorleāna",
                        "name:mk": "Њу Орлеанс",
                        "name:ml": "ന്യൂ ഓർലിയൻസ് നഗരം",
                        "name:mn": "Шинэ Орлеан",
                        "name:mr": "न्यू ऑर्लिन्स",
                        "name:nv": "Tónteel Biihílį́ Hatsoh",
                        "name:os": "Ног Орлеан",
                        "name:pl": "Nowy Orlean",
                        "name:pt": "Nova Orleães",
                        "name:sa": "न्‍यू आर्लीन्‍स",
                        "name:sr": "Њу Орлеанс",
                        "name:ta": "நியூ ஓர்லென்ஸ்",
                        "name:th": "นิวออร์ลีนส์",
                        "name:tt": "Яңа Орлеан",
                        "name:ug": "Yéngi Orléan",
                        "name:ur": "نیو اورلینز",
                        "name:uz": "Yangi Orlean",
                        "name:yi": "ניו ארלינס",
                        "name:pronunciation": "nu ˈɔːrlənz",
                        "name:en:pronunciation": "nu ˈɔːrlənz",
                        "name:zh-Hant-CN": "新奧爾良"
                      },
                      "country": "United States",
                      "country_code": "us",
                      "state": "Louisiana",
                      "county": "Orleans Parish",
                      "city": "New Orleans",
                      "iso3166_2": "US-LA",
                      "lon": -90.0733934,
                      "lat": 29.9561422,
                      "state_code": "LA",
                      "result_type": "city",
                      "formatted": "New Orleans, LA, United States of America",
                      "address_line1": "New Orleans, LA",
                      "address_line2": "United States of America",
                      "category": "administrative",
                      "timezone": {
                        "name": "America/Chicago",
                        "offset_STD": "-06:00",
                        "offset_DST": "-05:00",
                        "offset_STD_seconds": -21600,
                        "offset_DST_seconds": -18000,
                        "abbreviation_STD": "CST",
                        "abbreviation_DST": "CDT"
                      },
                      "plus_code": "76XFXW4G+FJ",
                      "plus_code_short": "4G+FJ New Orleans, Orleans Parish, United States",
                      "rank": {
                        "importance": 0.7240046227015887,
                        "confidence": 1,
                        "confidence_city_level": 1,
                        "match_type": "full_match"
                      },
                      "place_id": "51812f3b7ab28456c059535337bcc5f43d40f00101f9012d03020000000000c0020892030b4e6577204f726c65616e73",
                      "bbox": {
                        "lon1": -90.1399307,
                        "lat1": 29.8654809,
                        "lon2": -89.6251763,
                        "lat2": 30.1994687
                      }
                    },
                    {
                      "datasource": {
                        "sourcename": "openstreetmap",
                        "attribution": "© OpenStreetMap contributors",
                        "license": "Open Database License",
                        "url": "https://www.openstreetmap.org/copyright"
                      },
                      "name": "Orléans",
                      "other_names": {
                        "name:ar": "أرليانش",
                        "name:br": "Orleañs",
                        "name:el": "Ορλεάνη",
                        "name:eo": "Orleano",
                        "name:es": "Orleans",
                        "name:he": "אורליאן",
                        "name:ja": "オルレアン",
                        "name:la": "Cenabum",
                        "name:lt": "Orleanas",
                        "name:oc": "Orleans",
                        "name:pl": "Orlean",
                        "name:pt": "Orleães",
                        "name:ru": "Орлеан",
                        "name:sr": "Орлеан",
                        "name:uk": "Орлеан",
                        "alt_name:ar": "أورليان;أليانش;أورليون",
                        "name:bn": "ওর্ল্যোন্",
                        "name:hi": "ऒर्ल्योन",
                        "name:hy": "Օռլեան",
                        "name:ka": "ორლეანი",
                        "name:kn": "ಒರ್ಲ್ಯೋನ್",
                        "name:ko": "오를레앙",
                        "name:mk": "Орлеан",
                        "name:mr": "ऒर्ल्योन्",
                        "name:ta": "ஒர்ல்யோன்",
                        "name:te": "ఒర్ల్యోన్",
                        "name:th": "ออร์เลอ็อง",
                        "name:zh": "奥尔良",
                        "old_name:it": "Orleano",
                        "name:zh-Hans": "奥尔良",
                        "name:zh-Hant": "奧爾良"
                      },
                      "country": "France",
                      "country_code": "fr",
                      "region": "Metropolitan France",
                      "state": "Centre-Val de Loire",
                      "county": "Loiret",
                      "city": "Orléans",
                      "municipality": "Orléans",
                      "postcode": "45000",
                      "iso3166_2": "FR-CVL",
                      "iso3166_2_sublevel": "FR-45",
                      "lon": 1.9086066,
                      "lat": 47.9027336,
                      "state_code": "CVL",
                      "state_COG": "24",
                      "result_type": "city",
                      "department_COG": "45",
                      "NUTS_3": "FRB06",
                      "formatted": "Orléans, CVL, France",
                      "address_line1": "Orléans",
                      "address_line2": "Orléans, CVL, France",
                      "category": "administrative",
                      "timezone": {
                        "name": "Europe/Paris",
                        "offset_STD": "+01:00",
                        "offset_DST": "+02:00",
                        "offset_STD_seconds": 3600,
                        "offset_DST_seconds": 7200,
                        "abbreviation_STD": "CET",
                        "abbreviation_DST": "CEST"
                      },
                      "plus_code": "8FV3WW35+3C",
                      "plus_code_short": "35+3C Orléans, Loiret, France",
                      "rank": {
                        "importance": 0.6713646548396663,
                        "confidence": 1,
                        "confidence_city_level": 1,
                        "match_type": "full_match"
                      },
                      "place_id": "5145e0fe12a789fe3f590b804cc68cf34740f00101f9016740020000000000c002089203084f726cc3a9616e73",
                      "bbox": {
                        "lon1": 1.8757578,
                        "lat1": 47.8132802,
                        "lon2": 1.9487114,
                        "lat2": 47.9335581
                      }
                    }
                  ],
                  "query": {
                    "text": "Orle",
                    "parsed": {
                      "city": "orle",
                      "expected_type": "unknown"
                    },
                    "categories": []
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AddressAutocompleteXmlResponse"
                },
                "example": {
                  "results": [
                    {
                      "datasource": {
                        "sourcename": "openstreetmap",
                        "attribution": "© OpenStreetMap contributors",
                        "license": "Open Database License",
                        "url": "https://www.openstreetmap.org/copyright"
                      },
                      "name": "New Orleans",
                      "other_names": {
                        "name:br": "Orleañs Nevez",
                        "name:es": "Nueva Orleans",
                        "name:fr": "La Nouvelle-Orléans",
                        "name:ja": "ニューオーリンズ",
                        "name:ko": "뉴올리언스",
                        "name:oc": "Nòva Orleans",
                        "name:ru": "Новый Орлеан",
                        "name:uk": "Новий Орлеан",
                        "name:vi": "Ngọc Lân",
                        "name:zh": "新奥尔良;紐奧良",
                        "loc_name": "NOLA",
                        "name:chr": "ᏄᎣᎵᏂᏏᏱ",
                        "short_name": "N.O.",
                        "alt_name:uk": "Ню Орлєанс",
                        "alt_name:vi": "New Orleans;Tân Linh",
                        "loc_name:en": "NOLA",
                        "loc_name:vi": "Ngọc Lân;Níu Liên",
                        "name:zh-Hans": "新奥尔良",
                        "name:zh-Hant": "紐奧良",
                        "name:am": "ኑ ኦርሌንዝ",
                        "name:an": "Nueva Orleans",
                        "name:ar": "نيو أورلينز",
                        "name:az": "Nyu-Orlean",
                        "name:be": "Новы Арлеан",
                        "name:bg": "Ню Орлиънс",
                        "name:bn": "নিয় অরলিন্স",
                        "name:ca": "Nova Orleans",
                        "name:ce": "Нью-Орлеан",
                        "name:cv": "Нью-Орлеан",
                        "name:el": "Νέα Ορλεάνη",
                        "name:eo": "Nov-Orleano",
                        "name:fa": "نیواورلئان",
                        "name:gl": "Nova Orleáns",
                        "name:he": "ניו אורלינס",
                        "name:hi": "न्यू ओर्लियंस",
                        "name:ht": "Nouvèl Òleyan",
                        "name:hy": "Նոր Օռլեան",
                        "name:io": "New-Orleans",
                        "name:ka": "ახალი ორლეანი",
                        "name:kk": "Жаңа Орлеан",
                        "name:kn": "ಹೊಸ ಒರ್ಲೀನ್ಸ್",
                        "name:ky": "Жаңы Орлеан",
                        "name:la": "Nova Aurelia",
                        "name:lt": "Naujasis Orleanas",
                        "name:lv": "Ņūorleāna",
                        "name:mk": "Њу Орлеанс",
                        "name:ml": "ന്യൂ ഓർലിയൻസ് നഗരം",
                        "name:mn": "Шинэ Орлеан",
                        "name:mr": "न्यू ऑर्लिन्स",
                        "name:nv": "Tónteel Biihílį́ Hatsoh",
                        "name:os": "Ног Орлеан",
                        "name:pl": "Nowy Orlean",
                        "name:pt": "Nova Orleães",
                        "name:sa": "न्‍यू आर्लीन्‍स",
                        "name:sr": "Њу Орлеанс",
                        "name:ta": "நியூ ஓர்லென்ஸ்",
                        "name:th": "นิวออร์ลีนส์",
                        "name:tt": "Яңа Орлеан",
                        "name:ug": "Yéngi Orléan",
                        "name:ur": "نیو اورلینز",
                        "name:uz": "Yangi Orlean",
                        "name:yi": "ניו ארלינס",
                        "name:pronunciation": "nu ˈɔːrlənz",
                        "name:en:pronunciation": "nu ˈɔːrlənz",
                        "name:zh-Hant-CN": "新奧爾良"
                      },
                      "country": "United States",
                      "country_code": "us",
                      "state": "Louisiana",
                      "county": "Orleans Parish",
                      "city": "New Orleans",
                      "iso3166_2": "US-LA",
                      "lon": -90.0733934,
                      "lat": 29.9561422,
                      "state_code": "LA",
                      "result_type": "city",
                      "formatted": "New Orleans, LA, United States of America",
                      "address_line1": "New Orleans, LA",
                      "address_line2": "United States of America",
                      "category": "administrative",
                      "timezone": {
                        "name": "America/Chicago",
                        "offset_STD": "-06:00",
                        "offset_DST": "-05:00",
                        "offset_STD_seconds": -21600,
                        "offset_DST_seconds": -18000,
                        "abbreviation_STD": "CST",
                        "abbreviation_DST": "CDT"
                      },
                      "plus_code": "76XFXW4G+FJ",
                      "plus_code_short": "4G+FJ New Orleans, Orleans Parish, United States",
                      "rank": {
                        "importance": 0.7240046227015887,
                        "confidence": 1,
                        "confidence_city_level": 1,
                        "match_type": "full_match"
                      },
                      "place_id": "51812f3b7ab28456c059535337bcc5f43d40f00101f9012d03020000000000c0020892030b4e6577204f726c65616e73",
                      "bbox": {
                        "lon1": -90.1399307,
                        "lat1": 29.8654809,
                        "lon2": -89.6251763,
                        "lat2": 30.1994687
                      }
                    },
                    {
                      "datasource": {
                        "sourcename": "openstreetmap",
                        "attribution": "© OpenStreetMap contributors",
                        "license": "Open Database License",
                        "url": "https://www.openstreetmap.org/copyright"
                      },
                      "name": "Orléans",
                      "other_names": {
                        "name:ar": "أرليانش",
                        "name:br": "Orleañs",
                        "name:el": "Ορλεάνη",
                        "name:eo": "Orleano",
                        "name:es": "Orleans",
                        "name:he": "אורליאן",
                        "name:ja": "オルレアン",
                        "name:la": "Cenabum",
                        "name:lt": "Orleanas",
                        "name:oc": "Orleans",
                        "name:pl": "Orlean",
                        "name:pt": "Orleães",
                        "name:ru": "Орлеан",
                        "name:sr": "Орлеан",
                        "name:uk": "Орлеан",
                        "alt_name:ar": "أورليان;أليانش;أورليون",
                        "name:bn": "ওর্ল্যোন্",
                        "name:hi": "ऒर्ल्योन",
                        "name:hy": "Օռլեան",
                        "name:ka": "ორლეანი",
                        "name:kn": "ಒರ್ಲ್ಯೋನ್",
                        "name:ko": "오를레앙",
                        "name:mk": "Орлеан",
                        "name:mr": "ऒर्ल्योन्",
                        "name:ta": "ஒர்ல்யோன்",
                        "name:te": "ఒర్ల్యోన్",
                        "name:th": "ออร์เลอ็อง",
                        "name:zh": "奥尔良",
                        "old_name:it": "Orleano",
                        "name:zh-Hans": "奥尔良",
                        "name:zh-Hant": "奧爾良"
                      },
                      "country": "France",
                      "country_code": "fr",
                      "region": "Metropolitan France",
                      "state": "Centre-Val de Loire",
                      "county": "Loiret",
                      "city": "Orléans",
                      "municipality": "Orléans",
                      "postcode": "45000",
                      "iso3166_2": "FR-CVL",
                      "iso3166_2_sublevel": "FR-45",
                      "lon": 1.9086066,
                      "lat": 47.9027336,
                      "state_code": "CVL",
                      "state_COG": "24",
                      "result_type": "city",
                      "department_COG": "45",
                      "NUTS_3": "FRB06",
                      "formatted": "Orléans, CVL, France",
                      "address_line1": "Orléans",
                      "address_line2": "Orléans, CVL, France",
                      "category": "administrative",
                      "timezone": {
                        "name": "Europe/Paris",
                        "offset_STD": "+01:00",
                        "offset_DST": "+02:00",
                        "offset_STD_seconds": 3600,
                        "offset_DST_seconds": 7200,
                        "abbreviation_STD": "CET",
                        "abbreviation_DST": "CEST"
                      },
                      "plus_code": "8FV3WW35+3C",
                      "plus_code_short": "35+3C Orléans, Loiret, France",
                      "rank": {
                        "importance": 0.6713646548396663,
                        "confidence": 1,
                        "confidence_city_level": 1,
                        "match_type": "full_match"
                      },
                      "place_id": "5145e0fe12a789fe3f590b804cc68cf34740f00101f9016740020000000000c002089203084f726cc3a9616e73",
                      "bbox": {
                        "lon1": 1.8757578,
                        "lat1": 47.8132802,
                        "lon2": 1.9487114,
                        "lat2": 47.9335581
                      }
                    }
                  ],
                  "query": {
                    "text": "Orle",
                    "parsed": {
                      "city": "orle",
                      "expected_type": "unknown"
                    },
                    "categories": []
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid address autocomplete parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 400,
                  "error": "Bad Request",
                  "message": "\"text\" is required"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Geoapify API key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 401,
                  "error": "Unauthorized",
                  "message": "Invalid apiKey"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or quota exceeded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 429,
                  "error": "Too Many Requests",
                  "message": "Quota exceeded"
                }
              }
            }
          },
          "500": {
            "description": "Internal gateway error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayError"
                },
                "example": {
                  "statusCode": 500,
                  "error": "Internal Server Error",
                  "message": "Request failed, please try again later"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "FeatureCollection": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "type",
          "features"
        ],
        "properties": {
          "type": {
            "const": "FeatureCollection"
          },
          "features": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          }
        }
      },
      "Feature": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "type",
          "properties",
          "geometry"
        ],
        "properties": {
          "type": {
            "const": "Feature"
          },
          "properties": {
            "$ref": "#/components/schemas/GeocodingProperties"
          },
          "geometry": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PointGeometry"
              },
              {
                "$ref": "#/components/schemas/GenericGeometry"
              },
              {
                "$ref": "#/components/schemas/GeometryCollection"
              }
            ]
          },
          "bbox": {
            "type": "array",
            "minItems": 4,
            "maxItems": 6,
            "items": {
              "type": "number"
            }
          }
        }
      },
      "PointGeometry": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "const": "Point"
          },
          "coordinates": {
            "$ref": "#/components/schemas/Position"
          }
        }
      },
      "GenericGeometry": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "LineString",
              "Polygon",
              "MultiPoint",
              "MultiLineString",
              "MultiPolygon"
            ]
          },
          "coordinates": {
            "type": "array"
          }
        }
      },
      "GeometryCollection": {
        "type": "object",
        "required": [
          "type",
          "geometries"
        ],
        "properties": {
          "type": {
            "const": "GeometryCollection"
          },
          "geometries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PointGeometry"
                },
                {
                  "$ref": "#/components/schemas/GenericGeometry"
                },
                {
                  "$ref": "#/components/schemas/GeometryCollection"
                }
              ]
            }
          }
        }
      },
      "Position": {
        "type": "array",
        "minItems": 2,
        "maxItems": 3,
        "prefixItems": [
          {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          {
            "type": "number"
          }
        ],
        "items": false
      },
      "TimezoneOutput": {
        "type": "object",
        "required": [
          "name",
          "offset_STD",
          "offset_DST",
          "offset_STD_seconds",
          "offset_DST_seconds"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "name_alt": {
            "type": "string"
          },
          "country_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "offset_STD": {
            "type": "string"
          },
          "offset_DST": {
            "type": "string"
          },
          "offset_STD_seconds": {
            "type": "number"
          },
          "offset_DST_seconds": {
            "type": "number"
          },
          "abbreviation_STD": {
            "type": "string"
          },
          "abbreviation_DST": {
            "type": "string"
          }
        }
      },
      "PublicDatasource": {
        "type": "object",
        "properties": {
          "sourcename": {
            "type": "string"
          },
          "attribution": {
            "type": "string"
          },
          "license": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "PlacesDatasource": {
        "type": "object",
        "required": [
          "raw"
        ],
        "properties": {
          "sourcename": {
            "type": "string"
          },
          "attribution": {
            "type": "string"
          },
          "license": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "raw": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "GeocodingRank": {
        "type": "object",
        "properties": {
          "confidence": {
            "type": "number"
          },
          "confidence_city_level": {
            "type": "number"
          },
          "confidence_street_level": {
            "type": "number"
          },
          "confidence_building_level": {
            "type": "number"
          },
          "match_type": {
            "type": "string",
            "enum": [
              "full_match",
              "inner_part",
              "match_by_building",
              "match_by_street",
              "match_by_postcode",
              "match_by_city_or_disrict",
              "match_by_country_or_state"
            ]
          },
          "importance": {
            "type": "number"
          },
          "popularity": {
            "type": "number"
          }
        }
      },
      "WikiPopulation": {
        "type": "object",
        "required": [
          "actual",
          "by_years"
        ],
        "properties": {
          "actual": {
            "type": "string"
          },
          "by_years": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "ParsedAddress": {
        "type": "object",
        "properties": {
          "po_box": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "house": {
            "type": "string"
          },
          "housenumber": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "suburb": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "county": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "expected_type": {
            "type": "string",
            "enum": [
              "unknown",
              "amenity_name",
              "amenity",
              "building",
              "street",
              "postcode",
              "suburb",
              "district",
              "city",
              "county",
              "state",
              "country"
            ]
          }
        }
      },
      "TextGeocoderQuery": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "plus_code": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "housenumber": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "parsed": {
            "$ref": "#/components/schemas/ParsedAddress"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "keys",
                "label"
              ],
              "properties": {
                "keys": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "label": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ReverseGeocoderQuery": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "plus_code": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        }
      },
      "GeocodingProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "continent": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "state_code": {
            "type": "string"
          },
          "state_COG": {
            "type": "string"
          },
          "department_COG": {
            "type": "string"
          },
          "state_district": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "arrondissement": {
            "type": "string"
          },
          "county": {
            "type": "string"
          },
          "county_code": {
            "type": "string"
          },
          "county_district": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "city_district": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "postal_code": {
            "type": "string"
          },
          "openGeoDB:postal_codes": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "suburb": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "commune": {
            "type": "string"
          },
          "subdistrict": {
            "type": "string"
          },
          "city_block": {
            "type": "string"
          },
          "neighbourhood": {
            "type": "string"
          },
          "quarter": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "sector": {
            "type": "string"
          },
          "subdivision": {
            "type": "string"
          },
          "croft": {
            "type": "string"
          },
          "allotments": {
            "type": "string"
          },
          "residental": {
            "type": "string"
          },
          "farm": {
            "type": "string"
          },
          "farmyard": {
            "type": "string"
          },
          "industrial": {
            "type": "string"
          },
          "commercial": {
            "type": "string"
          },
          "retail": {
            "type": "string"
          },
          "borough": {
            "type": "string"
          },
          "town": {
            "type": "string"
          },
          "township": {
            "type": "string"
          },
          "village": {
            "type": "string"
          },
          "hamlet": {
            "type": "string"
          },
          "locality": {
            "type": "string"
          },
          "isolated_dwelling": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "road": {
            "type": "string"
          },
          "footway": {
            "type": "string"
          },
          "pedestrian": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "housenumber": {
            "type": "string"
          },
          "house_number": {
            "type": "string"
          },
          "house_name": {
            "type": "string"
          },
          "old_name": {
            "type": "string"
          },
          "other": {
            "type": "string"
          },
          "formatted": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": "string"
          },
          "unlocode": {
            "type": "string"
          },
          "iso3166_2": {
            "type": "string"
          },
          "iso3166_2_sublevel": {
            "type": "string"
          },
          "iso3166_sublevel": {
            "type": "string"
          },
          "plus_code": {
            "type": "string"
          },
          "plus_code_short": {
            "type": "string"
          },
          "postcodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "other_names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "population": {
            "type": "number"
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "parent_as_place_id": {
            "type": "boolean"
          },
          "timezone": {
            "$ref": "#/components/schemas/TimezoneOutput"
          },
          "NUTS_3": {
            "type": "string"
          },
          "result_type": {
            "type": "string",
            "enum": [
              "unknown",
              "amenity_name",
              "amenity",
              "building",
              "street",
              "postcode",
              "suburb",
              "district",
              "city",
              "county",
              "state",
              "country"
            ]
          },
          "distance": {
            "type": "number"
          },
          "datasource": {
            "$ref": "#/components/schemas/PublicDatasource"
          },
          "rank": {
            "$ref": "#/components/schemas/GeocodingRank"
          },
          "category": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "place_id": {
            "type": "string",
            "minLength": 3,
            "maxLength": 2048
          },
          "bbox": {
            "type": "object",
            "required": [
              "lon1",
              "lat1",
              "lon2",
              "lat2"
            ],
            "properties": {
              "lon1": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "lat1": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "lon2": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "lat2": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              }
            }
          }
        }
      },
      "TextGeocodingFeatureCollection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FeatureCollection"
          },
          {
            "type": "object",
            "properties": {
              "query": {
                "$ref": "#/components/schemas/TextGeocoderQuery"
              }
            }
          }
        ]
      },
      "ReverseGeocodingFeatureCollection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FeatureCollection"
          },
          {
            "type": "object",
            "required": [
              "query"
            ],
            "properties": {
              "query": {
                "$ref": "#/components/schemas/ReverseGeocoderQuery"
              }
            }
          }
        ]
      },
      "GeocodingJsonResponse": {
        "type": "object",
        "required": [
          "results"
        ],
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeocodingProperties"
            }
          },
          "query": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TextGeocoderQuery"
              },
              {
                "$ref": "#/components/schemas/ReverseGeocoderQuery"
              }
            ]
          }
        }
      },
      "ForwardGeocodingXmlResponse": {
        "type": "object",
        "required": [
          "results"
        ],
        "xml": {
          "name": "root"
        },
        "properties": {
          "results": {
            "type": "array",
            "xml": {
              "name": "results",
              "wrapped": false
            },
            "items": {
              "$ref": "#/components/schemas/GeocodingProperties",
              "xml": {
                "name": "results"
              }
            }
          },
          "query": {
            "$ref": "#/components/schemas/TextGeocoderQuery",
            "xml": {
              "name": "query"
            }
          }
        }
      },
      "ReverseGeocodingXmlResponse": {
        "type": "object",
        "required": [
          "results"
        ],
        "xml": {
          "name": "root"
        },
        "properties": {
          "results": {
            "type": "array",
            "xml": {
              "name": "results",
              "wrapped": false
            },
            "items": {
              "$ref": "#/components/schemas/GeocodingProperties",
              "xml": {
                "name": "results"
              }
            }
          },
          "query": {
            "$ref": "#/components/schemas/ReverseGeocoderQuery",
            "xml": {
              "name": "query"
            }
          }
        }
      },
      "AddressAutocompleteXmlResponse": {
        "type": "object",
        "required": [
          "results"
        ],
        "xml": {
          "name": "root"
        },
        "properties": {
          "results": {
            "type": "array",
            "xml": {
              "name": "results",
              "wrapped": false
            },
            "items": {
              "$ref": "#/components/schemas/GeocodingProperties",
              "xml": {
                "name": "results"
              }
            }
          },
          "query": {
            "$ref": "#/components/schemas/TextGeocoderQuery",
            "xml": {
              "name": "query"
            }
          }
        }
      },
      "GatewayError": {
        "type": "object",
        "required": [
          "statusCode",
          "error",
          "message"
        ],
        "properties": {
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code returned by the gateway."
          },
          "error": {
            "type": "string",
            "description": "Standard HTTP error name."
          },
          "message": {
            "type": "string",
            "description": "Human-readable explanation of the error."
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyInQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "apiKey",
        "description": "Geoapify API key query parameter. Recommended authentication method for public APIs. API keys in URLs can be logged; use x-api-key for server-to-server clients."
      },
      "ApiKeyInHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Geoapify API key header. Supported as an alternative authentication method for public APIs."
      }
    }
  },
  "security": [
    {
      "ApiKeyInQuery": []
    },
    {
      "ApiKeyInHeader": []
    }
  ]
}
