canonical: https://jentic.com/apis/azure.com/recommendations-api-client

# Microsoft Azure Recommendations API Client

Jentic publishes the only available OpenAPI specification for Recommendations API Client, keeping it validated and agent-ready. The API exposes the Microsoft.Web Recommendations resource - performance, scaling, and reliability suggestions that Azure App Service generates for sites and hosting environments. It covers reading current and historical recommendations, listing them at subscription, hosting environment, or site scope, and resetting or disabling individual recommendations after they have been actioned.

## For AI agents

Read, reset, and disable Azure App Service performance and reliability recommendations across subscriptions, hosting environments, and individual sites.

## Scope

Does not change site configuration, scale plans, or remediate issues automatically - use for reading and managing the lifecycle of Microsoft.Web recommendations only.

## Capabilities

- List active recommendations across a subscription
- Read recommendation history for a specific App Service site or environment
- Get a single recommendation by name with its remediation guidance
- Disable a recommendation that has been reviewed and accepted
- Reset all recommendations on a site, hosting environment, or subscription
- Filter recommendations by channel and severity

## Use cases

### Operational health review

Site reliability teams review Azure App Service recommendations during operational reviews to surface scaling issues, deprecated configurations, and performance regressions. The API lists active recommendations with their severity and guidance so the review board can prioritise remediation work.

Example prompt: List active recommendations for site 'web-prod' in resource group 'web-rg' filtered to high-severity entries

### Recommendation lifecycle management

Once a recommendation has been actioned or formally accepted as known, it should not keep firing in dashboards and alerts. The API exposes per-recommendation disable endpoints at site and hosting environment scope, plus a reset endpoint that clears the disable list when policy changes.

Example prompt: Disable the recommendation named 'AlwaysOnEnabled' on site 'web-prod' for 30 days

### Hosting environment audit

App Service Environment owners need a view of recommendations across every site running inside their ASE, not just one site. The hosting environment listing endpoints aggregate recommendations and history at ASE scope so platform teams can run an audit across all hosted apps from a single call.

Example prompt: List recommendation history for hosting environment 'ase-prod' for the last 30 days and summarise the top 5 recurring recommendations

### Agent-driven remediation

An AI agent fronting a platform engineering portal reads active App Service recommendations, opens an internal ticket for each high-severity one, and disables recommendations once the corresponding fix is deployed. Jentic isolates the AAD client secret so the agent only sees scoped bearer tokens.

Example prompt: List high-severity recommendations across subscription X, open a ticket for each, then disable the corresponding recommendation once the ticket is closed

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations | List recommendations across a subscription |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset | Reset recommendations at subscription scope |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable | Disable a subscription-level recommendation |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations | List recommendations for a hosting environment |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory | Recommendation history for a hosting environment |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations | List recommendations for an App Service site |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory | Recommendation history for a site |

## Key resources

- **Subscription Recommendations** — List, reset, and disable recommendations across an entire subscription
- **Hosting Environment Recommendations** — Recommendations and history at App Service Environment scope
- **Site Recommendations** — Recommendations and history for individual App Service sites

## Why Jentic

- **Setup:** Wiring the Recommendations API Client by hand means registering an Azure AD app for OAuth 2.0, acquiring bearer tokens against management.azure.com, and handling the $filter query syntax and 429 throttles yourself. Through Jentic you install once, import the Recommendations API Client from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The subscription, resource group, site or hosting environment name, and recommendation name all travel in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations), so a rule can pin your agent to one site and the operations it needs, such as listing recommendations and reading history. You choose the operations it may call, so state-changing ones like disabling a recommendation or resetting all recommendations 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 'list azure app service recommendations' or 'disable a recommendation on a site', and Jentic returns the matching operation with its input schema so the agent supplies the subscription, resource group, and site name without browsing the reference docs.

## Related APIs

- **Web Apps API Client** — Manages the App Service sites that recommendations target
- **App Service Plans API Client** — Scales the App Service plan that backs the sites being recommended on
- **App Service Environments API Client** — Manages App Service Environments referenced by ASE-scope recommendations

## FAQ

### Why is there no official OpenAPI spec for Recommendations API Client?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Recommendations API Client 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 App Service Recommendations 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 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 disable a single recommendation without affecting others?

Yes. POST .../recommendations/{name}/disable disables only the named recommendation at the chosen scope (subscription, hosting environment, or site). Other recommendations continue to fire normally, and the disable can be cleared later with the matching reset endpoint.

### What are the rate limits for the App Service Recommendations 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. Listing endpoints support the standard $filter query parameter to narrow results.

### How do I list recommendations through Jentic?

Search Jentic for 'list azure app service recommendations', load the schema for GET .../sites/{siteName}/recommendations, then execute with subscriptionId, resourceGroupName, and siteName. The pip install jentic Python SDK uses the async search, load, execute pattern.

### Is the App Service Recommendations API free?

There is no per-call charge for the management API itself; recommendations are produced as part of the App Service platform and are not separately metered. You pay for the underlying App Service plans and sites.

### Can I limit what my agent is allowed to do with the Azure App Service Recommendations API?

Yes. Because your Jentic One instance is self-hosted, your own rules decide which operations and credentials the agent may use. The subscription, resource group, site, and hosting environment names all travel in the URL path, so you can pin the agent to a single site and only the operations it needs, such as listing recommendations and reading recommendation history. State-changing operations like disabling a recommendation or resetting all recommendations are not available to the agent unless you explicitly add them.
