@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Azure Maps Resource Provider
@base https://management.azure.com
@version 2018-05-01
@auth OAuth2
@common_fields {api-version: any # Client Api Version.}
@endpoints 10
@toc subscriptions(9), providers(1)

@group subscriptions
@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}
@desc Create or update a Maps Account. A Maps Account holds the keys which allow access to the Maps REST APIs.
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group., accountName: any # The name of the Maps Account., MapsAccountCreateParameters: map # The new or updated parameters for the Maps Account.}
@returns(200) The Account was successfully updated.
@returns(201) The Account was successfully created.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}
@desc Updates a Maps Account. Only a subset of the parameters may be updated after creation, such as Sku and Tags.
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group., accountName: any # The name of the Maps Account., MapsAccountUpdateParameters: map # The updated parameters for the Maps Account.}
@returns(200) The Account was successfully updated.
@errors {404: The specified Account was not found. Nothing was updated.}

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}
@desc Delete a Maps Account.
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group., accountName: any # The name of the Maps Account.}
@returns(200) The Account was deleted successfully.
@returns(204) The specified Account was not found. Nothing was deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}
@desc Get a Maps Account.
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group., accountName: any # The name of the Maps Account.}
@returns(200) The request was successful.
@errors {404: The specified Account does not exist.}

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts
@desc Get all Maps Accounts in a Resource Group
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group.}
@returns(200) The request was successful.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts
@desc Get all Maps Accounts in a Subscription
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@returns(200) The request was successful.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources
@desc Moves Maps Accounts from one ResourceGroup (or Subscription) to another
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group that contains Maps Account to move., moveRequest: map # The details of the Maps Account move.}
@returns(200) The Accounts were successfully moved.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys
@desc Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration.
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group., accountName: any # The name of the Maps Account.}
@returns(200) The request was successful.
@errors {404: The specified Account does not exist.}

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey
@desc Regenerate either the primary or secondary key for use with the Maps APIs. The old key will stop working immediately.
@required {subscriptionId: any # Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the Azure Resource Group., accountName: any # The name of the Maps Account., keySpecification: map # Which key to regenerate:  primary or secondary.}
@returns(200) The request was successful.
@errors {404: The specified Account does not exist.}

@endgroup

@group providers
@endpoint GET /providers/Microsoft.Maps/operations
@desc List operations available for the Maps Resource Provider
@returns(200) The request was successful.

@endgroup

@end
