Microsoft Azure Cdn Security Policies API

The Security Policies API from Microsoft Azure Cdn — 2 operation(s) for security policies.

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies List security policies in a Front Door profile · Security policies list by profile #
Ask an LLM
“Which security policies are associated with my Azure Front Door profile?”
“Can I see every WAF association on a profile at once?”
Tell an agent
List the security policies in Front Door profile {profile}.
Show every security policy associated with {profile}.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} Get a Front Door security policy · Security policies get #
Ask an LLM
“Which domains and WAF policy does one of my security policies cover?”
“Where can I look up a single security policy by name?”
Tell an agent
Get security policy {policy} in Front Door profile {profile}.
Show the details of security policy {policy} on {profile}.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} Create a Front Door security policy · Security policies create #
Ask an LLM
“How do I attach a WAF policy to my Front Door domains?”
“Can I protect several endpoints and domains with one security policy?”
Tell an agent
Create security policy {policy} in Front Door profile {profile}.
Add a new security policy named {policy} to {profile} with {properties}.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} Update an existing Front Door security policy · Security policies patch #
Ask an LLM
“Can I add more domains to a security policy I already have?”
“How do I change which WAF policy an existing security policy uses?”
Tell an agent
Update existing security policy {policy} in {profile} with {properties}.
Patch the domain associations of security policy {policy} on profile {profile}.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} Delete a Front Door security policy · Security policies delete #
Ask an LLM
“What happens to WAF protection when I delete a security policy?”
“Can I remove a security policy from my profile?”
Tell an agent destructive · confirm first
Delete security policy {policy} from Front Door profile {profile}.
Remove the {policy} security policy from {profile} permanently.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-azure-cdn:microsoft-azure-cdn-security-policies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-azure-cdn-security-policies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CdnManagementClient Security Policies API
  version: '2026-07-01'
  description: Use these APIs to manage Azure Front Door and CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure.
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
servers:
- url: https://management.azure.com
security:
- azure_auth:
  - user_impersonation
tags:
- name: Security Policies
paths:
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies
  : get:
      operationId: SecurityPolicies_ListByProfile
      tags:
      - Security Policies
      description: Lists security policies associated with the profile
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter
      - name: profileName
        in: path
        description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.
        required: true
        schema:
          type: string
          maxLength: 260
          minLength: 1
          pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicyListResult'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        SecurityPolicies_ListByProfile:
          $ref: ./examples/SecurityPolicies_ListByProfile.json
      x-ms-pageable:
        nextLinkName: nextLink
      summary: Security policies list by profile
      x-summary-source: derived
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName}
  : get:
      operationId: SecurityPolicies_Get
      tags:
      - Security Policies
      description: Gets an existing security policy within a profile.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter
      - name: profileName
        in: path
        description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.
        required: true
        schema:
          type: string
          maxLength: 260
          minLength: 1
          pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
      - name: securityPolicyName
        in: path
        description: Name of the security policy under the profile.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicy'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        SecurityPolicies_Get:
          $ref: ./examples/SecurityPolicies_Get.json
      summary: Security policies get
      x-summary-source: derived
    put:
      operationId: SecurityPolicies_Create
      tags:
      - Security Policies
      description: Creates a new security policy within the specified profile.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter
      - name: profileName
        in: path
        description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.
        required: true
        schema:
          type: string
          maxLength: 260
          minLength: 1
          pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
      - name: securityPolicyName
        in: path
        description: Name of the security policy under the profile.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Resource 'SecurityPolicy' update operation succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicy'
        '201':
          description: Resource 'SecurityPolicy' create operation succeeded
          headers:
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicy'
        '202':
          description: The request has been accepted for processing, but processing has not yet completed.
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicy'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        SecurityPolicies_Create:
          $ref: ./examples/SecurityPolicies_Create.json
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
        final-state-schema: '#/definitions/SecurityPolicy'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityPolicy'
        description: The security policy properties.
        required: true
      summary: Security policies create
      x-summary-source: derived
    patch:
      operationId: SecurityPolicies_Patch
      tags:
      - Security Policies
      description: Updates an existing security policy within a profile.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter
      - name: profileName
        in: path
        description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.
        required: true
        schema:
          type: string
          maxLength: 260
          minLength: 1
          pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
      - name: securityPolicyName
        in: path
        description: Name of the security policy under the profile.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicy'
        '202':
          description: The request has been accepted for processing, but processing has not yet completed.
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityPolicy'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        SecurityPolicies_Patch:
          $ref: ./examples/SecurityPolicies_Patch.json
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
        final-state-schema: '#/definitions/SecurityPolicy'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityPolicyUpdateParameters'
        description: Security policy update properties
        required: true
      summary: Security policies patch
      x-summary-source: derived
    delete:
      operationId: SecurityPolicies_Delete
      tags:
      - Security Policies
      description: Deletes an existing security policy within profile.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter
      - name: profileName
        in: path
        description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.
        required: true
        schema:
          type: string
          maxLength: 260
          minLength: 1
          pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
      - name: securityPolicyName
        in: path
        description: Name of the security policy under the profile.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted successfully.
        '202':
          description: Resource deletion accepted.
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
        '204':
          description: Resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        SecurityPolicies_Delete:
          $ref: ./examples/SecurityPolicies_Delete.json
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
      x-ms-long-running-operation: true
      summary: Security policies delete
      x-summary-source: derived
