Microsoft Azure Maps Search Service

Microsoft Azure Maps Search Service is a powerful tool that allows users to easily search for specific locations, addresses, and points of interest on a map. With this service, users can quickly find nearby businesses, restaurants, landmarks, and more with just a few clicks. In addition, the Search Service provides detailed information about each location, such as contact information, ratings, reviews, and even real-time traffic updates.

OpenAPI Specification

azure-maps-search-service-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure Azure Maps Search Service
  version: '1.0'
  description: Azure Maps Search REST APIs
host: atlas.microsoft.com
schemes:
  - https
consumes: []
produces:
  - application/json
  - application/xml
securityDefinitions:
  AADToken:
    type: oauth2
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    flow: implicit
    description: >-
      These are the [Microsoft Entra OAuth
      2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview)
      Flows. When paired with [Azure role-based
      access](https://docs.microsoft.com/azure/role-based-access-control/overview)
      control it can be used to control access to Azure Maps REST APIs. Azure
      role-based access controls are used to designate access to one or more
      Azure Maps resource account or sub-resources. Any user, group, or service
      principal can be granted access via a  built-in role or a custom role
      composed of one or more permissions to Azure Maps REST APIs.


      To implement scenarios, we recommend viewing [authentication
      concepts](https://aka.ms/amauth). In summary, this security definition
      provides a solution for modeling application(s) via objects capable of
      access control on specific APIs and scopes.


      #### Notes

      * This security definition **requires** the use of the `x-ms-client-id`
      header to indicate which Azure Maps resource the application is requesting
      access to. This can be acquired from the [Maps management
      API](https://aka.ms/amauthdetails).

      * 

      The `Authorization URL` is specific to the Azure public cloud instance.
      Sovereign clouds have unique Authorization URLs and Microsoft Entra ID
      configurations. 

      * 

      The Azure role-based access control is configured from the [Azure
      management plane](https://aka.ms/amrbac) via Azure portal, PowerShell,
      CLI, Azure SDKs, or REST APIs.

      * 

      Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for
      configuration based setup of an application for multiple use cases.

      * For more information on Microsoft identity platform, see [Microsoft
      identity platform
      overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).
    scopes:
      https://atlas.microsoft.com/.default: https://atlas.microsoft.com/.default
  SharedKey:
    type: apiKey
    description: >-
      This is a shared key that is provisioned when you [Create an Azure Maps
      account](https://docs.microsoft.com/azure/azure-maps/quick-demo-map-app#create-an-azure-maps-account)
      in the Azure portal or using PowerShell, CLI, Azure SDKs, or REST API.

       With this key, any application can access all REST API. In other words, this key can be used as a master key in the account that they are issued in.

       For publicly exposed applications, our recommendation is to use the [confidential client applications](https://docs.microsoft.com/azure/azure-maps/authentication-best-practices#confidential-client-applications) approach to access Azure Maps REST APIs so your key can be securely stored.
    name: subscription-key
    in: query
  SasToken:
    type: apiKey
    description: >-
      This is a shared access signature token is created from the List SAS
      operation on the [Azure Maps resource](https://aka.ms/amauth) through the
      Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or
      REST APIs.

       With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.

       For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.
    name: SAS Token
    in: header
security:
  - AADToken:
      - https://atlas.microsoft.com/.default
  - SharedKey: []
  - SasToken: []
responses:
  '202':
    description: >-
      Request Accepted: The request has been accepted for processing. Please use
      the URL in the Location Header to retry or access the results.
    headers:
      Location:
        type: string
        description: New URL to check for the results of the long-running operation.
  '400':
    description: >-
      Bad request: one or more parameters were incorrectly specified or are
      mutually exclusive.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  '401':
    description: >-
      Access denied due to invalid subscription key or invalid Microsoft Entra
      ID bearer token.  Make sure to provide a valid key for an active Azure
      subscription and Maps resource.  Otherwise, verify the
      [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header
      for error code and description of the provided Microsoft Entra ID bearer
      token.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
    headers:
      WWW-Authenticate:
        type: string
        description: >-
          Bearer realm="https://atlas.microsoft.com/", error="invalid_token",
          error_description="The access token expired"
  '403':
    description: Permission, capacity, or authentication issues.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  '404':
    description: >-
      Not Found: the requested resource could not be found, but it may be
      available again in the future.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  '500':
    description: An error occurred while processing the request. Please try again later.
    schema:
      $ref: '#/definitions/ODataErrorResponse'
  202Async:
    description: >-
      **Supported only for async request.**

      Request Accepted: The request has been accepted for processing. Please use
      the URL in the Location Header to retry or access the results.
    headers:
      Location:
        type: string
        description: New URL to check for the results of the long-running operation.
parameters:
  ClientId:
    name: x-ms-client-id
    description: >-
      Specifies which account is intended for usage in conjunction with the
      Microsoft Entra ID security model.  It represents a unique ID for the
      Azure Maps account and can be retrieved from the Azure Maps management  plane Account API. To use Microsoft Entra ID security in Azure Maps see
      the following [articles](https://aka.ms/amauthdetails) for guidance.
    type: string
    in: header
    required: false
    x-ms-parameter-location: client
  SubscriptionKey:
    name: subscription-key
    description: >-
      One of the Azure Maps keys provided from an Azure Map Account. Please
      refer to this
      [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication)
      for details on how to manage authentication.
    type: string
    in: query
    required: false
    x-ms-parameter-location: client
  ApiVersion:
    name: api-version
    description: Version number of Azure Maps API. Current version is 1.0
    type: string
    in: query
    required: true
    default: '1.0'
    x-ms-parameter-location: client
  JsonFormat:
    name: format
    description: Desired format of the response. Only `json` format is supported.
    type: string
    in: path
    required: true
    enum:
      - json
    x-ms-enum:
      name: JsonFormat
      modelAsString: true
      values:
        - value: json
          description: >-
            [The JavaScript Object Notation Data Interchange
            Format](https://tools.ietf.org/html/rfc8259)
    x-ms-parameter-location: method
  TextFormat:
    name: format
    description: Desired format of the response. Value can be either _json_ or _xml_.
    type: string
    in: path
    required: true
    enum:
      - json
      - xml
    x-ms-enum:
      name: TextFormat
      modelAsString: true
      values:
        - value: json
          description: >-
            [The JavaScript Object Notation Data Interchange
            Format](https://tools.ietf.org/html/rfc8259)
        - value: xml
          description: '[The Extensible Markup Language](https://www.w3.org/TR/xml/)'
    x-ms-parameter-location: method
  LimitSearch:
    name: limit
    in: query
    description: >-
      Maximum number of responses that will be returned. Default: 10, minimum: 1
      and maximum: 100
    required: false
    type: integer
    default: 10
    minimum: 1
    maximum: 100
    x-ms-parameter-location: method
  Offset:
    name: ofs
    in: query
    description: >-
      Starting offset of the returned results within the full result set.
      Default: 0, minimum: 0 and maximum: 1900
    required: false
    type: integer
    default: 0
    minimum: 0
    maximum: 1900
    x-ms-parameter-location: method
  OptionalBiasLat:
    name: lat
    in: query
    description: Latitude where results should be biased. E.g. 37.337
    required: false
    type: number
    x-ms-parameter-location: method
  OptionalBiasLon:
    name: lon
    in: query
    description: Longitude where results should be biased. E.g. -121.89
    required: false
    type: number
    x-ms-parameter-location: method
  BoundingBoxTopLeft:
    x-client-name: BoundingBoxTopLeft
    name: topLeft
    in: query
    description: Top left position of the bounding box. E.g. 37.553,-122.453
    required: false
    type: string
    x-ms-parameter-location: method
  BoundingBoxBottomRight:
    x-client-name: BoundingBoxBottomRight
    name: btmRight
    in: query
    description: Bottom right position of the bounding box. E.g. 37.553,-122.453
    required: false
    type: string
    x-ms-parameter-location: method
  RequiredBiasLat:
    name: lat
    in: query
    description: Latitude where results should be biased. E.g. 37.337.
    required: true
    type: number
    x-ms-parameter-location: method
  RequiredBiasLon:
    name: lon
    in: query
    description: Longitude where results should be biased. E.g. -121.89.
    required: true
    type: number
    x-ms-parameter-location: method
  Language:
    name: language
    in: query
    description: >-
      Language in which search results should be returned. Should be one of
      supported IETF language tags, case insensitive. When data in specified
      language is not available for a specific field, default language is used.


      Please refer to [Supported
      Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages)
      for details.
    required: false
    type: string
    x-ms-parameter-location: method
  Query:
    name: query
    in: query
    description: The applicable query string. Must be properly URL encoded.
    required: true
    type: string
    x-ms-parameter-location: method
  Position:
    name: query
    in: query
    description: >-
      The applicable query specified as a comma separated string composed by
      latitude followed by longitude e.g. "47.641268,-122.125679".
    required: true
    type: string
    x-ms-parameter-location: method
  View:
    name: view
    in: query
    description: >-
      The View parameter specifies which set of geopolitically disputed content
      is returned via Azure Maps services, including  borders and labels
      displayed on the map. The View parameter (also referred to as “user region
      parameter”) will show the  correct maps for that country/region. By
      default, the View parameter is set to “Unified” even if you haven’t
      defined it in  the request. It is your responsibility to determine the
      location of your users, and then set the View parameter correctly  for
      that location. Alternatively, you have the option to set ‘View=Auto’,
      which will return the map data based on the IP  address of the request.
      The View parameter in Azure Maps must be used in compliance with
      applicable laws, including those  regarding mapping, of the country where
      maps, images and other data and third party content that you are
      authorized to  access via Azure Maps is made available. Example: view=IN.


      Please refer to [Supported
      Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see
      the available Views.
    required: false
    type: string
    x-ms-parameter-location: method
  SearchIndexSet:
    name: idxSet
    in: query
    description: >-
      A comma separated list of indexes which should be utilized for the search.
      Item order does not matter. Available indexes are: Addr = Address range
      interpolation, Geo = Geographies, PAD = Point Addresses, POI = Points of
      interest, Str = Streets, Xstr = Cross Streets (intersections)
    required: false
    type: array
    items:
      type: string
      enum:
        - Addr
        - Geo
        - PAD
        - POI
        - Str
        - Xstr
      x-ms-enum:
        name: SearchIndexSet
        modelAsString: true
        values:
          - value: Addr
            description: Address range interpolation
          - value: Geo
            description: Geographies
          - value: PAD
            description: Point Addresses
          - value: POI
            description: Points of interest
          - value: Str
            description: Streets
          - value: Xstr
            description: Cross Streets (Intersections)
    collectionFormat: csv
    x-ms-parameter-location: method
  ExtendedPostalCodesFor:
    name: extendedPostalCodesFor
    in: query
    description: >-
      Indexes for which extended postal codes should be included in the results.


      Available indexes are: 

       **Addr** = Address ranges 

       **Geo** = Geographies 

       **PAD** = Point Addresses 

       **POI** = Points of Interest 

       **Str** = Streets 

       **XStr** = Cross Streets (intersections)

      Value should be a comma separated list of index types (in any order) or
      **None** for no indexes.


      By default extended postal codes are included for all indexes except Geo.
      Extended postal code lists for geographies can be quite long so they have
      to be explicitly requested when needed.


      Usage examples:

       extendedPostalCodesFor=POI 

       extendedPostalCodesFor=PAD,Addr,POI 

       extendedPostalCodesFor=None

      Extended postal code is returned as an **extendedPostalCode** property of
      an address. Availability is region-dependent.
    required: false
    type: string
    x-ms-parameter-location: method
  ExtendedPostalCodesForPoi:
    name: extendedPostalCodesFor
    in: query
    description: >-
      Indexes for which extended postal codes should be included in the results.


      Available indexes are: 

       **POI** = Points of Interest 

      Value should be **POI** or **None** to disable extended postal codes.


      By default extended postal codes are included.


      Usage examples:

       extendedPostalCodesFor=POI 

       extendedPostalCodesFor=None

      Extended postal code is returned as an **extendedPostalCode** property of
      an address. Availability is region-dependent.
    required: false
    type: string
    x-ms-parameter-location: method
  Typeahead:
    name: typeahead
    in: query
    description: >-
      Boolean. If the typeahead flag is set, the query will be interpreted as a
      partial input and the search will enter predictive mode
    required: false
    type: boolean
    default: false
    x-ms-parameter-location: method
  CategorySet:
    name: categorySet
    in: query
    description: >-
      A comma-separated list of category set IDs which could be used to restrict
      the result to specific Points of Interest categories. ID order does not
      matter. When multiple category identifiers are provided, only POIs that
      belong to (at least) one of the categories from the provided list will be
      returned. The list of supported categories can be discovered using  [POI
      Categories API](https://aka.ms/AzureMapsPOICategoryTree). Usage examples: 


      * **categorySet=7315** (Search Points of Interest from category
      Restaurant)


      * **categorySet=7315025,7315017** (Search Points of Interest of category
      either Italian or French Restaurant) 
    required: false
    type: array
    items:
      type: integer
    collectionFormat: csv
    x-ms-parameter-location: method
  CountrySet:
    name: countrySet
    in: query
    description: >-
      Comma separated string of country codes, e.g. FR,ES. This will limit the
      search to the specified countries
    required: false
    type: array
    items:
      type: string
    collectionFormat: csv
    x-ms-parameter-location: method
  Radius:
    name: radius
    in: query
    description: >-
      The radius in meters to for the results to be constrained to the defined
      area
    required: false
    type: number
    x-ms-parameter-location: method
  PoiQuery:
    name: query
    in: query
    description: >-
      The POI name to search for (e.g., "statue of liberty", "starbucks",
      "pizza"). Must be properly URL encoded.
    required: true
    type: string
    x-ms-parameter-location: method
  BrandSet:
    name: brandSet
    in: query
    description: >-
      A comma-separated list of brand names which could be used to restrict the
      result to specific brands. Item order does not matter. When multiple
      brands are provided, only results that belong to (at least) one of the
      provided list will be returned. Brands that contain a "," in their name
      should be put into quotes.


      Usage examples:

       brandSet=Foo

       brandSet=Foo,Bar

       brandSet="A,B,C Comma",Bar
    required: false
    type: array
    items:
      type: string
    collectionFormat: csv
    x-ms-parameter-location: method
  ConnectorSet:
    name: connectorSet
    in: query
    description: >-
      A comma-separated list of connector types which could be used to restrict
      the result to Electric Vehicle Station supporting specific connector
      types. Item order does not matter. When multiple connector types are
      provided, only results that belong to (at least) one of the provided list
      will be returned.


      Available connector types are:
        * `StandardHouseholdCountrySpecific` - These are the standard household connectors for a certain region. They are all AC single phase and the standard Voltage and standard Amperage. See also: [Plug & socket types - World Standards](https://www.worldstandards.eu/electricity/plugs-and-sockets).
        * `IEC62196Type1` - Type 1 connector as defined in the IEC 62196-2 standard. Also called Yazaki after the original manufacturer or SAE J1772 after the standard that first published it. Mostly used in combination with 120V single phase or up to 240V single phase infrastructure.
        * `IEC62196Type1CCS` - Type 1 based combo connector as defined in the IEC 62196-3 standard. The connector is based on the Type 1 connector – as defined in the IEC 62196-2 standard – with two additional direct current (DC) contacts to allow DC fast charging.
        * `IEC62196Type2CableAttached` - Type 2 connector as defined in the IEC 62196-2 standard. Provided as a cable and plug attached to the charging point.
        * `IEC62196Type2Outlet` - Type 2 connector as defined in the IEC 62196-2 standard. Provided as a socket set into the charging point.
        * `IEC62196Type2CCS` - Type 2 based combo connector as defined in the IEC 62196-3 standard. The connector is based on the Type 2 connector – as defined in the IEC 62196-2 standard – with two additional direct current (DC) contacts to allow DC fast charging.
        * `IEC62196Type3` - Type 3 connector as defined in the IEC 62196-2 standard. Also called Scame after the original manufacturer. Mostly used in combination with up to 240V single phase or up to 420V three phase infrastructure.
        * `Chademo` - CHAdeMO connector named after an association formed by the Tokyo Electric Power Company and industrial partners. Because of this is is also known as the TEPCO's connector. It supports fast DC charging.
        * `IEC60309AC1PhaseBlue` - Industrial Blue connector is a connector defined in the IEC 60309 standard. It is sometime referred to as by some combination of the standard, the color and the fact that is a single phase connector. The connector usually has the "P+N+E, 6h" configuration.
        * `IEC60309DCWhite` - Industrial White connector is a DC connector defined in the IEC 60309 standard.
        * `Tesla` - The Tesla connector is the regionally specific Tesla Supercharger connector. I.e. it refers to either Tesla's proprietary connector, sometimes referred to as Tesla Port mostly limited to North America or the modified Type 2 (DC over Type 2) in Europe.

      Usage examples:

       connectorSet=IEC62196Type2CableAttached
       connectorSet=IEC62196Type2Outlet,IEC62196Type2CableAttached
    required: false
    type: array
    items:
      type: string
      enum:
        - StandardHouseholdCountrySpecific
        - IEC62196Type1
        - IEC62196Type1CCS
        - IEC62196Type2CableAttached
        - IEC62196Type2Outlet
        - IEC62196Type2CCS
        - IEC62196Type3
        - Chademo
        - IEC60309AC1PhaseBlue
        - IEC60309DCWhite
        - Tesla
      x-ms-enum:
        name: ConnectorSet
        modelAsString: true
        values:
          - value: StandardHouseholdCountrySpecific
            description: >-
              These are the standard household connectors for a certain region.
              They are all AC single phase and the standard Voltage and standard
              Amperage.


              See also: [Plug & socket types - World
              Standards](https://www.worldstandards.eu/electricity/plugs-and-sockets)
          - value: IEC62196Type1
            description: >-
              Type 1 connector as defined in the IEC 62196-2 standard. Also
              called Yazaki after the original manufacturer or SAE J1772 after
              the standard that first published it. Mostly used in combination
              with 120V single phase or up to 240V single phase infrastructure.
          - value: IEC62196Type1CCS
            description: >-
              Type 1 based combo connector as defined in the IEC 62196-3
              standard. The connector is based on the Type 1 connector – as
              defined in the IEC 62196-2 standard – with two additional direct
              current (DC) contacts to allow DC fast charging.
          - value: IEC62196Type2CableAttached
            description: >-
              Type 2 connector as defined in the IEC 62196-2 standard. Provided
              as a cable and plug attached to the charging point
          - value: IEC62196Type2Outlet
            description: >-
              Type 2 connector as defined in the IEC 62196-2 standard. Provided
              as a socket set into the charging point.
          - value: IEC62196Type2CCS
            description: >-
              Type 2 based combo connector as defined in the IEC 62196-3
              standard. The connector is based on the Type 2 connector – as
              defined in the IEC 62196-2 standard – with two additional direct
              current (DC) contacts to allow DC fast charging.
          - value: IEC62196Type3
            description: >-
              Type 3 connector as defined in the IEC 62196-2 standard. Also
              called Scame after the original manufacturer. Mostly used in
              combination with up to 240V single phase or up to 420V three phase
              infrastructure.
          - value: Chademo
            description: >-
              CHAdeMO connector named after an association formed by the Tokyo
              Electric Power Company and industrial partners. Because of this is
              is also known as the TEPCO's connector. It supports fast DC
              charging.
          - value: IEC60309AC1PhaseBlue
            description: >-
              Industrial Blue connector is a connector defined in the IEC 60309
              standard. It is sometime referred to as by some combination of the
              standard, the color and the fact that is a single phase connector.
              The connector usually has the "P+N+E, 6h" configuration.
          - value: IEC60309DCWhite
            description: >-
              Industrial White connector is a DC connector defined in the IEC
              60309 standard.
          - value: Tesla
            description: >-
              The Tesla connector is the regionally specific Tesla Supercharger
              connector. I.e. it refers to either Tesla's proprietary connector,
              sometimes referred to as Tesla Port mostly limited to North
              America or the modified Type 2 (DC over Type 2) in Europe.
    collectionFormat: csv
    x-ms-parameter-location: method
  OpeningHours:
    name: openingHours
    description: >-
      Hours of operation for a POI (Points of Interest). The availability of
      hours of operation will vary based on the data available.

      Supported value: nextSevenDays
    type: string
    in: query
    required: false
    enum:
      - nextSevenDays
    x-ms-enum:
      name: OpeningHours
      modelAsString: true
      values:
        - value: nextSevenDays
          description: >-
            Shows the hours of operation for the next week, starting with the
            current day in the local time of the POI.
    x-ms-parameter-location: method
paths:
  /search/polygon/{format}:
    get:
      x-publish: true
      description: >-
        **Get Polygon**<br><br><br>**Applies to**: S1 pricing
        tier.<br><br><br>The Get Polygon service allows you to request the
        geometry data such as a city or country  outline for a set of entities,
        previously retrieved from an Online Search request in GeoJSON format.
        The geometry  ID is returned in the dataSources object under "geometry"
        and "id" in either a Search Address or Search Fuzzy call.<br><br>Please
        note that any geometry ID retrieved from an Online Search endpoint has a
        limited lifetime. The client  should not store geometry IDs in
        persistent storage for later referral, as the stability of these
        identifiers is  not guaranteed for a long period of time. It is expected
        that a request to the Polygon method is made within a  few minutes of
        the request to the Online Search method that provided the ID. The
        service allows for batch  requests up to 20 identifiers.
      operationId: microsoftAzureSearchGetsearchpolygon
      x-ms-examples:
        Get the Geometry using the geometry id returned by the previous Search:
          $ref: ./examples/GetSearchPolygon.json
      parameters:
        - $ref: '#/parameters/ClientId'
        - $ref: '#/parameters/SubscriptionKey'
        - $ref: '#/parameters/ApiVersion'
        - $ref: '#/parameters/JsonFormat'
        - name: geometries
          in: query
          description: >-
            Comma separated list of geometry UUIDs, previously retrieved from an
            Online Search request.
          required: true
          type: string
          x-ms-parameter-location: method
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SearchPolygonResponse'
        '400':
          $ref: '#/responses/400'
        '401':
          $ref: '#/responses/401'
        '403':
          $ref: '#/responses/403'
        '404':
          $ref: '#/responses/404'
        '500':
          $ref: '#/responses/500'
      produces:
        - application/json
      summary: Microsoft Azure Get Search Polygon Format
      tags:
        - Search
  /search/fuzzy/{format}:
    get:
      x-publish: true
      description: >-
        <br>**Free Form Search**<br><br>**Applies to**: S0 and S1 pricing
        tiers.<br><br><br>The basic default API is Free Form Search which
        handles the most fuzzy of inputs handling any combination of address or
        POI tokens. This search API is the canonical 'single line search'. The
        Free Form Search API is a seamless combination of POI search and
        geocoding. The API can also be weighted with a contextual position
        (lat./lon. pair), or fully constrained by a coordinate and radius, or it
        can be executed more generally without any geo biasing anchor point.We
        strongly advise you to use the 'countrySet' parameter to specify only
        the countries for which your application needs coverage, as the default
        behavior will be to search the entire world, potentially returning
        unnecessary results. E.g.: `countrySet`=US,FR Please see [Search
        Coverage](https://docs.microsoft.com/azure/location-based-services/geocoding-coverage)
        for a complete list of all the supported countries.Most Search queries
        default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual
        results. This new default can be overridden as needed per request by
        passing in the query param `maxFuzzyLevel`=3 or 4.
      operationId: microsoftAzureSearchGetsearchfuzzy
      x-ms-examples:
        Search City Seattle:
          $ref: ./examples/GetSearchFuzzy.json
      parameters:
        - $ref: '#/parameters/ClientId'
        - $ref: '#/parameters/SubscriptionKey'
        - $ref: '#/parameters/ApiVersion'
        - $ref: '#/parameters/TextFormat'
        - name: query
          in: query
          description: >-
            The applicable query string (e.g., "seattle", "pizza"). Can _also_
            be specified as a comma separated string composed by latitude
            followed by longitude (e.g., "47.641268, -122.125679"). Must be
            properly URL encoded.
          required: true
          type: string
          x-ms-parameter-location: method
        - $ref: '#/parameters/Typeahead'
        - $ref: '#/parameters/LimitSearch'
        - $ref: '#/parameters/Offset'
        - $ref: '#/parameters/CategorySet'
        - $ref: '#/parameters/CountrySet'
        - $ref: '#/parameters/OptionalBiasLat'
        - $ref: '#/parameters/OptionalBiasLon'
        - $ref: '#/parameters/Radius'
        - $ref: '#/parameters/BoundingBoxTopLeft'
        - $ref: '#/parameters/BoundingBoxBottomRight'
        - $ref: '#/parameters/Language'
        - $ref: '#/parameters/ExtendedPostalCodesFor'
        - name: minFuzzyLevel
          in: query
          description: >-
            Minimum fuzziness level to be used. Default: 1, minimum: 1 and
            maximum: 4


            * Level 1 has no spell checking.


            * Level 2 uses normal n-gram spell checking. For example, query
            "restrant" can be matched to "restaurant."


            * Level 3 uses sound-like spell checking, and shingle spell
            checking. Sound-like spell checking is for "rstrnt" to "restaurant"
            matching. Shingle spell checking is for "mountainview" to "mountain
            view" matching.


            * Level 4 doesn’t add any more spell checking functions.




            The search engine will start looking for a match on the level
            defined by minFuzzyLevel, and will stop searching at the level
            specified by maxFuzzyLevel.
          required: false
          type: integer
          default: 1
          minimum: 1
          maximum: 4
        - name: maxFuzzyLevel
          in: query
          description: >-
            Maximum fuzziness level to be used. Default: 2, minimum: 1 and
            maximum: 4


            * Level 1 has no spell checking.


            * Level 2 uses normal n-gram spell checking. For example, query
            "restrant" can be matched to "restaurant."


            * Level 3 uses sound-like spell checking, and shingle spell
            checking. Sound-like spell checking is for "rstrnt" to "restaurant"
            matching. Shingle spell checking is for "mountainview" to "mountain
            view" matching.


            * Level 4 doesn’t add any more spell checking functions.




            The search engine will start looking for a match on the level
            defined by minFuzzyLevel, and will stop searching at the level
            specified by maxFuzzyLevel.
          required: false
          type: integer
          default: 2
          minimum: 1
          maximum: 4


# --- truncated at 32 KB (130 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/openapi/azure-maps-search-service-openapi-original.yml