swagger: '2.0' info: title: Microsoft Azure Azure Maps Tileset Service version: '2.0' description: APIs for managing Tilesets. x-ms-parameterized-host: hostTemplate: '{geography}.atlas.microsoft.com' parameters: - $ref: '#/parameters/GeographicResourceLocation' schemes: - https consumes: [] produces: - application/json 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: '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' 200Async: description: >- The operation is running or complete. If the operation was successful, use the Resource-Location header to obtain the path to the result. schema: $ref: '#/definitions/LongRunningOperationResult' headers: Resource-Location: type: string description: >- If successful, a URI where details on the newly created resource can be found. 202Accepted: description: >- Request Accepted: The request has been accepted for processing. Please use the URL in the Operation-Location Header to obtain status. headers: Operation-Location: type: string description: >- New URL to check for the results of the [long-running operation](https://aka.ms/am-creator-lrt-v2). parameters: GeographicResourceLocation: name: geography description: >- This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu. in: path required: true type: string default: us enum: - us - eu x-ms-enum: name: GeographicResourceLocation modelAsString: true values: - value: us description: Used to access an Azure Maps Creator resource in the United States - value: eu description: Used to access an Azure Maps Creator resource in Europe x-ms-parameter-location: client 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 2.0 type: string in: query required: true default: '2.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 DatasetIdQuery: name: datasetId description: >- The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call. type: string in: query required: true x-ms-parameter-location: client TilesetId: name: tilesetId description: The Tileset Id type: string in: path required: true x-ms-parameter-location: method DescriptionTileset: name: description description: User provided description of the tileset. type: string in: query required: false x-ms-parameter-location: method TilesetOperationId: name: operationId type: string in: path description: The ID to query the status for the tileset create/import request. required: true x-ms-parameter-location: method paths: /tilesets: post: x-publish: true description: >- **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

The Tileset Create API allows the caller to create a tileset from a dataset. A tileset contains a set of tiles that can be consumed
from the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the
[DataSet Create API](/rest/api/maps-creator/dataset/create).

## Submit Create Request

To create your tileset you will make a `POST` request with an empty body. The `datasetId` query parameter will be
used as the source of the tileset data.

The Create Tileset API is a
[long-running operation](https://aka.ms/am-creator-lrt-v2). operationId: microsoftAzureTilesetCreate x-ms-examples: Create Tileset by providing a Dataset Id: $ref: ./examples/Create.json parameters: - $ref: '#/parameters/ClientId' - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/DatasetIdQuery' - $ref: '#/parameters/DescriptionTileset' responses: '202': $ref: '#/responses/202Accepted' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Post Tilesets tags: - Tilesets get: x-publish: true description: >- **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This API allows the caller to fetch a list of all tilesets created.
operationId: microsoftAzureTilesetList x-ms-examples: Get a list of all tilesets: $ref: ./examples/List.json parameters: - $ref: '#/parameters/ClientId' - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' responses: '200': description: >- List tileset request completed successfully. The response body contains a list of all tilesets. schema: $ref: '#/definitions/TilesetListResponse' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Get Tilesets tags: - Tilesets /tilesets/{tilesetId}: get: x-publish: true description: >- **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This API allows the caller to fetch a tileset. operationId: microsoftAzureTilesetGet x-ms-examples: Gets the details for a single tileset: $ref: ./examples/Get.json parameters: - $ref: '#/parameters/ClientId' - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/TilesetId' responses: '200': description: >- List tileset request completed successfully. The response body contains a list of all tilesets. schema: $ref: '#/definitions/TilesetDetailInfo' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Get Tilesets Tilesetid tags: - Tilesets delete: x-publish: true description: >- **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This API allows the caller to delete a created tileset.
You can use this API if a tileset is no longer needed.

### Submit Delete Request

To delete your content you will issue a `DELETE` request where the path will contain the `tilesetId` of the tileset to delete.

#### Delete request "Successful"

The Tileset Delete API returns a HTTP `204 No Content` response with an empty body, if the tileset was deleted successfully.

#### Delete request "Failed"

A HTTP `400 Bad Request` error response will be returned if the tileset with the passed-in `tilesetId` is not found.

Here is a sample error response:



```json
{
"error": {
"code": "400 BadRequest",
"message": "Bad request - Tileset Id: d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist."
}
}
``` operationId: microsoftAzureTilesetDelete x-ms-examples: Delete a created tileset: $ref: ./examples/Delete.json parameters: - $ref: '#/parameters/ClientId' - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/TilesetId' responses: '204': description: Tileset delete request completed successfully. '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Delete Tilesets Tilesetid tags: - Tilesets /tilesets/operations/{operationId}: get: description: >- This path will be obtained from a call to /tilesets/create. While in progress, an http200 will be returned with no extra headers - followed by an http200 with Resource-Location header once successfully completed. operationId: microsoftAzureTilesetGetoperation x-ms-examples: Get the status of an operation which is still running: $ref: ./examples/GetOperationStillRunning.json Get the status of an operation which has finished successfully: $ref: ./examples/GetOperation.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/TilesetOperationId' responses: '200': $ref: '#/responses/200Async' '400': $ref: '#/responses/400' summary: Microsoft Azure Get Tilesets Operations Operationid tags: - Tilesets 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. LongRunningOperationResult: description: The response model for a Long-Running Operations API. type: object properties: operationId: description: The Id for this long-running operation. type: string status: description: The status state of the request. type: string enum: - NotStarted - Running - Failed - Succeeded x-ms-enum: name: type modelAsString: true values: - value: NotStarted description: The request has not started processing yet. - value: Running description: The request has started processing. - value: Failed description: The request has one or more failures. - value: Succeeded description: The request has successfully completed. readOnly: true created: description: The created timestamp. type: string readOnly: true error: $ref: '#/definitions/ODataError' warning: $ref: '#/definitions/ODataError' TilesetListResponse: description: >- The response model for the Tileset List API. Returns a list of all tilesets. type: object properties: tilesets: description: A list of all tilesets. type: array readOnly: true items: $ref: '#/definitions/TilesetDetailInfo' nextLink: description: If present, the location of the next page of data. type: string readOnly: true TilesetDetailInfo: description: Detail information for the data. type: object properties: tilesetId: description: The unique tileset id for the tileset. type: string readOnly: true ontology: description: >- The ontology of the source dataset. Please refer to this [article](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) for more information about Azure Maps Creator ontologies. type: string readOnly: true datasetId: description: The unique dataset Id used to create the tileset. type: string readOnly: true description: description: >- The description the caller provided when creating the tileset. Maximum length 1024 characters. type: string readOnly: true minZoom: description: The lowest tile zoom level tile generated for the tileset. type: integer readOnly: true maxZoom: description: The highest tile zoom level tile generated for the tileset. type: integer readOnly: true bbox: description: >- Bounding box which all features of the tileset lay within. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'. type: array readOnly: true items: type: number tags: - name: Tilesets