Azure Policy REST API

Azure Policy REST API provides management of policy definitions, assignments, and compliance states for enforcing organizational standards across Azure resources. It supports creating custom policies, initiatives, exemptions, and querying compliance results.

OpenAPI Specification

microsoft-azure-policy-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Policy REST API
  description: Azure Policy enforces organizational standards and assesses compliance at scale. The REST
    API manages policy definitions, assignments, exemptions, set definitions, and compliance state.
  version: '2024-01-01'
externalDocs:
  description: Azure Policy REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/policy/
servers:
- url: https://management.azure.com
  description: Azure Resource Manager
tags:
- name: Policy Definitions
  description: Policy Definitions operations
- name: Assignments
  description: Assignments operations
- name: Exemptions
  description: Exemptions operations
- name: Set Definitions
  description: Set Definitions operations
- name: Operations
  description: Operations operations
security:
- azure_auth:
  - user_impersonation
paths:
  /providers/Microsoft.Authorization/operations:
    get:
      operationId: listOperations
      summary: Azure Policy REST API List operations
      description: Lists all available REST API operations for Microsoft.Authorization.
      tags:
      - Operations
      parameters:
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Operations list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions:
    get:
      operationId: listPolicydefinitionsBySubscription
      summary: Azure Policy REST API List by subscription
      description: Lists all policyDefinitions resources within the specified subscription.
      tags:
      - Policy Definitions
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyDefinitions:
    get:
      operationId: listPolicydefinitionsByResourceGroup
      summary: Azure Policy REST API List by resource group
      description: Lists all policyDefinitions resources within the specified resource group.
      tags:
      - Policy Definitions
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/resourceGroupName'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyDefinitions/{name}
  : parameters:
    - $ref: '#/components/parameters/subscriptionId'
    - $ref: '#/components/parameters/resourceGroupName'
    - name: name
      in: path
      required: true
      description: Name of the resource.
      schema:
        type: string
    - $ref: '#/components/parameters/apiVersion'
    get:
      operationId: getPolicydefinitions
      summary: Azure Policy REST API Get resource
      description: Gets a specific policyDefinitions resource.
      tags:
      - Policy Definitions
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Not found
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: createOrUpdatePolicydefinitions
      summary: Azure Policy REST API Create or update resource
      description: Creates or updates a policyDefinitions resource.
      tags:
      - Policy Definitions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resource'
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '201':
          description: Resource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: updatePolicydefinitions
      summary: Azure Policy REST API Update resource
      description: Updates a policyDefinitions resource.
      tags:
      - Policy Definitions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deletePolicydefinitions
      summary: Azure Policy REST API Delete resource
      description: Deletes a policyDefinitions resource.
      tags:
      - Policy Definitions
      responses:
        '200':
          description: Resource deleted
        '202':
          description: Deletion accepted
        '204':
          description: Resource not found or already deleted
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    subscriptionId:
      name: subscriptionId
      in: path
      required: true
      description: The ID of the target subscription.
      schema:
        type: string
    resourceGroupName:
      name: resourceGroupName
      in: path
      required: true
      description: The name of the resource group.
      schema:
        type: string
    apiVersion:
      name: api-version
      in: query
      required: true
      description: The API version to use for this operation.
      schema:
        type: string
  schemas:
    Resource:
      type: object
      properties:
        id:
          type: string
          description: Resource ID.
        name:
          type: string
          description: Resource name.
        type:
          type: string
          description: Resource type.
        location:
          type: string
          description: Resource location.
        tags:
          type: object
          additionalProperties:
            type: string
        properties:
          type: object
          description: Resource-specific properties.
    ResourceList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        nextLink:
          type: string
          description: URL to the next page of results.
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            target:
              type: string
    Operation:
      type: object
      properties:
        name:
          type: string
        display:
          type: object
          properties:
            provider:
              type: string
            resource:
              type: string
            operation:
              type: string
            description:
              type: string
        isDataAction:
          type: boolean
    OperationList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextLink:
          type: string
  securitySchemes:
    azure_auth:
      type: oauth2
      description: Azure Active Directory OAuth2 Flow.
      flows:
        implicit:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
          scopes:
            user_impersonation: Impersonate your user account
x-generated-from: https://learn.microsoft.com/en-us/rest/api/policy/
x-generated-by: claude-crawl-2026-05-08