canonical: https://jentic.com/apis/azure.com/azure-location-based-services-resource-provider

# Microsoft Azure Azure Location Based Services Resource Provider

Jentic publishes the only available OpenAPI specification for Azure Location Based Services Resource Provider, keeping it validated and agent-ready. The Azure Location Based Services Resource Provider API manages account-level resources for the Microsoft.LocationBasedServices namespace, letting operators provision Maps accounts inside an Azure subscription, list and rotate the primary and secondary subscription keys, and move accounts between resource groups. It is a control-plane API rather than a maps query API, so all calls go through Azure Resource Manager at management.azure.com and use Azure AD OAuth 2.0. Use it to automate the lifecycle of a Maps account before pointing applications at the Azure Maps data plane for geocoding or routing.

## For AI agents

Provision and manage Azure Location Based Services (Azure Maps) accounts at the Azure Resource Manager level, including listing accounts, rotating subscription keys, and moving resources between resource groups.

## Scope

Does not handle geocoding, routing, or map tile rendering - use for Microsoft.LocationBasedServices account lifecycle and key management only.

## Capabilities

- Provision a Microsoft.LocationBasedServices account inside a resource group
- List Maps accounts across a subscription or scoped to a resource group
- Rotate primary or secondary subscription keys for a Maps account
- Move a Maps account between resource groups using moveResources
- Update tags and SKU on an existing Location Based Services account
- Enumerate available Microsoft.LocationBasedServices Resource Provider operations

## Use cases

### Automated Maps Account Provisioning

Provision a Microsoft.LocationBasedServices account programmatically as part of an Azure landing zone or environment bootstrap. The PUT call on the accounts resource accepts a SKU, location, and tags, and returns the account record once Azure Resource Manager completes the create-or-update. Combined with listKeys, this lets a deployment pipeline create a Maps account and capture its subscription key in one run.

Example prompt: Create an S0 Microsoft.LocationBasedServices account named 'maps-prod-eu' in resource group 'rg-platform' in West Europe, then call listKeys and return the primary key.

### Subscription Key Rotation

Rotate Azure Maps subscription keys on a schedule to satisfy compliance policies. The regenerateKey endpoint accepts either 'primary' or 'secondary' as the key type and issues a fresh value while leaving the other key intact, which lets clients cut over without downtime. Pair it with listKeys to retrieve the new value and push it to a secret store.

Example prompt: Regenerate the secondary key for Maps account 'maps-prod-eu' in resource group 'rg-platform', then read the new value via listKeys and store it in Key Vault under 'maps-secondary-key'.

### Cross-Resource-Group Account Migration

Reorganise Azure Maps accounts when a subscription is split or resource groups are consolidated. The moveResources POST under a source resource group accepts a list of account resource IDs and a target resource group, and the Resource Provider validates the move before committing. This avoids deleting and recreating the account, which would invalidate existing subscription keys.

Example prompt: Move the Maps account 'maps-prod-eu' from resource group 'rg-old' to 'rg-platform' using moveResources and confirm the new resource ID.

### Agent Inventory and Drift Detection

An AI agent through Jentic can enumerate every Microsoft.LocationBasedServices account across subscriptions, compare SKU and tag values against a desired-state config, and trigger updates or key rotations when drift is detected. Jentic returns the matching control-plane operation for each step, so the agent never has to browse Resource Provider docs.

Example prompt: List all Location Based Services accounts in subscription '00000000-0000-0000-0000-000000000000', flag any account whose SKU is not 'S1', and rotate the primary key on those accounts.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts/{accountName} | Create or update a Maps account |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.LocationBasedServices/accounts | List Maps accounts in a subscription |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts | List Maps accounts in a resource group |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts/{accountName}/listKeys | Retrieve subscription keys for a Maps account |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts/{accountName}/regenerateKey | Regenerate primary or secondary key |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources | Move accounts between resource groups |

## Key resources

- **Accounts** — Create, read, update, delete, and list Microsoft.LocationBasedServices accounts
- **Keys** — List and regenerate primary and secondary subscription keys for a Maps account
- **Resource moves** — Move accounts between resource groups within a subscription
- **Operations** — Enumerate available Resource Provider operations for RBAC and tooling

## Why Jentic

- **Setup:** Wiring the Microsoft.LocationBasedServices resource provider by hand means registering an Azure AD app, acquiring bearer tokens for management.azure.com, and handling ARM subscription throttling with the Retry-After header yourself. Through Jentic you install once, import Azure Location Based Services Resource Provider from the API Directory, store the Azure AD service principal credentials once, and your agent calls it.
- **Permission scoping:** This provider puts the subscription, resource group, and account name in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts/{accountName}), so a rule can pin your agent to one Maps account. You choose the operations it may call, so ones like regenerateKey or moveResources are not included unless you add them.
- **Credential handling:** Your Azure AD service principal credentials are stored once, encrypted, by your own Jentic One instance and injected as a short-lived bearer token scoped to management.azure.com at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'provision an Azure Maps account' or 'rotate a Maps subscription key', and Jentic returns the matching Microsoft.LocationBasedServices operation with its input schema so the agent calls the right endpoint without parsing the resource provider docs.

## Related APIs

- **Azure Maps Resource Provider** — Successor Resource Provider that uses the Microsoft.Maps namespace instead of Microsoft.LocationBasedServices.
- **Azure Monitor Management Client** — Configure metrics, alerts, and diagnostic settings against the Maps account once it is provisioned.
- **Azure Log Analytics** — Send diagnostic logs from the Maps account to a Log Analytics workspace for query and retention.

## FAQ

### Why is there no official OpenAPI spec for Azure Location Based Services Resource Provider?

Microsoft Azure does not publish a single consolidated OpenAPI specification for this Resource Provider. Jentic generates and maintains this spec so that AI agents and developers can call Azure Location Based Services Resource Provider via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Azure Location Based Services Resource Provider use?

The API uses Azure Active Directory OAuth 2.0 with the implicit flow declared in the spec; in practice, agents acquire a token for the https://management.azure.com/ resource and pass it as a Bearer token. Jentic stores the service principal credentials in its vault and injects scoped tokens at call time, so raw client secrets never enter the agent context.

### Can I retrieve Azure Maps subscription keys with this API?

Yes. The POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts/{accountName}/listKeys endpoint returns the primary and secondary keys for the account, and the regenerateKey endpoint rotates whichever key you specify.

### Does this API let me query maps, geocode addresses, or calculate routes?

No. This is the control-plane Resource Provider API that manages the lifecycle of Azure Maps accounts. For geocoding, search, and routing you use the Azure Maps data-plane services at atlas.microsoft.com after provisioning an account here.

### How do I provision an Azure Maps account through Jentic?

Search Jentic for 'provision an Azure Maps account', load the resulting PUT operation on /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LocationBasedServices/accounts/{accountName}, then execute it with the SKU, location, and account name. Install with pip install jentic and run the async search-load-execute flow.

### What are the rate limits for this API?

Azure Resource Manager applies subscription-level throttling rather than per-endpoint limits; reads are typically capped at 12,000 per hour and writes at 1,200 per hour per subscription. The spec does not declare narrower limits, so the ARM defaults apply.

### Can I limit what my agent is allowed to do with the Azure Location Based Services Resource Provider?

Yes. Because you self-host Jentic One, your own rules decide which operations and credentials the agent may use, and you pick the exact set it can call. Since this provider puts the subscription, resource group, and account name in the URL path, you can pin the agent to a single Maps account and expose only safe operations such as listing accounts or reading keys with listKeys. Sensitive operations like regenerateKey or moveResources stay out of reach unless you explicitly add them.
