canonical: https://jentic.com/apis/azure.com/azure-policy-metadata

# Microsoft Azure PolicyMetadataClient

Jentic publishes the only available OpenAPI specification for PolicyMetadataClient, keeping it validated and agent-ready. The Azure Policy Insights metadata API exposes 2 read endpoints under Microsoft.PolicyInsights for retrieving regulatory and descriptive metadata about policy definitions and initiatives. Use it to look up the regulatory standards a built-in policy maps to (CIS, ISO 27001, NIST, PCI DSS, HIPAA), the rationale behind a policy, and additional context that helps governance teams justify and document policy choices in audits.

## For AI agents

Look up regulatory mappings and descriptive metadata for Azure Policy definitions and initiatives through 2 read endpoints under Microsoft.PolicyInsights.

## Scope

Does not author policies, evaluate compliance, or query non-compliant resources - use for retrieving descriptive and regulatory metadata about built-in policies and initiatives only.

## Capabilities

- List all available policy metadata entries published by Microsoft
- Retrieve metadata for a specific resource (policy definition or initiative) by name
- Map a built-in policy or initiative to the regulatory standard it implements
- Retrieve owner, description, and reference URLs for a policy metadata resource
- Look up metadata for use in compliance audit narratives and control mapping

## Use cases

### Regulatory Mapping for Audit

Produce a control-by-control mapping between assigned Azure policies and the regulatory standards an organisation is audited against. Listing all policy metadata returns the full library of regulatory mappings; retrieving individual entries gives the specific control IDs and descriptions an auditor will ask about. The output feeds directly into SOC 2, ISO 27001, and PCI DSS audit narratives without manual data entry from Microsoft documentation pages.

Example prompt: List all policy metadata, filter to entries with category 'NIST SP 800-53', and output a CSV mapping each policy definition to its referenced control ID

### Policy Selection for a Compliance Initiative

When standing up a new compliance initiative (for example HIPAA for a healthcare workload), use this API to find the built-in initiative that already implements that standard rather than authoring custom policies. Looking up the metadata entry returns the initiative ID, the controls covered, and the reference URL pointing to Microsoft's published mapping document - enough information to make an evidence-based decision before any assignment is made.

Example prompt: Retrieve metadata for the 'HIPAA HITRUST' resource and return its description, additional metadata properties, and reference URL

### Compliance Documentation Generation

Generate audit documentation that explains, in plain language, what each assigned policy does and which regulation it satisfies. The metadata description field provides the human-readable rationale the audit narrative needs, and the additional metadata field carries control IDs and category labels. Combined, these turn a list of opaque policy GUIDs into an auditor-ready document.

Example prompt: For each metadata resource in the 'CIS Microsoft Azure Foundations Benchmark' category, retrieve the entry and assemble a markdown table of policy name, control ID, and description

### AI Agent Compliance Researcher

An AI agent supporting a compliance team can look up regulatory mappings through Jentic. The agent searches by intent ('look up azure policy regulatory metadata'), Jentic returns the PolicyMetadata_GetResource operation with its schema, and the agent executes the call with managed Azure credentials. The same flow handles bulk listing and individual lookups for audit narrative generation.

Example prompt: Search Jentic for 'look up Azure policy metadata', load the PolicyMetadata_GetResource schema, and execute it for resource name 'CIS-Microsoft-Azure-Foundations-Benchmark-v1.3.0'

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /providers/Microsoft.PolicyInsights/policyMetadata | List all policy metadata entries |
| GET | /providers/Microsoft.PolicyInsights/policyMetadata/{resourceName} | Get a specific policy metadata entry by name |

## Key resources

- **PolicyMetadata** — List and retrieve metadata describing built-in policy definitions and initiatives

## Why Jentic

- **Setup:** Wiring the PolicyMetadataClient by hand means acquiring an Azure AD token from login.microsoftonline.com, sending every request to management.azure.com with the right api-version, and paging the built-in policy metadata layout yourself. Through Jentic you install once, import PolicyMetadataClient from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** This API puts the metadata resource name in the URL path (/providers/Microsoft.PolicyInsights/policyMetadata/{resourceName}), and both exposed operations are read-only list and get. You choose the operations it may call, so the agent stays a metadata reader with no write surface to grant.
- **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 'look up Azure policy regulatory metadata', and Jentic returns the matching list or get-resource operation with its input schema so the agent calls the right path without learning the policyMetadata layout.

## Related APIs

- **Azure Policy** — Author and assign the policies whose regulatory mappings this API describes.
- **Azure Policy States** — Query current compliance state for assigned regulatory initiatives.
- **Azure Policy Events** — Query historical evaluation events for the same regulatory initiatives.

## FAQ

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

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

It uses Azure Active Directory OAuth 2.0 against https://management.azure.com/ with the user_impersonation scope. The caller needs Reader at tenant scope. Jentic stores service principal credentials encrypted and issues short-lived bearer tokens at execution time.

### Can I retrieve regulatory mappings for built-in policies through this API?

Yes. GET /providers/Microsoft.PolicyInsights/policyMetadata/{resourceName} returns the metadata for a regulatory initiative such as 'CIS-Microsoft-Azure-Foundations-Benchmark-v1.3.0', including the description, owner, and additional metadata properties that map controls to policy definitions.

### What are the rate limits for the Policy Metadata API?

Azure Resource Manager applies tenant-level throttling at roughly 12,000 reads per hour. The metadata catalogue rarely changes, so cache results for hours rather than calling per-request.

### How do I look up policy metadata through Jentic?

Run pip install jentic and search for 'look up azure policy metadata'. Jentic returns the PolicyMetadata_GetResource operation; load its schema and execute it with the metadata resource name (the regulatory benchmark identifier).

### Does this API include metadata for custom policies?

No. Policy metadata covers Microsoft-published built-in initiatives and definitions only. Custom definitions you author through PolicyClient include description and metadata fields directly on the definition itself, not in this catalogue.

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

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and this API exposes only two read operations: listing all policy metadata entries and getting a single entry by resource name under Microsoft.PolicyInsights. You can grant just the list-and-get calls, so the agent stays a metadata reader with no ability to author, assign, or evaluate policies. Your Azure Active Directory credential is stored encrypted by your own instance and injected only at execution time, never reaching the agent's prompt or logs.
