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

# Microsoft Azure PowerBIDedicated

Jentic publishes the only available OpenAPI specification for PowerBIDedicated, keeping it validated and agent-ready. The API manages Power BI Dedicated capacities under Microsoft.PowerBIDedicated in Azure Resource Manager - the per-tenant compute capacities (A SKUs) that back embedded Power BI workloads. It covers the full capacity lifecycle, including provisioning, scaling, suspend and resume, plus SKU listings and name availability checks.

## For AI agents

Provision, scale, suspend, and resume Power BI Dedicated capacities in Azure, and list available SKUs and operations for the Microsoft.PowerBIDedicated resource provider.

## Scope

Does not author Power BI reports, mint embed tokens, or query Power BI datasets - use for the Microsoft.PowerBIDedicated capacity lifecycle, scaling, and suspend/resume only.

## Capabilities

- Provision a Power BI Dedicated capacity in a resource group
- Suspend or resume a Power BI Dedicated capacity to control billing
- Update the SKU or tags on an existing capacity
- List Power BI Dedicated capacities at subscription or resource-group scope
- List the SKUs available for a Power BI Dedicated capacity
- Check whether a capacity name is available before provisioning

## Use cases

### Embedded analytics capacity provisioning

Teams that embed Power BI reports into customer-facing applications need a dedicated capacity sized to their tenant load. The API provisions a Microsoft.PowerBIDedicated capacity at the chosen SKU, returns the provisioning state, and exposes the listing endpoints needed to surface capacity status in an internal control plane.

Example prompt: Create a Power BI Dedicated capacity named 'analytics-prod-eu' at SKU A2 in resource group 'analytics-rg' in West Europe

### Cost control via suspend and resume

Power BI Dedicated capacities are billed per hour, so suspending them outside business hours is a common cost-saver. The API exposes dedicated suspend and resume endpoints so a scheduler can pause capacities overnight and resume them before users return, without redeploying the resource.

Example prompt: Suspend the Power BI Dedicated capacity 'analytics-prod-eu' at 19:00 and resume it at 07:00 on weekdays

### SKU scaling for usage spikes

Demand on embedded analytics often spikes around month-end reporting, so capacity SKUs need to scale up before the load hits and back down once it passes. The API supports updating the SKU on the capacity in place, and lists the SKUs available for a given capacity so the agent can pick a valid target tier.

Example prompt: Scale the Power BI Dedicated capacity 'analytics-prod-eu' from A2 to A4 ahead of the month-end window and back to A2 afterwards

### Agent-driven capacity management

An AI agent fronting an analytics control plane accepts capacity sizing requests, validates the desired name, provisions or rescales the capacity, and posts the resulting state back to the requestor. Jentic isolates the Azure AD client secret so the agent only ever sees scoped bearer tokens.

Example prompt: Given a tenant request for capacity 'tenant-foo' at A1, validate the name and provision the capacity in West US 2, returning the provisioning state

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName} | Create or update a dedicated capacity |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName} | Get a specific dedicated capacity |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName} | Update SKU or tags on a capacity |
| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName} | Delete a dedicated capacity |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend | Suspend a capacity |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume | Resume a suspended capacity |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus | List available capacity SKUs |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/locations/{location}/checkNameAvailability | Check capacity name availability |

## Key resources

- **Capacities** — Provisioning, listing, update, delete, suspend, and resume of Power BI Dedicated capacities
- **SKUs** — List the SKUs available globally and for a specific capacity
- **Operations** — Discover available Microsoft.PowerBIDedicated provider operations

## Why Jentic

- **Setup:** Wiring PowerBIDedicated by hand means registering an Azure AD app for OAuth 2.0, acquiring bearer tokens against management.azure.com, and polling the long-running suspend, resume, and scale operations yourself. Through Jentic you install once, import PowerBIDedicated from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The subscription, resource group, and capacity name travel in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}), so a rule can pin your agent to one capacity and the operations it needs, such as suspend, resume, or reading capacity state. You choose the operations it may call, so destructive ones like deleting a capacity or scaling its SKU are not included unless you add them.
- **Credential handling:** Your Azure AD OAuth 2.0 credential is stored once, encrypted, by your own Jentic One instance and a scoped bearer token is injected at execution time. The client secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'suspend a power bi dedicated capacity overnight' or 'scale a capacity from A2 to A4', and Jentic returns the matching operation with its input schema so the agent supplies the capacity path and SKU without browsing the reference docs.

## Related APIs

- **Power BI Embedded Management Client** — The legacy Power BI Embedded workspace collections API that PowerBIDedicated replaced
- **App Service Plans API Client** — Provisions the App Service plan that typically hosts the application embedding Power BI
- **SQL Management Client** — Manages Azure SQL databases that commonly back Power BI datasets

## FAQ

### Why is there no official OpenAPI spec for PowerBIDedicated?

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

The API runs through Azure Resource Manager and uses OAuth 2.0 bearer tokens issued by Azure Active Directory under the azure_auth scheme with the user_impersonation scope. Through Jentic, the AAD client secret or refresh token is held in the encrypted vault and a short-lived access token is supplied at execute time so the secret never appears in the agent's context.

### Can I suspend a Power BI Dedicated capacity to save money?

Yes. POST .../capacities/{dedicatedCapacityName}/suspend stops billing for capacity hours, and the matching /resume endpoint brings it back online. Both are long-running operations so the response should be polled until provisioningState reaches Succeeded.

### What are the rate limits for the Power BI Dedicated API?

Azure Resource Manager applies subscription-level read and write throttles (around 12,000 reads per hour and 1,200 writes per hour per region per subscription) and returns 429 with a Retry-After header when exceeded. Provisioning, suspend, and resume are asynchronous and should be polled with backoff.

### How do I scale a Power BI Dedicated capacity through Jentic?

Search Jentic for 'scale power bi dedicated capacity', load the schema for PATCH .../capacities/{dedicatedCapacityName}, then execute with the new sku.name in the request body. The pip install jentic Python SDK uses the async search, load, execute pattern.

### Is the Power BI Dedicated API free?

There is no per-call charge for the management API itself; you pay for the Power BI Dedicated capacity hours of the SKU you select. Suspended capacities do not accrue capacity-hour charges, which is why suspend and resume are first-class operations on this API.

### Can I limit what my agent is allowed to do with the Power BI Dedicated API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and the subscription, resource group, and capacity name all travel in the URL path so a rule can pin the agent to a single capacity. You choose the exact operations it may call, so you can permit read-only checks or suspend and resume for cost control while withholding destructive ones like deleting a capacity or changing its SKU. Your Azure AD credential stays with your instance and only a scoped bearer token is injected at execution time, so the agent never sees the client secret.
