canonical: https://jentic.com/apis/azure.com/azureanalysisservices

# Microsoft Azure AzureAnalysisServices

Jentic publishes the only available OpenAPI specification for Azure Analysis Services, keeping it validated and agent-ready. The API provisions and lifecycle-manages Analysis Services servers - the SQL Server Analysis Services tabular engine running in Azure - letting agents create, suspend, resume, scale, and delete servers, list available SKUs, check name availability, and dissociate or query the on-premises gateway. It targets the Microsoft.AnalysisServices resource provider on Azure Resource Manager and is intended for BI infrastructure automation rather than for querying tabular models directly.

## For AI agents

Provision, suspend, resume, and scale Azure Analysis Services tabular servers and inspect their SKUs and gateway state.

## Scope

Does not query tabular models, deploy model definitions, or process refresh - use for Analysis Services server lifecycle only.

## Capabilities

- Provision an Azure Analysis Services tabular server in a region
- Suspend a running server to stop billing without losing the model
- Resume a suspended server when reporting workloads return
- Scale a server up or down by patching its SKU
- List all SKUs available for Analysis Services
- Check that a proposed server name is available before creation
- Dissociate or query the on-premises gateway attached to a server

## Use cases

### Cost-aware suspend and resume

Suspend an Azure Analysis Services server outside business hours and resume it before reporting workloads start. The POST /servers/{serverName}/suspend and /resume operations stop and restart compute without disturbing the deployed tabular model. Cuts costs significantly for workloads that only need to be online for part of the day.

Example prompt: POST /servers/{serverName}/suspend at 19:00 then /servers/{serverName}/resume at 07:00 on weekdays and verify the GET returns provisioningState=Succeeded

### Provision a new tabular server

Create a new Azure Analysis Services server in a target region with a chosen SKU. The PUT /servers/{serverName} operation accepts the SKU tier, capacity, and admin members in a single call. The check-name-availability operation lets the workflow validate the proposed name before the create call.

Example prompt: POST /locations/{location}/checkNameAvailability with name=mybi-prod, then PUT /servers/mybi-prod with sku.name=S1 and verify provisioningState=Succeeded

### Scale up before a heavy reporting day

Patch a running Analysis Services server to a larger SKU before a known peak (month-end close, fiscal report run) so query latency stays low under load. The PATCH /servers/{serverName} operation accepts the new SKU and applies it without dropping the model. Reverts to the smaller SKU after the peak with another PATCH.

Example prompt: PATCH /servers/{serverName} with sku.name=S2 capacity=2, wait for provisioningState=Succeeded, run the reporting workload, then PATCH back to S0

### Inventory and SKU planning

Walk every Analysis Services server in a subscription and report its SKU and state, plus the SKUs available for a potential upgrade. The GET /servers/{serverName}/skus call returns available scaling options per server. Useful for capacity-planning and chargeback reporting.

Example prompt: Iterate every server under a subscription, GET its current sku and the per-server skus list, and emit a CSV of server name, current SKU, and upgrade options

### Agent-driven BI infrastructure

Allow an AI agent to suspend, resume, or scale Analysis Services servers in response to a calendar event or workload signal without an operator hand-coding the long ARM URL. Through Jentic the agent searches by intent, loads the SKU schema, and executes the right operation. Removes a class of typos when constructing nested resource paths.

Example prompt: Search Jentic for 'suspend azure analysis services server', execute the POST against the named server, and confirm the operation status returns Succeeded

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers | List servers in a resource group |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName} | Create or update a server |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName} | Update server SKU or settings |
| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName} | Delete a server |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend | Suspend a server |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume | Resume a suspended server |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability | Check whether a server name is available |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus | List available SKUs |

## Key resources

- **servers** — Provision, get, update, delete, suspend, and resume Analysis Services servers
- **skus** — List SKUs available globally or per server
- **checkNameAvailability** — Validate a proposed server name in a region before creation
- **gateway** — List gateway status or dissociate an on-prem gateway from a server
- **operations** — List provider operations and track operation status by id

## Why Jentic

- **Setup:** Wiring the Azure Analysis Services API by hand means registering an Azure AD app for OAuth2 bearer auth against management.azure.com, building the Microsoft.AnalysisServices server path, plumbing the SKU and admin body, and polling operationstatuses while a suspend, resume, or provision completes. Through Jentic you install once, import Azure Analysis Services from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The server sits in the URL path (/servers/{serverName}/suspend and /resume), so a rule can pin your agent to one server and let it suspend, resume, or scale only that server. You choose the operations it may call, so the DELETE that removes a server is not included unless you add it.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'suspend an azure analysis services server' or 'scale a tabular server to a larger sku', and Jentic returns the matching Microsoft.AnalysisServices operation with its SKU and admin schema so the agent calls the right endpoint without memorising the ARM path.

## Related APIs

- **Azure Log Analytics** — Stores diagnostic logs emitted by Analysis Services servers
- **Azure Active Directory diagnostic settings** — Routes identity logs that complement Analysis Services audit data
- **Authorization management client** — Manages role assignments controlling who can administer Analysis Services servers

## FAQ

### Why is there no official OpenAPI spec for Azure Analysis Services?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Azure Analysis Services 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 Analysis Services API use?

The API uses Azure AD OAuth 2.0 with the implicit flow, scoped to user_impersonation against management.azure.com. Through Jentic, the bearer token is held in your Jentic One instance and exchanged for a scoped access token at execution time.

### Can I suspend a server and resume it later through this API?

Yes. POST /servers/{serverName}/suspend stops compute without removing the model, and POST /servers/{serverName}/resume restarts it. Both are long-running operations that return 202 Accepted; track completion via the operationstatuses endpoint or Azure-AsyncOperation header.

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

Azure Resource Manager applies tenant-level throttling - typically 12,000 reads and 1,200 writes per hour per subscription. Server provisioning, suspend, and resume are long-running operations; poll /locations/{location}/operationstatuses/{operationId} for status.

### How do I provision a server through Jentic?

Run pip install jentic, then search for 'create azure analysis services server'. Jentic returns the PUT /servers/{serverName} operation with the SKU and admin schema, and executes the call against the location and resource group you specify.

### Does this API let me query the tabular model directly?

No. This API manages server lifecycle (create, scale, suspend, resume) only. To query a deployed tabular model, connect with the XMLA endpoint or the Analysis Services client libraries against the server's data plane.

### Can I limit what my agent is allowed to do with the Azure Analysis Services API?

Yes. Because Jentic One is self-hosted, you set the rules that decide which operations and credentials your agent may use. Since the server name sits in the URL path of operations like POST /servers/{serverName}/suspend and /resume, you can pin the agent to a single server and allow it to suspend, resume, or scale only that one. You choose the operations it may call, so the DELETE that removes a server is excluded unless you add it.
