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**
**Applies to**: S1 pricing
tier.
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.
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: >-
**Free Form Search**
**Applies to**: S0 and S1 pricing
tiers.
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
- $ref: '#/parameters/SearchIndexSet'
- $ref: '#/parameters/BrandSet'
- $ref: '#/parameters/ConnectorSet'
- $ref: '#/parameters/View'
- $ref: '#/parameters/OpeningHours'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchFuzzyResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Fuzzy Format
tags:
- Search
/search/poi/{format}:
get:
x-publish: true
description: >-
**Get POI by Name**
**Applies to**: S0 and S1 pricing
tiers.
Points of Interest (POI) Search allows you to request
POI results by name. Search supports additional query parameters such
as language and filtering results by area of interest driven by country
or bounding box. Endpoint will return only POI results matching the
query string. Response includes POI details such as address, coordinate
location and category.
operationId: microsoftAzureSearchGetsearchpoi
x-ms-examples:
Search for juice bars within 5 miles of Seattle Downtown and limit the response to 5 results:
$ref: ./examples/GetSearchPOI.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- name: query
in: query
description: >-
The POI name to search for (e.g., "statue of liberty", "starbucks"),
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/ExtendedPostalCodesForPoi'
- $ref: '#/parameters/BrandSet'
- $ref: '#/parameters/ConnectorSet'
- $ref: '#/parameters/View'
- $ref: '#/parameters/OpeningHours'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchPoiResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Poi Format
tags:
- Search
/search/nearby/{format}:
get:
x-publish: true
description: >-
**Nearby Search**
**Applies to**: S0 and S1 pricing
tiers.
If you have a use case for only retrieving POI results
around a specific location, the nearby search method may be the right
choice. This endpoint will only return POI results, and does not take in
a search query parameter.
operationId: microsoftAzureSearchGetsearchnearby
x-ms-examples:
Search for any points of interest (POI) within 5 miles of Manhattan NY and return the top 10 results:
$ref: ./examples/GetSearchNearby.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- $ref: '#/parameters/RequiredBiasLat'
- $ref: '#/parameters/RequiredBiasLon'
- $ref: '#/parameters/LimitSearch'
- $ref: '#/parameters/Offset'
- $ref: '#/parameters/CategorySet'
- $ref: '#/parameters/CountrySet'
- name: radius
in: query
description: >-
The radius in meters to for the results to be constrained to the
defined area, Min value is 1, Max Value is 50000.
required: false
type: number
- $ref: '#/parameters/Language'
- $ref: '#/parameters/ExtendedPostalCodesFor'
- $ref: '#/parameters/BrandSet'
- $ref: '#/parameters/ConnectorSet'
- $ref: '#/parameters/View'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchNearbyResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Nearby Format
tags:
- Search
/search/poi/category/{format}:
get:
x-publish: true
description: >-
**Get POI by Category**
**Applies to**: S0 and S1 pricing
tiers.
Points of Interest (POI) Category Search allows you to
request POI results from given category. Search allows to query POIs
from one category at a time. Endpoint will only return POI results
which are categorized as specified. Response includes POI details such
as address, coordinate location and classification.
operationId: microsoftAzureSearchGetsearchpoicategory
x-ms-examples:
Search for atm's within 2 miles of Times Square NY and return the top 3 results:
$ref: ./examples/GetSearchPOICategory.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- name: query
in: query
description: >-
The POI category to search for (e.g., "AIRPORT", "RESTAURANT"), must
be properly URL encoded. Supported main categories can be requested
by calling [Get Search POI Category Tree
API](https://aka.ms/AzureMapsPOICategoryTree). List of available
categories can also be found
[here](https://docs.microsoft.com/azure/azure-maps/supported-search-categories).
We recommend to use POI Search Category Tree API to request the
supported categories.
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'
- $ref: '#/parameters/BrandSet'
- $ref: '#/parameters/ConnectorSet'
- $ref: '#/parameters/View'
- $ref: '#/parameters/OpeningHours'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchPoiCategoryResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Poi Category Format
tags:
- Search
/search/poi/category/tree/{format}:
get:
x-publish: true
description: >-
**Get POI Category Tree**
**Applies to**: S0 and S1 pricing
tiers.
POI Category API provides a full list of supported
Points of Interest (POI) categories and subcategories together with
their translations and synonyms. The returned content can be used to
provide more meaningful results through other Search Service APIs, like
[Get Search
POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).
operationId: microsoftAzureSearchGetsearchpoicategorytreepreview
x-ms-examples:
Get the POI Category Tree (only partial response shown below):
$ref: ./examples/GetPOICategoryTree.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: language
in: query
description: >-
Language in which search results should be returned. Should be one
of supported IETF language tags, except NGT and NGT-Latn. Language
tag is case insensitive. When data in specified language is not
available for a specific field, default language is used (English).
Please refer to [Supported
Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages)
for details.
required: false
type: string
x-ms-parameter-location: method
responses:
'200':
description: OK
schema:
$ref: '#/definitions/PoiCategoryResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Poi Category Tree Format
tags:
- Search
/search/address/{format}:
get:
x-publish: true
description: >-
**Address Geocoding**
**Applies to**: S0 and S1 pricing
tiers.
In many cases, the complete search service might be
too much, for instance if you are only interested in traditional
geocoding. Search can also be accessed for address look up exclusively.
The geocoding is performed by hitting the geocode endpoint with just the
address or partial address in question. The geocoding search index will
be queried for everything above the street level data. No POIs will be
returned. Note that the geocoder is very tolerant of typos and
incomplete addresses. It will also handle everything from exact street
addresses or street or intersections as well as higher level geographies
such as city centers, counties, states etc.
operationId: microsoftAzureSearchGetsearchaddress
x-ms-examples:
Search detail address 15127 NE 24th Street, Redmond, WA 98052:
$ref: ./examples/GetSearchAddress.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- name: query
in: query
description: >-
The address to search for (e.g., "1 Microsoft way, Redmond, WA"),
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/CountrySet'
- $ref: '#/parameters/OptionalBiasLat'
- $ref: '#/parameters/OptionalBiasLon'
- $ref: '#/parameters/Radius'
- $ref: '#/parameters/BoundingBoxTopLeft'
- $ref: '#/parameters/BoundingBoxBottomRight'
- $ref: '#/parameters/Language'
- $ref: '#/parameters/ExtendedPostalCodesFor'
- $ref: '#/parameters/View'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchAddressResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Address Format
tags:
- Search
/search/address/reverse/{format}:
get:
x-publish: true
description: >-
**Reverse Geocode to an Address**
**Applies to**: S0 and S1
pricing tiers.
There may be times when you need to translate
a coordinate (example: 37.786505, -122.3862) into a human
understandable street address. Most often this is needed in tracking
applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located. This
endpoint will return address information for a given coordinate.
operationId: microsoftAzureSearchGetsearchaddressreverse
x-ms-examples:
GetSearchAddressReverse:
$ref: ./examples/GetSearchAddressReverse.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- $ref: '#/parameters/Position'
- $ref: '#/parameters/Language'
- name: returnSpeedLimit
in: query
description: Boolean. To enable return of the posted speed limit
required: false
type: boolean
default: false
- name: heading
in: query
description: >-
The directional heading of the vehicle in degrees, for travel along
a segment of roadway. 0 is North, 90 is East and so on, values range
from -360 to 360. The precision can include upto one decimal place
required: false
type: number
minimum: -360
maximum: 360
- $ref: '#/parameters/Radius'
- name: number
in: query
description: >-
If a number is sent in along with the request, the response may
include the side of the street (Left/Right) and also an offset
position for that number
required: false
type: string
- name: returnRoadUse
in: query
description: >-
Boolean. To enable return of the road use array for reverse geocodes
at street level
required: false
type: boolean
default: false
- name: roadUse
in: query
description: >-
To restrict reverse geocodes to a certain type of road use. The road
use array for reverse geocodes can be one or more of LimitedAccess,
Arterial, Terminal, Ramp, Rotary, LocalStreet
required: false
type: string
- name: allowFreeformNewline
in: query
description: |-
Format of newlines in the formatted address.
If true, the address will contain newlines.
If false, newlines will be converted to commas.
required: false
type: boolean
- name: returnMatchType
in: query
description: >-
Include information on the type of match the geocoder achieved in
the response.
required: false
type: boolean
- name: entityType
in: query
description: >-
Specifies the level of filtering performed on geographies. Narrows
the search for specified geography entity types, e.g. return only
municipality. The resulting response will contain the geography ID
as well as the entity type matched. If you provide more than one
entity as a comma separated list, endpoint will return the 'smallest
entity available'. Returned Geometry ID can be used to get the
geometry of that geography via [Get Search
Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon)
API. The following parameters are ignored when entityType is set:
* heading
* number
* returnRoadUse
* returnSpeedLimit
* roadUse
* returnMatchType
required: false
type: string
enum:
- Country
- CountrySubdivision
- CountrySecondarySubdivision
- CountryTertiarySubdivision
- Municipality
- MunicipalitySubdivision
- Neighbourhood
- PostalCodeArea
x-ms-enum:
name: EntityType
modelAsString: true
values:
- value: Country
description: Country name
- value: CountrySubdivision
description: State or Province
- value: CountrySecondarySubdivision
description: County
- value: CountryTertiarySubdivision
description: Named Area
- value: Municipality
description: City / Town
- value: MunicipalitySubdivision
description: Sub / Super City
- value: Neighbourhood
description: Neighbourhood
- value: PostalCodeArea
description: Postal Code / Zip Code
x-ms-parameter-location: method
- $ref: '#/parameters/View'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchAddressReverseResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Address Reverse Format
tags:
- Search
/search/address/reverse/crossStreet/{format}:
get:
x-publish: true
description: >-
**Reverse Geocode to a Cross Street**
**Applies to**: S0 and S1
pricing tiers.
There may be times when you need to translate
a coordinate (example: 37.786505, -122.3862) into a human
understandable cross street. Most often this is needed in tracking
applications where you receive a GPS feed from the device or asset and
wish to know what address where the coordinate is located.
This
endpoint will return cross street information for a given coordinate.
operationId: microsoftAzureSearchGetsearchaddressreversecrossstreet
x-ms-examples:
GetSearchAddressReverseCrossStreet:
$ref: ./examples/GetSearchAddressReverseCrossStreet.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- $ref: '#/parameters/Position'
- $ref: '#/parameters/LimitSearch'
- name: heading
in: query
description: >-
The directional heading of the vehicle in degrees, for travel along
a segment of roadway. 0 is North, 90 is East and so on, values range
from -360 to 360. The precision can include upto one decimal place
required: false
type: number
minimum: -360
maximum: 360
- $ref: '#/parameters/Radius'
- $ref: '#/parameters/Language'
- $ref: '#/parameters/View'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchAddressReverseCrossStreetResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Address Reverse Crossstreet Format
tags:
- Search
/search/address/structured/{format}:
get:
x-publish: true
description: >-
**Structured Address Geocoding**
**Applies to**: S0 and S1
pricing tiers.
Azure Address Geocoding can also be accessed
for structured address look up exclusively. The geocoding search index
will be queried for everything above the street level data. No POIs
will be returned. Note that the geocoder is very tolerant of typos and
incomplete addresses. It will also handle everything from exact street
addresses or street or intersections as well as higher level geographies
such as city centers, counties, states etc.
operationId: microsoftAzureSearchGetsearchaddressstructured
x-ms-examples:
GetSearchAddressStructured:
$ref: ./examples/GetSearchAddressStructured.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TextFormat'
- $ref: '#/parameters/Language'
- name: countryCode
in: query
description: >-
The 2 or 3 letter
[ISO3166-1](https://www.iso.org/iso-3166-country-codes.html) country
code portion of an address. E.g. US.
required: true
default: US
type: string
- $ref: '#/parameters/LimitSearch'
- $ref: '#/parameters/Offset'
- name: streetNumber
in: query
description: The street number portion of an address
required: false
type: string
- name: streetName
in: query
description: The street name portion of an address
required: false
type: string
- name: crossStreet
in: query
description: The cross street name for the structured address
required: false
type: string
- name: municipality
in: query
description: The municipality portion of an address
required: false
type: string
- name: municipalitySubdivision
in: query
description: >-
The municipality subdivision (sub/super city) for the structured
address
required: false
type: string
- name: countryTertiarySubdivision
in: query
description: The named area for the structured address
required: false
type: string
- name: countrySecondarySubdivision
in: query
description: The county for the structured address
required: false
type: string
- name: countrySubdivision
in: query
description: The country subdivision portion of an address
required: false
type: string
- name: postalCode
in: query
description: The postal code portion of an address
required: false
type: string
- $ref: '#/parameters/ExtendedPostalCodesFor'
- $ref: '#/parameters/View'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchAddressStructuredResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Get Search Address Structured Format
tags:
- Search
/search/geometry/{format}:
post:
x-publish: true
description: >-
**Applies to**: S0 and S1 pricing tiers.
The Search Geometry
endpoint allows you to perform a free form search inside a single
geometry or many of them. The search results that fall inside the
geometry/geometries will be returned.To send the geometry you will use a
`POST` request where the request body will contain the `geometry` object
represented as a `GeoJSON` type and the `Content-Type` header will be
set to `application/json`. The geographical features to be searched can
be modeled as Polygon and/or Circle geometries represented using any one
of the following `GeoJSON` types:**GeoJSON FeatureCollection** The
`geometry` can be represented as a `GeoJSON FeatureCollection` object.
This is the recommended option if the geometry contains both Polygons
and Circles. The `FeatureCollection` can contain a max of 50 `GeoJSON
Feature` objects. Each `Feature` object should represent either a
Polygon or a Circle with the following conditions:A `Feature` object for
the Polygon geometry can have a max of 50 coordinates and it's
properties must be empty.A `Feature` object for the Circle geometry is
composed of a _center_ represented using a `GeoJSON Point` type and a
_radius_ value (in meters) which must be specified in the object's
properties along with the _subType_ property whose value should be
'Circle'. Please see the Examples section below for a sample
`FeatureCollection` representation.**GeoJSON GeometryCollection**The
`geometry` can be represented as a `GeoJSON GeometryCollection` object.
This is the recommended option if the geometry contains a list of
Polygons only. The `GeometryCollection` can contain a max of 50 `GeoJSON
Polygon` objects. Each `Polygon` object can have a max of 50
coordinates. Please see the Examples section below for a sample
`GeometryCollection` representation.**GeoJSON Polygon**The `geometry`
can be represented as a `GeoJSON Polygon` object. This is the
recommended option if the geometry contains a single Polygon. The
`Polygon` object can have a max of 50 coordinates. Please see the
Examples section below for a sample `Polygon` representation..
operationId: microsoftAzureSearchPostsearchinsidegeometry
x-ms-examples:
Search for pizza places inside a geometry represented as a GeoJSON FeatureCollection type:
$ref: ./examples/PostSearchInsideFeatureCollection.json
Search for burger joints inside a geometry represented as a GeoJSON GeometryCollection type:
$ref: ./examples/PostSearchInsideGeometryCollection.json
Search for subs joints inside a geometry represented as a GeoJSON Polygon type:
$ref: ./examples/PostSearchInsideGeometry.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/PoiQuery'
- $ref: '#/parameters/TextFormat'
- $ref: '#/parameters/LimitSearch'
- $ref: '#/parameters/Language'
- $ref: '#/parameters/CategorySet'
- $ref: '#/parameters/ExtendedPostalCodesFor'
- $ref: '#/parameters/SearchIndexSet'
- name: searchInsideGeometryRequestBody
in: body
description: >-
This represents the geometry for one or more geographical features
(parks, state boundary etc.) to search in and should be a GeoJSON
compliant type. Please refer to [RFC
7946](https://tools.ietf.org/html/rfc7946) for details.
required: true
schema:
$ref: '#/definitions/SearchInsideGeometryRequestBody'
- $ref: '#/parameters/View'
- $ref: '#/parameters/OpeningHours'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchGeometryResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Post Search Geometry Format
tags:
- Search
/search/alongRoute/{format}:
post:
x-publish: true
description: >-
**Applies to**: S0 and S1 pricing tiers.
The Search Along
Route endpoint allows you to perform a fuzzy search for POIs along a
specified route. This search is constrained by specifying the
`maxDetourTime` limiting measure.To send the route-points you will use a
`POST` request where the request body will contain the `route` object
represented as a `GeoJSON LineString` type and the `Content-Type` header
will be set to `application/json`. Each route-point in `route` is
represented as a `GeoJSON Position` type i.e. an array where the
_longitude_ value is followed by the _latitude_ value and the _altitude_
value is ignored. The `route` should contain at least 2 route-points.It
is possible that original route will be altered, some of it's points may
be skipped. If the route that passes through the found point is faster
than the original one, the `detourTime` value in the response is
negative.
operationId: microsoftAzureSearchPostsearchalongroute
x-ms-examples:
Search for burger joints along a route:
$ref: ./examples/PostSearchAlongRoute.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/CategorySet'
- $ref: '#/parameters/PoiQuery'
- $ref: '#/parameters/TextFormat'
- name: maxDetourTime
description: >-
Maximum detour time of the point of interest in seconds. Max value
is 3600 seconds
required: true
type: integer
in: query
maximum: 3600
- name: limit
description: >-
Maximum number of responses that will be returned. Default value is
10. Max value is 20
required: false
type: integer
in: query
default: 10
maximum: 20
- $ref: '#/parameters/BrandSet'
- $ref: '#/parameters/ConnectorSet'
- $ref: '#/parameters/View'
- $ref: '#/parameters/OpeningHours'
- name: searchAlongRouteRequestBody
in: body
description: >-
This represents the route to search along and should be a valid
`GeoJSON LineString` type. Please refer to [RFC
7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for
details.
required: true
schema:
$ref: '#/definitions/SearchAlongRouteRequestBody'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/SearchAlongRouteResponse'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
summary: Microsoft Azure Post Search Alongroute Format
tags:
- Search
/search/fuzzy/batch/{format}:
post:
x-publish: true
description: >-
**Search Fuzzy Batch API**
**Applies to**: S1 pricing
tier.
The Search Address Batch API sends batches of
queries to [Search Fuzzy
API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy)
using just a single API call. You can call Search Address Fuzzy Batch
API to run either asynchronously (async) or synchronously (sync). The
async API allows caller to batch up to **10,000** queries and sync API
up to **100** queries.
### Submit Synchronous Batch Request
The
Synchronous API is recommended for lightweight batch requests. When the
service receives a request, it will respond as soon as the batch items
are calculated and there will be no possibility to retrieve the results
later. The Synchronous API will return a timeout error (a 408 response)
if the request takes longer than 60 seconds. The number of batch items
is limited to **100** for this API.
```
POST
https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}
```
###
Submit Asynchronous Batch Request
The Asynchronous API is appropriate
for processing big volumes of relatively complex search requests
- It
allows the retrieval of results in a separate call (multiple downloads
are possible).
- The asynchronous API is optimized for reliability
and is not expected to run into a timeout.
- The number of batch
items is limited to **10,000** for this API.
When you make a
request by using async request, by default the service returns a 202
response code along a redirect URL in the Location field of the response
header. This URL should be checked periodically until the response data
or error information is available.
The asynchronous responses are
stored for **14** days. The redirect URL returns a 404 response if used
after the expiration period.
Please note that asynchronous batch
request is a long-running operation. Here's a typical sequence of
operations:
1. Client sends a Search Address Batch `POST` request to
Azure Maps
2. The server will respond with one of the
following:
> HTTP `202 Accepted` - Batch request has been
accepted.
> HTTP `Error` - There was an error processing your
Batch request. This could either be a `400 Bad Request` or any other
`Error` status code.
3. If the batch request was accepted
successfully, the `Location` header in the response contains the URL to
download the results of the batch request.
This status URI looks
like following:
```
GET
https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
```
4.
Client issues a `GET` request on the _download URL_ obtained in Step 3
to download the batch results.
### POST Body for Batch
Request
To send the _search fuzzy_ queries you will use a `POST`
request where the request body will contain the `batchItems` array in
`json` format and the `Content-Type` header will be set to
`application/json`. Here's a sample request body containing 5 _search
fuzzy_ queries:
```json
{
"batchItems":
[
{"query":
"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5"},
{"query": "?query=Statue Of Liberty&limit=2"},
{"query":
"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000"},
{"query": "?query=Space Needle"},
{"query":
"?query=pizza&limit=10"}
]
}
```
A _search fuzzy_
query in a batch is just a partial URL _without_ the protocol, base URL,
path, api-version and subscription-key. It can accept any of the
supported _search fuzzy_ [URI
parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters).
The string values in the _search fuzzy_ query must be properly escaped
(e.g. " character should be escaped with \\ ) and it should also be
properly URL-encoded.
The async API allows caller to batch up
to **10,000** queries and sync API up to **100** queries, and the batch
should contain at least **1** query.
### Download
Asynchronous Batch Results
To download the async batch results you
will issue a `GET` request to the batch download endpoint. This
_download URL_ can be obtained from the `Location` header of a
successful `POST` batch request and looks like the
following:
```
https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
```
Here's
the typical sequence of operations for downloading the batch
results:
1. Client sends a `GET` request using the _download
URL_.
2. The server will respond with one of the
following:
> HTTP `202 Accepted` - Batch request was accepted
but is still being processed. Please try again in some time.
> HTTP `200 OK` - Batch request successfully processed. The response
body contains all the batch results.
### Batch Response
Model
The returned data content is similar for async and sync
requests. When downloading the results of an async batch request, if the
batch has finished processing, the response body contains the batch
response. This batch response contains a `summary` component that
indicates the `totalRequests` that were part of the original batch
request and `successfulRequests`i.e. queries which were executed
successfully. The batch response also includes a `batchItems` array
which contains a response for each and every query in the batch request.
The `batchItems` will contain the results in the exact same order the
original queries were sent in the batch request. Each item in
`batchItems` contains `statusCode` and `response` fields. Each
`response` in `batchItems` is of one of the following types:
-
[`SearchFuzzyResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchfuzzyresponse)
- If the query completed successfully.
- `Error` - If the query
failed. The response will contain a `code` and a `message` in this
case.
Here's a sample Batch Response with 2 _successful_ and
1 _failed_ result:
```json
{
"summary":
{
"successfulRequests": 2,
"totalRequests":
3
},
"batchItems": [
{
"statusCode": 200,
"response":
{
"summary": {
"query":
"atm"
},
"results":
[
{
"type":
"POI",
"poi":
{
"name": "ATM at Wells
Fargo"
},
"address": {
"country": "United States Of
America",
"freeformAddress": "3240 157th
Ave NE, Redmond, WA 98052"
}
}
]
}
},
{
"statusCode":
200,
"response":
{
"summary": {
"query": "statue of
liberty"
},
"results":
[
{
"type":
"POI",
"poi":
{
"name": "Statue of
Liberty"
},
"address": {
"country": "United States Of
America",
"freeformAddress": "New York,
NY 10004"
}
}
]
}
},
{
"statusCode": 400,
"response":
{
"error":
{
"code": "400
BadRequest",
"message": "Bad request: one or more
parameters were incorrectly specified or are mutually exclusive."
}
}
}
]
}
```
operationId: microsoftAzureSearchPostsearchfuzzybatch
x-ms-long-running-operation: true
x-ms-long-running-operation-options:
final-state-via: location
x-ms-examples:
A Search Fuzzy Batch API call containing 5 Search Fuzzy API queries:
$ref: ./examples/PostSearchFuzzyBatch.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: searchFuzzyBatchRequestBody
in: body
description: >-
The list of search fuzzy queries/requests to process. The list can
contain a max of 10,000 queries and must contain at least 1 query.
required: true
schema:
$ref: '#/definitions/BatchRequestBody'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/BatchResponse'
'202':
$ref: '#/responses/202Async'
'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 Post Search Fuzzy Batch Format
tags:
- Search
/search/address/batch/{format}:
post:
x-publish: true
description: >-
**Search Address Batch API**
**Applies to**: S1 pricing
tier.
The Search Address Batch API sends batches of
queries to [Search Address
API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress)
using just a single API call. You can call Search Address Batch API to
run either asynchronously (async) or synchronously (sync). The async API
allows caller to batch up to **10,000** queries and sync API up to
**100** queries.
### Submit Synchronous Batch Request
The
Synchronous API is recommended for lightweight batch requests. When the
service receives a request, it will respond as soon as the batch items
are calculated and there will be no possibility to retrieve the results
later. The Synchronous API will return a timeout error (a 408 response)
if the request takes longer than 60 seconds. The number of batch items
is limited to **100** for this API.
```
POST
https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}
```
###
Submit Asynchronous Batch Request
The Asynchronous API is appropriate
for processing big volumes of relatively complex search requests
- It
allows the retrieval of results in a separate call (multiple downloads
are possible).
- The asynchronous API is optimized for reliability
and is not expected to run into a timeout.
- The number of batch
items is limited to **10,000** for this API.
When you make a
request by using async request, by default the service returns a 202
response code along a redirect URL in the Location field of the response
header. This URL should be checked periodically until the response data
or error information is available.
The asynchronous responses are
stored for **14** days. The redirect URL returns a 404 response if used
after the expiration period.
Please note that asynchronous batch
request is a long-running operation. Here's a typical sequence of
operations:
1. Client sends a Search Address Batch `POST` request to
Azure Maps
2. The server will respond with one of the
following:
> HTTP `202 Accepted` - Batch request has been
accepted.
> HTTP `Error` - There was an error processing your
Batch request. This could either be a `400 Bad Request` or any other
`Error` status code.
3. If the batch request was accepted
successfully, the `Location` header in the response contains the URL to
download the results of the batch request.
This status URI looks
like following:
```
GET
https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
```
4.
Client issues a `GET` request on the _download URL_ obtained in Step 3
to download the batch results.
### POST Body for Batch
Request
To send the _search address_ queries you will use a `POST`
request where the request body will contain the `batchItems` array in
`json` format and the `Content-Type` header will be set to
`application/json`. Here's a sample request body containing 5 _search
address_ queries:
```json
{
"batchItems":
[
{"query": "?query=400 Broad St, Seattle, WA
98109&limit=3"},
{"query": "?query=One, Microsoft Way,
Redmond, WA 98052&limit=3"},
{"query": "?query=350 5th Ave,
New York, NY 10118&limit=1"},
{"query": "?query=Pike Pl,
Seattle, WA
98101&lat=47.610970&lon=-122.342469&radius=1000"},
{"query":
"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris,
France&limit=1"}
]
}
```
A _search address_ query in
a batch is just a partial URL _without_ the protocol, base URL, path,
api-version and subscription-key. It can accept any of the supported
_search address_ [URI
parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters).
The string values in the _search address_ query must be properly escaped
(e.g. " character should be escaped with \\ ) and it should also be
properly URL-encoded.
The async API allows caller to batch up
to **10,000** queries and sync API up to **100** queries, and the batch
should contain at least **1** query.
### Download
Asynchronous Batch Results
To download the async batch results you
will issue a `GET` request to the batch download endpoint. This
_download URL_ can be obtained from the `Location` header of a
successful `POST` batch request and looks like the
following:
```
https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
```
Here's
the typical sequence of operations for downloading the batch
results:
1. Client sends a `GET` request using the _download
URL_.
2. The server will respond with one of the
following:
> HTTP `202 Accepted` - Batch request was accepted
but is still being processed. Please try again in some time.
> HTTP `200 OK` - Batch request successfully processed. The response
body contains all the batch results.
### Batch Response
Model
The returned data content is similar for async and sync
requests. When downloading the results of an async batch request, if the
batch has finished processing, the response body contains the batch
response. This batch response contains a `summary` component that
indicates the `totalRequests` that were part of the original batch
request and `successfulRequests`i.e. queries which were executed
successfully. The batch response also includes a `batchItems` array
which contains a response for each and every query in the batch request.
The `batchItems` will contain the results in the exact same order the
original queries were sent in the batch request. Each item in
`batchItems` contains `statusCode` and `response` fields. Each
`response` in `batchItems` is of one of the following types:
-
[`SearchAddressResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#searchaddressresponse)
- If the query completed successfully.
- `Error` - If the query
failed. The response will contain a `code` and a `message` in this
case.
Here's a sample Batch Response with 2 _successful_ and
1 _failed_ result:
```json
{
"summary":
{
"successfulRequests": 2,
"totalRequests":
3
},
"batchItems": [
{
"statusCode": 200,
"response":
{
"summary": {
"query": "one
microsoft way redmond wa 98052"
},
"results": [
{
"position": {
"lat":
47.63989,
"lon":
-122.12509
}
}
]
}
},
{
"statusCode": 200,
"response":
{
"summary":
{
"query": "pike pl seattle wa
98101"
},
"results":
[
{
"position":
{
"lat":
47.60963,
"lon":
-122.34215
}
}
]
}
},
{
"statusCode": 400,
"response":
{
"error":
{
"code": "400
BadRequest",
"message": "Bad request: one or more
parameters were incorrectly specified or are mutually
exclusive."
}
}
}
]
}
```
operationId: microsoftAzureSearchPostsearchaddressbatch
x-ms-long-running-operation: true
x-ms-long-running-operation-options:
final-state-via: location
x-ms-examples:
An Address Geocoding Batch API call containing 5 Address Geocoding API queries:
$ref: ./examples/PostSearchAddressBatch.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: searchAddressBatchRequestBody
in: body
description: >-
The list of address geocoding queries/requests to process. The list
can contain a max of 10,000 queries and must contain at least 1
query.
required: true
schema:
$ref: '#/definitions/BatchRequestBody'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/BatchResponse'
'202':
$ref: '#/responses/202Async'
'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 Post Search Address Batch Format
tags:
- Search
/search/address/reverse/batch/{format}:
post:
x-publish: true
description: >-
**Search Address Reverse Batch API**
**Applies to**: S1
pricing tier.
The Search Address Batch API sends batches
of queries to [Search Address Reverse
API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse)
using just a single API call. You can call Search Address Reverse Batch
API to run either asynchronously (async) or synchronously (sync). The
async API allows caller to batch up to **10,000** queries and sync API
up to **100** queries.
### Submit Synchronous Batch Request
The
Synchronous API is recommended for lightweight batch requests. When the
service receives a request, it will respond as soon as the batch items
are calculated and there will be no possibility to retrieve the results
later. The Synchronous API will return a timeout error (a 408 response)
if the request takes longer than 60 seconds. The number of batch items
is limited to **100** for this API.
```
POST
https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}
```
###
Submit Asynchronous Batch Request
The Asynchronous API is appropriate
for processing big volumes of relatively complex search requests
- It
allows the retrieval of results in a separate call (multiple downloads
are possible).
- The asynchronous API is optimized for reliability
and is not expected to run into a timeout.
- The number of batch
items is limited to **10,000** for this API.
When you make a
request by using async request, by default the service returns a 202
response code along a redirect URL in the Location field of the response
header. This URL should be checked periodically until the response data
or error information is available.
The asynchronous responses are
stored for **14** days. The redirect URL returns a 404 response if used
after the expiration period.
Please note that asynchronous batch
request is a long-running operation. Here's a typical sequence of
operations:
1. Client sends a Search Address Batch `POST` request to
Azure Maps
2. The server will respond with one of the
following:
> HTTP `202 Accepted` - Batch request has been
accepted.
> HTTP `Error` - There was an error processing your
Batch request. This could either be a `400 Bad Request` or any other
`Error` status code.
3. If the batch request was accepted
successfully, the `Location` header in the response contains the URL to
download the results of the batch request.
This status URI looks
like following:
```
GET
https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
```
4.
Client issues a `GET` request on the _download URL_ obtained in Step 3
to download the batch results.
### POST Body for Batch
Request
To send the _search address reverse_ queries you will use a
`POST` request where the request body will contain the `batchItems`
array in `json` format and the `Content-Type` header will be set to
`application/json`. Here's a sample request body containing 5 _search
address reverse_ queries:
```json
{
"batchItems":
[
{"query": "?query=48.858561,2.294911"},
{"query":
"?query=47.639765,-122.127896&radius=5000&limit=2"},
{"query": "?query=47.621028,-122.348170"},
{"query":
"?query=43.722990,10.396695"},
{"query":
"?query=40.750958,-73.982336"}
]
}
```
A _search
address reverse_ query in a batch is just a partial URL _without_ the
protocol, base URL, path, api-version and subscription-key. It can
accept any of the supported _search address reverse_ [URI
parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters).
The string values in the _search address reverse_ query must be properly
escaped (e.g. " character should be escaped with \\ ) and it should also
be properly URL-encoded.
The async API allows caller to batch
up to **10,000** queries and sync API up to **100** queries, and the
batch should contain at least **1** query.
### Download
Asynchronous Batch Results
To download the async batch results you
will issue a `GET` request to the batch download endpoint. This
_download URL_ can be obtained from the `Location` header of a
successful `POST` batch request and looks like the
following:
```
https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
```
Here's
the typical sequence of operations for downloading the batch
results:
1. Client sends a `GET` request using the _download
URL_.
2. The server will respond with one of the
following:
> HTTP `202 Accepted` - Batch request was accepted
but is still being processed. Please try again in some time.
> HTTP `200 OK` - Batch request successfully processed. The response
body contains all the batch results.
### Batch Response
Model
The returned data content is similar for async and sync
requests. When downloading the results of an async batch request, if the
batch has finished processing, the response body contains the batch
response. This batch response contains a `summary` component that
indicates the `totalRequests` that were part of the original batch
request and `successfulRequests`i.e. queries which were executed
successfully. The batch response also includes a `batchItems` array
which contains a response for each and every query in the batch request.
The `batchItems` will contain the results in the exact same order the
original queries were sent in the batch request. Each item in
`batchItems` contains `statusCode` and `response` fields. Each
`response` in `batchItems` is of one of the following types:
-
[`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse)
- If the query completed successfully.
- `Error` - If the query
failed. The response will contain a `code` and a `message` in this
case.
Here's a sample Batch Response with 2 _successful_ and
1 _failed_ result:
```json
{
"summary":
{
"successfulRequests": 2,
"totalRequests":
3
},
"batchItems": [
{
"statusCode": 200,
"response":
{
"summary": {
"queryTime":
11
},
"addresses":
[
{
"address":
{
"country":
"France",
"freeformAddress": "Avenue
Anatole France, 75007 Paris"
},
"position":
"48.858490,2.294820"
}
]
}
},
{
"statusCode": 200,
"response":
{
"summary": {
"queryTime":
1
},
"addresses":
[
{
"address":
{
"country": "United States of
America",
"freeformAddress": "157th Pl
NE, Redmond WA 98052"
},
"position":
"47.640470,-122.129430"
}
]
}
},
{
"statusCode": 400,
"response":
{
"error":
{
"code": "400
BadRequest",
"message": "Bad request: one or more
parameters were incorrectly specified or are mutually
exclusive."
}
}
}
]
}
```
operationId: microsoftAzureSearchPostsearchaddressreversebatch
x-ms-long-running-operation: true
x-ms-long-running-operation-options:
final-state-via: location
x-ms-examples:
A Reverse Geocoding Batch API call containing 5 Reverse Geocoding API queries:
$ref: ./examples/PostSearchAddressReverseBatch.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: searchAddressReverseBatchRequestBody
in: body
description: >-
The list of reverse geocoding queries/requests to process. The list
can contain a max of 10,000 queries and must contain at least 1
query.
required: true
schema:
$ref: '#/definitions/BatchRequestBody'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/BatchResponse'
'202':
$ref: '#/responses/202Async'
'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 Post Search Address Reverse Batch Format
tags:
- Search
definitions:
ODataErrorResponse:
type: object
description: >-
This response object is returned when an error occurs in the Azure Maps
API.
properties:
error:
$ref: '#/definitions/ODataError'
ODataError:
type: object
description: This object is returned when an error occurs in the Azure Maps API.
properties:
code:
type: string
readOnly: true
description: The ODataError code.
message:
type: string
readOnly: true
description: If available, a human-readable description of the error.
details:
type: array
items:
$ref: '#/definitions/ODataError'
target:
type: string
readOnly: true
description: If available, the target causing the error.
BatchResponse:
description: This object is returned from a successful Batch service call
type: object
properties:
summary:
description: Summary for the batch request
type: object
readOnly: true
properties:
successfulRequests:
description: Number of successful requests in the batch
type: integer
readOnly: true
totalRequests:
description: Total number of requests in the batch
type: integer
readOnly: true
batchItems:
description: Array containing the batch results
type: array
readOnly: true
items:
type: object
Geometry:
description: >-
This represents the geometry for one or more geographical features (parks,
state boundary etc.) and should be a `GeoJSON` compliant type. Please
refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details.
type: object
BatchRequestBody:
description: This type represents the request body for the Batch service.
type: object
properties:
batchItems:
description: The list of queries/requests to process
type: array
items:
description: Batch Query object
type: object
properties:
query:
description: Partial query string
type: string
CoordinateAbbreviated:
description: A location represented as a latitude and longitude.
type: object
properties:
lat:
description: Latitude property
type: number
format: double
readOnly: true
lon:
description: Longitude property
type: number
format: double
readOnly: true
GeoJSONGeometry:
description: >-
A valid `GeoJSON` geometry object. Please refer to [RFC
7946](https://tools.ietf.org/html/rfc7946#section-3.1) for details.
type: object
discriminator: type
required:
- type
properties:
type:
description: >-
Specifies the `GeoJSON` geometry type. Must be one of the seven valid
GeoJSON geometry types - Point, MultiPoint, LineString,
MultiLineString, Polygon, MultiPolygon and GeometryCollection.
type: string
enum:
- Point
- MultiPoint
- LineString
- MultiLineString
- Polygon
- MultiPolygon
- GeometryCollection
x-ms-enum:
name: GeoJSONGeometryType
modelAsString: true
values:
- value: Point
description: '`GeoJSON Point` geometry.'
- value: MultiPoint
description: '`GeoJSON MultiPoint` geometry.'
- value: LineString
description: '`GeoJSON LineString` geometry.'
- value: MultiLineString
description: '`GeoJSON MultiLineString` geometry.'
- value: Polygon
description: '`GeoJSON Polygon` geometry.'
- value: MultiPolygon
description: '`GeoJSON MultiPolygon` geometry.'
- value: GeometryCollection
description: '`GeoJSON GeometryCollection` geometry.'
LineString:
description: >-
A valid `GeoJSON LineString` geometry type. Please refer to [RFC
7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.
type: object
allOf:
- $ref: '#/definitions/GeoJSONGeometry'
- properties:
type:
description: >-
Specifies the `type` for the geometry. Value should always be
equal to "LineString".
type: string
coordinates:
description: Coordinates for the `LineString` geometry.
type: array
items:
$ref: '#/definitions/GeoJSONPosition'
required:
- coordinates
GeoJSONPosition:
description: >-
A valid `GeoJSON Position` geometry type. A `Position` is an array of
numbers with two or more elements. The first two elements are _longitude_
and _latitude_, precisely in that order. _Altitude/Elevation_ is an
optional third element. Please refer to [RFC
7946](https://tools.ietf.org/html/rfc7946#section-3.1.1) for details.
type: array
items:
type: number
format: double
PoiCategoryResponse:
description: This object is returned from a successful POI Category Tree call
type: object
properties:
poiCategories:
description: Categories array
type: array
readOnly: true
items:
$ref: '#/definitions/PoiCategoryResult'
PoiCategoryResult:
description: POI category result
type: object
properties:
id:
description: >-
Unique ID for the category. ID can be used to restrict search results
to specific categories through other Search Service APIs, like [Get
Search
POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).
type: integer
readOnly: true
name:
description: Name of the category
type: string
readOnly: true
childCategoryIds:
description: Array of child category ids
type: array
items:
type: integer
readOnly: true
readOnly: true
synonyms:
description: Array of alternative names of the category
type: array
items:
type: string
readOnly: true
readOnly: true
SearchPolygonResponse:
description: This object is returned from a successful Search Polygon call
type: object
properties:
additionalData:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchPolygonResult'
SearchPolygonResult:
type: object
properties:
providerID:
description: ID of the returned entity
type: string
readOnly: true
error:
description: Reason for the failure to obtain data for this provider.
type: string
readOnly: true
geometryData:
description: >-
Geometry data in GeoJSON format. Please refer to [RFC
7946](https://tools.ietf.org/html/rfc7946) for details. Present only
if "error" is not present.
$ref: '#/definitions/Geometry'
SearchFuzzyResponse:
description: This object is returned from a successful Search Fuzzy call
type: object
properties:
summary:
$ref: '#/definitions/SearchFuzzySummary'
results:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchFuzzyResult'
SearchFuzzySummary:
description: Summary object for a Search Fuzzy response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
SearchFuzzyResult:
type: object
properties:
type:
description: |-
One of:
* POI
* Street
* Geography
* Point Address
* Address Range
* Cross Street
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
info:
description: Info property
type: string
readOnly: true
entityType:
$ref: '#/definitions/EntityType'
poi:
$ref: '#/definitions/SearchResultPoi'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
addressRanges:
$ref: '#/definitions/SearchResultAddressRanges'
dataSources:
$ref: '#/definitions/DataSources'
SearchPoiResponse:
description: This object is returned from a successful Search POI call
type: object
properties:
summary:
$ref: '#/definitions/SearchPoiSummary'
results:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchPoiResult'
SearchPoiSummary:
description: Summary object for a Search POI response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
geoBias:
$ref: '#/definitions/SearchSummaryGeoBias'
SearchPoiResult:
type: object
properties:
type:
description: Type property
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
dist:
$ref: '#/definitions/SearchResultDistance'
info:
description: Info property
type: string
readOnly: true
entityType:
$ref: '#/definitions/EntityType'
poi:
$ref: '#/definitions/SearchResultPoi'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
SearchNearbyResponse:
description: This object is returned from a successful Search Nearby call
type: object
properties:
summary:
$ref: '#/definitions/SearchNearbySummary'
results:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchNearbyResult'
SearchNearbySummary:
description: Summary object for a Search Nearby response
type: object
readOnly: true
properties:
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
geoBias:
$ref: '#/definitions/SearchSummaryGeoBias'
SearchNearbyResult:
type: object
properties:
type:
description: Type property
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
dist:
$ref: '#/definitions/SearchResultDistance'
info:
description: Info property
type: string
readOnly: true
poi:
$ref: '#/definitions/SearchResultPoi'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
SearchPoiCategoryResponse:
description: This object is returned from a successful Search POI Category call
type: object
properties:
summary:
$ref: '#/definitions/SearchPoiCategorySummary'
results:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchPoiCategoryResult'
SearchPoiCategorySummary:
description: Summary object for a Search POI Category response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
geoBias:
$ref: '#/definitions/SearchSummaryGeoBias'
SearchPoiCategoryResult:
type: object
properties:
type:
description: Type property
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
dist:
$ref: '#/definitions/SearchResultDistance'
info:
description: Info property
type: string
readOnly: true
entityType:
$ref: '#/definitions/EntityType'
poi:
$ref: '#/definitions/SearchResultPoi'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
SearchAddressResponse:
description: This object is returned from a successful Search Address call
type: object
properties:
summary:
$ref: '#/definitions/SearchAddressSummary'
results:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchAddressResult'
SearchAddressSummary:
description: Summary object for a Search Address response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
SearchAddressResult:
type: object
properties:
type:
description: |-
One of:
* POI
* Street
* Geography
* Point Address
* Address Range
* Cross Street
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
dataSources:
$ref: '#/definitions/DataSources'
SearchAddressReverseResponse:
description: This object is returned from a successful Search Address Reverse call
type: object
properties:
summary:
$ref: '#/definitions/SearchAddressReverseSummary'
addresses:
description: Addresses array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchAddressReverseResult'
SearchAddressReverseSummary:
description: Summary object for a Search Address Reverse response
type: object
readOnly: true
properties:
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
SearchAddressReverseResult:
type: object
properties:
address:
$ref: '#/definitions/SearchResultAddress'
position:
type: string
readOnly: true
description: Position property in the form of "{latitude},{longitude}"
matchType:
type: string
readOnly: true
description: |-
Information on the type of match.
One of:
* AddressPoint
* HouseNumberRange
* Street
SearchAddressReverseCrossStreetResponse:
description: >-
This object is returned from a successful Search Address Reverse
CrossStreet call
type: object
properties:
summary:
$ref: '#/definitions/SearchAddressReverseCrossStreetSummary'
addresses:
description: Addresses array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchAddressReverseCrossStreetResult'
SearchAddressReverseCrossStreetSummary:
description: Summary object for a Search Address Reverse Cross Street response
type: object
readOnly: true
properties:
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
SearchAddressReverseCrossStreetResult:
type: object
properties:
address:
$ref: '#/definitions/SearchResultAddress'
position:
type: string
readOnly: true
description: Position property in the form of "{latitude},{longitude}"
SearchAddressStructuredResponse:
description: This object is returned from a successful Search Address Structured call
type: object
properties:
summary:
$ref: '#/definitions/SearchAddressStructuredSummary'
results:
description: Results array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchAddressStructuredResult'
SearchAddressStructuredSummary:
description: Summary object for a Search Address Structured response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
limit:
description: Maximum number of responses that will be returned
readOnly: true
type: integer
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
geoBias:
$ref: '#/definitions/SearchSummaryGeoBias'
SearchAddressStructuredResult:
type: object
properties:
type:
description: Type property
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
dist:
$ref: '#/definitions/SearchResultDistance'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
addressRanges:
$ref: '#/definitions/SearchResultAddressRanges'
SearchGeometryResponse:
description: This object is returned from a successful Search By Geometry call
type: object
properties:
summary:
$ref: '#/definitions/SearchGeometrySummary'
results:
description: A list of Search Inside Geometry results.
type: array
readOnly: true
items:
$ref: '#/definitions/SearchGeometryResult'
SearchGeometrySummary:
description: Summary object for a Search Geometry response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
SearchGeometryResult:
description: This type represents the Search Inside Geometry result object.
type: object
properties:
type:
description: Type property
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
info:
description: Info property
type: string
readOnly: true
entityType:
$ref: '#/definitions/EntityType'
poi:
$ref: '#/definitions/SearchResultPoi'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
SearchAlongRouteResponse:
description: This object is returned from a successful Search Along Route call.
type: object
properties:
summary:
$ref: '#/definitions/SearchAlongRouteSummary'
results:
description: A list of Search Along Route results.
type: array
readOnly: true
items:
$ref: '#/definitions/SearchAlongRouteResult'
SearchAlongRouteSummary:
description: Summary object for a Search Along Route response
type: object
readOnly: true
properties:
query:
description: Query property
type: string
readOnly: true
queryType:
description: QueryType property
type: string
readOnly: true
queryTime:
description: QueryTime property
type: integer
readOnly: true
numResults:
description: NumResults property
type: integer
readOnly: true
offset:
description: Offset property
type: integer
readOnly: true
totalResults:
description: TotalResults property
type: integer
readOnly: true
fuzzyLevel:
description: FuzzyLevel property
type: integer
readOnly: true
SearchAlongRouteResult:
description: This type represents the Search Along Route result object.
type: object
properties:
type:
description: Type property
type: string
readOnly: true
id:
description: Id property
type: string
readOnly: true
score:
$ref: '#/definitions/SearchResultScore'
info:
description: Info property
type: string
readOnly: true
entityType:
$ref: '#/definitions/EntityType'
poi:
$ref: '#/definitions/SearchResultPoi'
address:
$ref: '#/definitions/SearchResultAddress'
position:
$ref: '#/definitions/CoordinateAbbreviated'
viewport:
$ref: '#/definitions/SearchResultViewport'
entryPoints:
description: Entry Points array
type: array
items:
$ref: '#/definitions/SearchResultEntryPoint'
dist:
$ref: '#/definitions/SearchResultDistance'
detourTime:
description: Detour time in seconds
type: number
readOnly: true
SearchInsideGeometryRequestBody:
description: >-
This type represents the request body for the Search Inside Geometry
service.
type: object
properties:
geometry:
$ref: '#/definitions/Geometry'
SearchAlongRouteRequestBody:
description: This type represents the request body for the Search Along Route service.
type: object
properties:
route:
$ref: '#/definitions/LineString'
SearchResultPoi:
description: >-
Details of the returned POI including information such as the name, phone,
url address, and classifications.
type: object
properties:
name:
description: Name of the POI property
type: string
readOnly: true
phone:
description: Telephone number property
type: string
readOnly: true
url:
description: Website URL property
type: string
readOnly: true
categorySet:
description: The list of the most specific POI categories
type: array
readOnly: true
items:
$ref: '#/definitions/SearchResultPoiCategorySet'
categories:
description: __[Deprecated]__ Use classifications instead. Categories array
type: array
readOnly: true
items:
type: string
readOnly: true
classifications:
description: Classification array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchResultPoiClassification'
brands:
description: Brands array. The name of the brand for the POI being returned.
type: array
readOnly: true
items:
$ref: '#/definitions/SearchResultPoiBrand'
openingHours:
$ref: '#/definitions/SearchResultPoiOpeningHours'
SearchResultPoiCategorySet:
description: POI category
type: object
properties:
id:
description: Category ID
type: integer
readOnly: true
SearchResultPoiClassification:
description: The classification for the POI being returned
type: object
properties:
code:
description: Code property
type: string
readOnly: true
names:
description: Names array
type: array
readOnly: true
items:
$ref: '#/definitions/SearchResultPoiClassificationName'
SearchResultPoiClassificationName:
description: Name for the classification
type: object
properties:
nameLocale:
description: Name Locale property
type: string
readOnly: true
name:
description: Name property
type: string
readOnly: true
SearchResultPoiOpeningHours:
description: Opening hours for a POI (Points of Interest).
type: object
properties:
mode:
description: Value used in the Request
type: string
readOnly: true
timeRanges:
description: List of time ranges for the next 7 days
type: array
readOnly: true
items:
$ref: '#/definitions/SearchResultPoiOpeningHoursTimeRange'
SearchResultPoiOpeningHoursTimeRange:
description: Open time range for a day
type: object
properties:
startTime:
description: >-
The point in the next 7 days range when a given POI is being opened,
or the beginning of the range if it was opened before the range.
$ref: '#/definitions/SearchResultPoiOpeningHoursTimeRangeTime'
endTime:
description: >-
The point in the next 7 days range when a given POI is being closed,
or the beginning of the range if it was closed before the range.
$ref: '#/definitions/SearchResultPoiOpeningHoursTimeRangeTime'
SearchResultPoiOpeningHoursTimeRangeTime:
description: Represents a date and time
type: object
properties:
date:
description: Represents current day in calendar year in POI time zone.
type: string
readOnly: true
hour:
description: >-
Hours are in the 24 hour format in the local time of a POI; possible
values are 0 - 23.
type: integer
readOnly: true
minute:
description: Minutes are in the local time of a POI; possible values are 0 - 59.
type: integer
readOnly: true
SearchResultPoiBrand:
description: The name of the brand for the POI being returned
type: object
properties:
name:
description: Name of the brand
type: string
readOnly: true
SearchResultAddress:
description: The address of the result
type: object
properties:
buildingNumber:
description: Building Number property
type: string
readOnly: true
street:
description: Street property
type: string
readOnly: true
crossStreet:
description: Cross Street property
type: string
readOnly: true
streetNumber:
description: Street Number property
type: string
readOnly: true
routeNumbers:
description: number of routes
type: array
items:
type: integer
readOnly: true
readOnly: true
streetName:
description: Street Name property
type: string
readOnly: true
streetNameAndNumber:
description: Street Name and Number property
type: string
readOnly: true
municipality:
description: Municipality property
type: string
readOnly: true
municipalitySubdivision:
description: Municipality Subdivision property
type: string
readOnly: true
countryTertiarySubdivision:
description: Country Tertiary Subdivision property
type: string
readOnly: true
countrySecondarySubdivision:
description: Country Secondary Subdivision property
type: string
readOnly: true
countrySubdivision:
description: Country Subdivision property
type: string
readOnly: true
postalCode:
description: Postal Code property
type: string
readOnly: true
extendedPostalCode:
description: Extended Postal Code property
type: string
readOnly: true
countryCode:
description: Country Code property
type: string
readOnly: true
country:
description: Country property
type: string
readOnly: true
countryCodeISO3:
description: Country Code ISO3 property
type: string
readOnly: true
freeformAddress:
description: Free form Address property
type: string
readOnly: true
countrySubdivisionName:
description: Country Subdivision Name property
type: string
readOnly: true
localName:
description: >-
An address component which represents the name of a geographic area or
locality that groups a number of addressable objects for addressing
purposes, without being an administrative unit. This field is used to
build the `freeformAddress` property.
type: string
readOnly: true
SearchResultViewport:
description: >-
The viewport that covers the result represented by the top-left and
bottom-right coordinates of the viewport.
type: object
properties:
topLeftPoint:
$ref: '#/definitions/CoordinateAbbreviated'
btmRightPoint:
$ref: '#/definitions/CoordinateAbbreviated'
SearchResultEntryPoint:
description: The entry point for the POI being returned.
type: object
properties:
type:
description: The type of entry point. Value can be either _main_ or _minor_.
type: string
readOnly: true
enum:
- main
- minor
position:
$ref: '#/definitions/CoordinateAbbreviated'
SearchResultAddressRanges:
description: >-
Describes the address range on both sides of the street for a search
result. Coordinates for the start and end locations of the address range
are included.
type: object
properties:
rangeLeft:
type: string
rangeRight:
type: string
from:
$ref: '#/definitions/CoordinateAbbreviated'
to:
$ref: '#/definitions/CoordinateAbbreviated'
SearchResultScore:
description: >-
The value within a result set to indicate the relative matching score
between results. You can use this to determine that result x is twice as
likely to be as relevant as result y if the value of x is 2x the value of
y. The values vary between queries and is only meant as a relative value
for one result set.
type: number
readOnly: true
SearchResultDistance:
description: Straight line distance between the result and geobias location in meters.
type: number
readOnly: true
SearchSummaryGeoBias:
description: >-
Indication when the internal search engine has applied a geospatial bias
to improve the ranking of results. In some methods, this can be affected
by setting the lat and lon parameters where available. In other cases it
is purely internal.
type: object
readOnly: true
properties:
lat:
description: Latitude property
type: number
readOnly: true
lon:
description: Longitude property
type: number
readOnly: true
DataSources:
description: >-
Optional section. Reference ids for use with the [Get Search
Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon)
API.
type: object
properties:
geometry:
$ref: '#/definitions/DataSourcesGeometry'
DataSourcesGeometry:
description: >-
Information about the geometric shape of the result. Only present if type
== Geography.
type: object
properties:
id:
description: >-
Pass this as geometryId to the [Get Search
Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon)
API to fetch geometry information for this result.
type: string
readOnly: true
EntityType:
description: >-
Geography entity type. Present only when entityType was requested and is
available.
type: string
enum:
- Country
- CountrySubdivision
- CountrySecondarySubdivision
- CountryTertiarySubdivision
- Municipality
- MunicipalitySubdivision
- Neighbourhood
- PostalCodeArea
x-ms-enum:
name: EntityType
modelAsString: true
values:
- value: Country
description: Country name
- value: CountrySubdivision
description: State or Province
- value: CountrySecondarySubdivision
description: County
- value: CountryTertiarySubdivision
description: Named Area
- value: Municipality
description: City / Town
- value: MunicipalitySubdivision
description: Sub / Super City
- value: Neighbourhood
description: Neighbourhood
- value: PostalCodeArea
description: Postal Code / Zip Code
tags:
- name: Search