canonical: https://jentic.com/apis/azure.com/azure-security-center

# Microsoft Azure Security Center

Jentic publishes the only available OpenAPI specification for Security Center, keeping it validated and agent-ready. The Azure Security Center API exposes the Microsoft.Security resource provider so agents can configure cloud security posture, manage pricing tiers for Defender plans, set security contacts, and inspect compliance state across an Azure subscription. It covers auto-provisioning settings, workspace settings, advanced threat protection, and compliance results that map to regulatory frameworks. The API is scoped at the subscription, resource group, or resource level and is used to read and tune the controls that protect Azure workloads.

## For AI agents

Configure Azure Security Center settings, manage Defender pricing tiers, set security contacts, and read compliance and threat protection state for an Azure subscription.

## Scope

Does not handle SIEM incident triage, identity protection, or key vault secrets - use for Azure Security Center configuration and compliance reads only.

## Capabilities

- Configure auto-provisioning of the monitoring agent across an Azure subscription
- Switch Defender pricing tiers between Standard and Free for resource types
- Register security contacts that receive alert and recommendation emails
- Set the Log Analytics workspace where Security Center stores collected data
- Enable advanced threat protection on storage accounts and SQL resources
- Read compliance assessment results against built-in regulatory standards
- Inspect Security Center settings such as MCAS and WDATP integration toggles

## Use cases

### Defender Plan Cost Control

Engineering and FinOps teams use the Security Center API to audit which Microsoft Defender plans are enabled across subscriptions and downgrade Standard tier plans on workloads that no longer require advanced protection. The pricings endpoint reports the current tier per resource type and lets a caller flip it back to Free, which directly removes the per-node Defender charge from the next bill cycle.

Example prompt: Read the pricings list for the subscription, find any resource type set to Standard, and update VirtualMachines pricing to Free if no production workloads are tagged on it

### Security Contact Registration

Compliance teams register security contact details so that Azure Security Center sends alert notifications and security advisor emails to the right inbox. The securityContacts endpoint accepts an email address, phone number, and notification preference flags so an agent can keep contact information current across many subscriptions during onboarding or org changes.

Example prompt: Create a securityContacts entry for the subscription with a target email, alertNotifications enabled, and alertsToAdmins enabled

### Regulatory Compliance Reporting

Security analysts pull compliance assessment data from the API to feed dashboards and audit reports rather than screenshotting the Azure portal. The compliances endpoint returns scored results against the built-in regulatory standards Security Center evaluates, giving an agent a structured view of passed, failed, and skipped controls per assessment date.

Example prompt: List compliances for the subscription scope and return the most recent assessment with its compliant resource percentage

### AI Agent Cloud Security Tuning

An agent built on Jentic uses the Security Center API to keep cloud accounts hardened without a human running through portal blades. The agent can verify auto-provisioning is on, confirm a workspace setting points at the central Log Analytics workspace, and ensure advanced threat protection is enabled on every storage account, all from a single tool call sequence discovered through Jentic search.

Example prompt: Search Jentic for configure azure security center auto provisioning, load the schema, and call autoProvisioningSettings to set autoProvision to On

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings | List Defender pricing tiers configured on the subscription |
| PUT | /subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName} | Update the Defender pricing tier for a resource type |
| PUT | /subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName} | Create or update a security contact |
| PUT | /subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName} | Set auto-provisioning of the monitoring agent |
| GET | /{scope}/providers/Microsoft.Security/compliances | List compliance assessment results for a scope |
| PUT | /{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName} | Enable advanced threat protection on a resource |

## Key resources

- **autoProvisioningSettings** — Toggle automatic deployment of the Microsoft Monitoring Agent across the subscription
- **pricings** — Read and switch Defender pricing tiers per resource type at subscription or resource group scope
- **securityContacts** — Manage email and phone contacts that receive Security Center notifications
- **settings** — Read and update Security Center integration settings such as MCAS and WDATP toggles
- **workspaceSettings** — Configure the Log Analytics workspace that stores collected security data
- **advancedThreatProtectionSettings** — Enable or disable advanced threat protection on individual resources
- **compliances** — Read regulatory compliance assessment results for a given scope

## Why Jentic

- **Setup:** Wiring the Security Center API by hand means registering an Azure AD app, running the OAuth2 azure_auth implicit flow with the user_impersonation scope against management.azure.com, and handling ARM throttling and error retries yourself. Through Jentic you install once, import Security Center from the API Directory, store the Azure service principal credential once, and your agent calls it.
- **Permission scoping:** Security Center puts the subscription and resource scope in the URL path (/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}), so a rule can pin your agent to one subscription. You choose the operations it may call, so you can allow reading compliance results while withholding changes to Defender pricing or advanced threat protection unless you add them.
- **Credential handling:** Your Azure service principal 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 'configure Azure Defender pricing' or 'enable advanced threat protection on a storage account', and Jentic returns the matching Microsoft.Security operation with its input schema so the agent calls the right ARM endpoint without reading the Azure REST docs.

## Related APIs

- **Security Insights (Azure Sentinel)** — Azure Sentinel SIEM that consumes the alerts Security Center generates
- **Service Map** — Maps server processes and dependencies, often used alongside Security Center workspace data
- **AWS Security Hub** — AWS-native cloud security posture and compliance aggregator

## FAQ

### Why is there no official OpenAPI spec for Security Center?

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

Security Center uses Azure AD OAuth 2.0 with the implicit flow against https://login.microsoftonline.com/common/oauth2/authorize and the user_impersonation scope. When called through Jentic, your Azure AD client secret or service principal credentials are stored encrypted in your Jentic One instance and never enter the agent context - Jentic mints scoped access tokens for each call.

### Can I change the Defender pricing tier with the Security Center API?

Yes. Send a PUT to /subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName} with the desired tier (Standard or Free) for the resource type. The same endpoint exists at resource group scope when you need a tier override on a specific scope.

### Does the Security Center API return compliance results?

Yes. GET /{scope}/providers/Microsoft.Security/compliances lists assessment results for a subscription or resource group, and /{scope}/providers/Microsoft.Security/compliances/{complianceName} returns a single assessment with its compliant resource percentages and per-segment scores.

### What are the rate limits for the Security Center API?

Azure Resource Manager applies subscription-level throttling - typically 12,000 read and 1,200 write requests per hour per principal - and surfaces remaining quota in the x-ms-ratelimit-remaining-subscription-reads and x-ms-ratelimit-remaining-subscription-writes response headers. Jentic surfaces those headers verbatim so an agent can back off when quota is low.

### How do I enable advanced threat protection on a storage account through Jentic?

Search Jentic for enable advanced threat protection on azure resource, load the operation schema for PUT /{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}, then execute it with the storage account resource ID and isEnabled set to true. The full search, load, and execute flow is in the Jentic Python SDK after pip install jentic.

### Is the Security Center API free to call?

The API itself has no per-call charge - costs come from the underlying Defender plans. Switching a pricings entry to Standard enables paid Defender features billed per protected node or resource, while Free leaves the basic Security Center features active at no cost.

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

Yes. Because you run Jentic One yourself, your own rules decide which Microsoft.Security operations the agent may call and which Azure credentials it may use. Since the subscription and resource scope live in the URL path, a rule can pin the agent to a single subscription, and you can allow read-only calls such as listing compliance assessment results while withholding write operations like changing Defender pricing tiers or enabling advanced threat protection. The Azure service principal credential stays with your Jentic One instance and is injected only at execution time, never entering the agent's context.
