# Suggest District 1 > The Suggest District 1 endpoint provides predictive autocomplete and search for first-level districts, such as localities and municipalities. The Suggest District 1 endpoint provides predictive autocomplete and search for **first-level districts**, such as localities and municipalities. ## Endpoint `POST https://{host}:{port}/Egon/api/suggest/district1` Replace `{host}` and `{port}` with the address of your Egon instance. ## Headers | Field | Type | Required | Description | | --- | --- | --- | --- | | `token` | String | Yes | Authentication token sent in the `token` request header. | ## Request Processing options, city ID context, and district query. | Field | Type | Required | Description | | --- | --- | --- | --- | | `par` | Object | Yes | Processing parameters, candidate limits, and country context | | `par.iso2` | String | No | Country code, ISO 3166-1 alpha-2. One of `iso2` or `iso3` is **required**. | | `par.iso3` | String | No | Country code, ISO 3166-1 alpha-3. One of `iso2` or `iso3` is **required**. | | `par.max_candidates` | Number | No | Maximum number of candidates to extract. Default value: `10` | | `data` | Object | Yes | Territorial search container with parent identifier filter | | `data.query` | String | Yes | Query string | | `data.restrict_id` | Number | No | ID of the territorial level. Used for filtering the research by a certain territorial level | ### Example request ```bash curl -X POST "https://{host}:{port}/Egon/api/suggest/district1" \ -H "token: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"par":{"iso3":"ITA"},"data":{"query":"Rovaio"}}' ``` ## Response Matching district candidates, administrative hierarchy, and system status. | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | Object | No | | | `data.results` | Array | No | Array of candidate matches returned by the suggestion engine | | `data.results.iso3` | String | No | Country code ISO 3166-1 alpha-3 | | `data.results.lngout` | String | No | Language code ISO 3166-1 numeric | | `data.results.country` | String | No | Country name | | `data.results.country_id` | Number | No | ID of the country | | `data.results.state` | String | No | State name | | `data.results.state_code` | String | No | State code | | `data.results.state_id` | Number | No | ID of the state | | `data.results.region` | String | No | Region name | | `data.results.region_code` | String | No | Region code | | `data.results.region_id` | Number | No | ID of the region | | `data.results.province` | String | No | Province name | | `data.results.province_code` | String | No | Province code | | `data.results.province_id` | Number | No | ID of the province | | `data.results.city` | String | No | City name | | `data.results.city_id` | Number | No | ID of the city | | `data.results.district1` | String | No | First-level district name | | `data.results.district1_id` | Number | No | ID of the first-level district | | `data.results.zipcode` | String | No | Postal code | | `system` | Object | No | System error and execution status | | `system.ret_code` | Number | No | Code: 0 no blocking error, <> 0 blocking error code | | `system.des_ret_code` | String | No | Description | ### Example responses **HTTP 200: Valid response** Matching district candidates, administrative hierarchy, and system status. ```json { "data": { "results": [ { "iso3": "ITA", "lngout": "380", "country": "Italia", "country_id": 38001476230, "region": "Emilia-Romagna", "region_id": 38000000009, "province": "Piacenza", "province_code": "PC", "province_id": 38000000077, "city": "Corte Brugnatella", "city_id": 38000003969, "district1": "Rovaiola", "district1_id": 38001476230, "zipcode": "29020" }, { "iso3": "ITA", "lngout": "380", "country": "Italia", "country_id": 38001468884, "region": "Lombardia", "region_id": 38000000004, "province": "Pavia", "province_code": "PV", "province_id": 38000000086, "city": "Brallo di Pregola", "city_id": 38000003739, "district1": "Rovaiolo", "district1_id": 38001468884, "zipcode": "27050" } ] }, "system": { "ret_code": 0, "des_ret_code": "Ok" } } ``` **HTTP 200: Missing par** The par object is missing. ```json { "system": { "ret_code": 1, "des_ret_code": "par not found" } } ``` **HTTP 200: Missing iso2 and iso3** Iso2 or Iso3 field is missing. ```json { "system": { "ret_code": 1, "des_ret_code": "iso2 or iso3 parameter not found" } } ``` **HTTP 200: Invalid iso2** The iso2 value is not valid. ```json { "system": { "ret_code": 1, "des_ret_code": "iso2 not found" } } ``` **HTTP 200: Invalid iso3** The iso3 value is not valid. ```json { "system": { "ret_code": 1, "des_ret_code": "iso3 not found" } } ``` **HTTP 200: Missing data** The data object is missing. ```json { "system": { "ret_code": 1, "des_ret_code": "data not found" } } ``` **HTTP 200: Missing query** The query field is missing. ```json { "system": { "ret_code": 1, "des_ret_code": "query not found" } } ``` **HTTP 200: Missing token** The token request header is missing. ```json { "system": { "ret_code": 1, "des_ret_code": "token not found" } } ``` **HTTP 200: Invalid token** The token is invalid. ```json { "system": { "ret_code": 1, "des_ret_code": "token not valid" } } ```