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

# Microsoft Azure ResourceHealthMetadata API Client

Jentic publishes the only available OpenAPI specification for the ResourceHealthMetadata API Client, keeping it validated and agent-ready. The API exposes Azure App Service resource health metadata, which describes how the platform reports availability and signals for web apps and deployment slots. Agents can list metadata at the subscription, resource group, app, or slot level to understand what health categories Azure is tracking before correlating those signals with diagnostics or alerts. The service runs against the Azure Resource Manager control plane for the Microsoft.Web provider.

## For AI agents

Read Azure App Service resource health metadata for subscriptions, resource groups, web apps, and deployment slots so agents can interpret platform availability signals.

## Scope

Does not return live availability events, configure alerts, or manage App Service sites - use for reading App Service resource health metadata only.

## Capabilities

- List resource health metadata for every App Service site in a subscription
- Filter resource health metadata to a single resource group
- Retrieve resource health metadata for a specific App Service site
- Inspect resource health metadata for a deployment slot of a web app
- Map availability categories the Azure platform reports for a given site
- Correlate health metadata with App Service diagnostic and alert tooling

## Use cases

### App Service Availability Triage

Site reliability engineers triaging App Service incidents need to know which health signals Azure publishes for an affected site. The ResourceHealthMetadata API returns the metadata document describing how the platform classifies availability for that resource, which is the prerequisite for then querying Azure Resource Health or Service Health for the actual events. The triage runs against the Microsoft.Web provider in the Azure Resource Manager control plane.

Example prompt: GET /subscriptions/{subscriptionId}/resourceGroups/{rg}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata for the affected site and return the categories array

### Deployment Slot Health Check

Before swapping a staging slot into production, an agent can fetch the slot's resource health metadata to confirm the platform is publishing availability signals for it. The slot-scoped endpoint returns metadata for a named slot under a given site, which lets the agent gate the swap on a healthy metadata response.

Example prompt: GET resourceHealthMetadata for site myapp slot staging and confirm the response contains a non-empty signalAvailability category before triggering a slot swap

### Subscription-Wide App Service Inventory

Cloud governance teams building inventories of App Service workloads use the subscription-scoped list endpoint to enumerate every site that has health metadata published. The response gives a per-site metadata record, which is enough to seed a CMDB with the health-tracking posture of each web app without iterating through every resource group manually.

Example prompt: GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata and return the count of sites with category=Availability

### Agent-Driven Health Awareness via Jentic

Through Jentic, an SRE agent can search for app service health metadata, load the GET schema for the appropriate scope, and execute the call with a managed Azure OAuth token. The agent never handles a service principal secret directly, and the response feeds downstream operations such as opening incidents or pausing deployments.

Example prompt: Search Jentic for app service health metadata, load the site-scoped GET, execute it for site myapp in resource group rg-prod, and return the categories array to the calling workflow

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata | List health metadata across a subscription |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata | List health metadata in a resource group |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata | List health metadata for a site |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata | List health metadata for a slot |

## Key resources

- **ResourceHealthMetadata** — List or retrieve App Service resource health metadata at subscription, resource group, site, or slot scope

## Why Jentic

- **Setup:** Wiring the ResourceHealthMetadata API Client by hand means registering an Azure AD app for OAuth 2.0, acquiring bearer tokens against management.azure.com, and coding the four scope-specific paths and 429 read-throttle handling yourself. Through Jentic you install once, import the ResourceHealthMetadata API Client from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** These are read-only listing endpoints, with the subscription, resource group, site, and slot names carried in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata), so a rule can pin your agent to one site and the read operations it needs. You choose the operations it may call, so you can limit it to reading health metadata at the scopes you allow and nothing more.
- **Credential handling:** Your Azure AD OAuth 2.0 credential is stored once, encrypted, by your own Jentic One instance and a scoped bearer token for the management.azure.com audience 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 'get app service resource health metadata' or 'check health metadata for a deployment slot', and Jentic returns the matching operation with its input schema so the agent supplies the subscription, resource group, and site or slot name without browsing the reference docs.

## Related APIs

- **Azure WebApps API Client** — Manage the App Service sites whose health metadata you read here
- **Azure Monitor (Microsoft.Insights)** — Query metrics and alerts that complement health metadata
- **Azure Microsoft.ResourceHealth** — Returns the live availability events themselves rather than metadata

## FAQ

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

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

### What authentication does the ResourceHealthMetadata API Client use?

It uses Azure Active Directory OAuth 2.0 via the azure_auth flow defined in the spec. Acquire a bearer token for https://management.azure.com/.default and pass it as Authorization: Bearer. Jentic stores the underlying service principal in its vault and hands the agent only a scoped token.

### Can I read health metadata for a deployment slot with this API?

Yes. Call GET /subscriptions/{subscriptionId}/resourceGroups/{rg}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata. The response describes how Azure tracks availability for that specific slot, separate from the production site.

### Does the ResourceHealthMetadata API return live availability events?

No. This API returns metadata describing the categories and dimensions Azure tracks. To get the actual availability events you query Azure Resource Health or Service Health. Use this metadata to interpret what the live signals mean.

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

Requests count against Azure Resource Manager subscription throttling, roughly 12,000 reads per hour per subscription. Throttled responses come back as HTTP 429 with a Retry-After header indicating how long to wait.

### How do I look up site health metadata through Jentic?

Search Jentic for app service health metadata, call client.load on the site-scoped GET operation to receive its input schema, then call client.execute with subscriptionId, resourceGroupName, and the site name. Jentic injects the OAuth token and returns the metadata document.

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

Yes. Because Jentic One is self-hosted, you decide which operations your agent may call, and every endpoint on this API is a read-only listing call whose subscription, resource group, site, and slot names are carried in the URL path. That lets your own rules pin the agent to reading health metadata at a single scope, such as one App Service site or slot, and nothing more. Your Azure AD OAuth credential is held by your instance and a scoped token is injected only at execution time, so the agent never sees the underlying client secret.