components:
  schemas:
    DeploymentStatus:
      type: string
      enum:
      - NotStarted
      - InProgress
      - Succeeded
      - Failed
      x-ms-enum:
        name: DeploymentStatus
        modelAsString: true
        values:
        - name: NotStarted
          value: NotStarted
        - name: InProgress
          value: InProgress
        - name: Succeeded
          value: Succeeded
        - name: Failed
          value: Failed
    SecurityPolicyUpdateParameters:
      type: object
      description: The JSON object containing security policy update parameters.
      properties:
        properties:
          $ref: '#/components/schemas/SecurityPolicyUpdateProperties'
          description: The json object that contains properties required to update a security policy
          x-ms-client-flatten: true
    SecurityPolicyPropertiesParameters:
      type: object
      description: The json object containing security policy parameters
      properties:
        type:
          $ref: '#/components/schemas/SecurityPolicyType'
          description: The type of the Security policy to create.
      discriminator:
        propertyName: type
      required:
      - type
    SecurityPolicyProperties:
      type: object
      description: The json object that contains properties required to create a security policy
      properties:
        profileName:
          type: string
          description: The name of the profile which holds the security policy.
          readOnly: true
        parameters:
          $ref: '#/components/schemas/SecurityPolicyPropertiesParameters'
          description: object which contains security policy parameters
      allOf:
      - $ref: '#/components/schemas/AFDStateProperties'
    AfdProvisioningState:
      type: string
      description: Provisioning status
      enum:
      - Succeeded
      - Failed
      - Updating
      - Deleting
      - Creating
      x-ms-enum:
        name: AfdProvisioningState
        modelAsString: true
        values:
        - name: Succeeded
          value: Succeeded
        - name: Failed
          value: Failed
        - name: Updating
          value: Updating
        - name: Deleting
          value: Deleting
        - name: Creating
          value: Creating
    SecurityPolicy:
      type: object
      description: SecurityPolicy association for AzureFrontDoor profile
      properties:
        properties:
          $ref: '#/components/schemas/SecurityPolicyProperties'
          description: The json object that contains properties required to create a security policy
          x-ms-client-flatten: true
      allOf:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource
    SecurityPolicyUpdateProperties:
      type: object
      description: The json object that contains properties required to update a security policy
      properties:
        parameters:
          $ref: '#/components/schemas/SecurityPolicyPropertiesParameters'
          description: object which contains security policy parameters
    AFDStateProperties:
      type: object
      description: The tracking states for afd resources.
      properties:
        provisioningState:
          $ref: '#/components/schemas/AfdProvisioningState'
          description: Provisioning status
          readOnly: true
        deploymentStatus:
          $ref: '#/components/schemas/DeploymentStatus'
          readOnly: true
    SecurityPolicyListResult:
      type: object
      description: The response of a SecurityPolicy list operation.
      properties:
        value:
          type: array
          description: The SecurityPolicy items on this page
          items:
            $ref: '#/components/schemas/SecurityPolicy'
        nextLink:
          type: string
          format: uri
          description: The link to the next page of items
      required:
      - value
    SecurityPolicyType:
      type: string
      description: The type of the Security policy to create.
      enum:
      - WebApplicationFirewall
      x-ms-enum:
        name: SecurityPolicyType
        modelAsString: true
        values:
        - name: WebApplicationFirewall
          value: WebApplicationFirewall
  securitySchemes:
    azure_auth:
      type: oauth2
      flows:
        implicit:
          scopes:
            user_impersonation: impersonate your user account
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
      description: Azure Active Directory OAuth2 Flow.