Azure CDN Management API (Microsoft.Cdn)

The contract Microsoft publishes for the Microsoft.Cdn resource provider, harvested verbatim from Azure/azure-rest-api-specs at api-version 2026-07-01. Swagger 2.0, 73 paths, 115 operations, 387 definitions, 16 tags, 56 long-running operations, 26 paged operations, and 123 provider-published request/response examples.

Operations 115

POST /providers/Microsoft.Cdn/checkNameAvailability #
GET /providers/Microsoft.Cdn/edgenodes #
GET /providers/Microsoft.Cdn/operations #
GET /subscriptions/{subscriptionId}/providers/Microsoft.Cdn/cdnWebApplicationFirewallManagedRuleSets #
POST /subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability #
POST /subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage #
GET /subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles #
POST /subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/canMigrate #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/checkEndpointNameAvailability #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/migrate #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/purge #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/usages #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/validateCustomDomain #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/cdnCanMigrateToAfd #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/cdnMigrateToAfd #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkEndpointNameAvailability #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkHostNameAvailability #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}/refreshValidationToken #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName} #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsLocations #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsMetrics #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsRankings #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsResources #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsMetrics #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsRankings #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/migrationAbort #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/migrationCommit #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/usages #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/usages #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/upgrade #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/usages #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/validateSecret #

Documentation

Specifications

Other Resources

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-management-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-management-openapi.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "title": "CdnManagementClient",
    "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"
      }
    ]
  },
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "produces": [
    "application/json"
  ],
  "consumes": [
    "application/json"
  ],
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "securityDefinitions": {
    "azure_auth": {
      "type": "oauth2",
      "description": "Azure Active Directory OAuth2 Flow.",
      "flow": "implicit",
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      }
    }
  },
  "tags": [
    {
      "name": "Operations"
    },
    {
      "name": "AFDDomains"
    },
    {
      "name": "Profiles"
    },
    {
      "name": "AFDEndpoints"
    },
    {
      "name": "AFDOriginGroups"
    },
    {
      "name": "AFDOrigins"
    },
    {
      "name": "Routes"
    },
    {
      "name": "RuleSets"
    },
    {
      "name": "Rules"
    },
    {
      "name": "SecurityPolicies"
    },
    {
      "name": "Secrets"
    },
    {
      "name": "Endpoints"
    },
    {
      "name": "Origins"
    },
    {
      "name": "OriginGroups"
    },
    {
      "name": "CustomDomains"
    },
    {
      "name": "CdnWebApplicationFirewallPolicies"
    }
  ],
  "paths": {
    "/providers/Microsoft.Cdn/checkNameAvailability": {
      "post": {
        "operationId": "CheckNameAvailability",
        "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "name": "checkNameAvailabilityInput",
            "in": "body",
            "description": "The request body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityOutput"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "CheckNameAvailability": {
            "$ref": "./examples/CheckNameAvailability.json"
          }
        }
      }
    },
    "/providers/Microsoft.Cdn/edgenodes": {
      "get": {
        "operationId": "EdgeNodes_List",
        "description": "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/EdgenodeResult"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "EdgeNodes_List": {
            "$ref": "./examples/EdgeNodes_List.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/providers/Microsoft.Cdn/operations": {
      "get": {
        "operationId": "Operations_List",
        "tags": [
          "Operations"
        ],
        "description": "List the operations for the provider",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/OperationsListResult"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Operations_List": {
            "$ref": "./examples/Operations_List.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/cdnWebApplicationFirewallManagedRuleSets": {
      "get": {
        "operationId": "ManagedRuleSets_List",
        "description": "Lists all available managed rule sets.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/ManagedRuleSetDefinitionList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "List Policies in a Resource Group": {
            "$ref": "./examples/WafListManagedRuleSets.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability": {
      "post": {
        "operationId": "CheckNameAvailabilityWithSubscription",
        "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          },
          {
            "name": "checkNameAvailabilityInput",
            "in": "body",
            "description": "The request body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityOutput"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "CheckNameAvailabilityWithSubscription": {
            "$ref": "./examples/CheckNameAvailabilityWithSubscription.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage": {
      "post": {
        "operationId": "ResourceUsage_List",
        "description": "Check the quota and actual usage of the CDN profiles under the given subscription.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/ResourceUsageListResult"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "ResourceUsage_List": {
            "$ref": "./examples/ResourceUsage_List.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles": {
      "get": {
        "operationId": "Profiles_List",
        "tags": [
          "Profiles"
        ],
        "description": "Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure subscription.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ProfileListResult"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Profiles_List": {
            "$ref": "./examples/Profiles_List.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe": {
      "post": {
        "operationId": "ValidateProbe",
        "description": "Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          },
          {
            "name": "validateProbeInput",
            "in": "body",
            "description": "The request body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ValidateProbeInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/ValidateProbeOutput"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "ValidateProbe": {
            "$ref": "./examples/ValidateProbe.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/canMigrate": {
      "post": {
        "operationId": "Profiles_CanMigrate",
        "description": "Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          },
          {
            "name": "canMigrateParameters",
            "in": "body",
            "description": "Properties needed to check if cdn profile or classic frontdoor can be migrated.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CanMigrateParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/CanMigrateResult"
            }
          },
          "202": {
            "description": "The request has been accepted for processing, but processing has not yet completed.",
            "headers": {
              "Location": {
                "type": "string",
                "description": "The Location header contains the URL where the status of the long running operation can be checked."
              },
              "Retry-After": {
                "type": "integer",
                "format": "int32",
                "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Profiles_CanMigrate": {
            "$ref": "./examples/Profiles_CanMigrate.json"
          }
        },
        "x-ms-long-running-operation-options": {
          "final-state-via": "location",
          "final-state-schema": "#/definitions/CanMigrateResult"
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies": {
      "get": {
        "operationId": "Policies_List",
        "tags": [
          "CdnWebApplicationFirewallPolicies"
        ],
        "description": "Lists all of the protection policies within a resource group.",
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicyList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "List Policies in a Resource Group": {
            "$ref": "./examples/WafListPolicies.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName}": {
      "get": {
        "operationId": "Policies_Get",
        "tags": [
          "CdnWebApplicationFirewallPolicies"
        ],
        "description": "Retrieve protection policy with specified name within a resource group.",
        "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": "policyName",
            "in": "path",
            "description": "The name of the CdnWebApplicationFirewallPolicy.",
            "required": true,
            "type": "string",
            "maxLength": 128
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Get Policy": {
            "$ref": "./examples/WafPolicyGet.json"
          }
        }
      },
      "put": {
        "operationId": "Policies_CreateOrUpdate",
        "tags": [
          "CdnWebApplicationFirewallPolicies"
        ],
        "description": "Create or update policy with specified rule set name within a resource group.",
        "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": "policyName",
            "in": "path",
            "description": "The name of the CdnWebApplicationFirewallPolicy.",
            "required": true,
            "type": "string",
            "maxLength": 128
          },
          {
            "name": "cdnWebApplicationFirewallPolicy",
            "in": "body",
            "description": "Policy to be created.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resource 'CdnWebApplicationFirewallPolicy' update operation succeeded",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            }
          },
          "201": {
            "description": "Resource 'CdnWebApplicationFirewallPolicy' create operation succeeded",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            },
            "headers": {
              "Retry-After": {
                "type": "integer",
                "format": "int32",
                "description": "The Retry-After header can indicate how long the client should wait before polling the operation status."
              }
            }
          },
          "202": {
            "description": "The request has been accepted for processing, but processing has not yet completed.",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            },
            "headers": {
              "Location": {
                "type": "string",
                "description": "The Location header contains the URL where the status of the long running operation can be checked."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Creates specific policy": {
            "$ref": "./examples/WafPolicyCreateOrUpdate.json"
          }
        },
        "x-ms-long-running-operation-options": {
          "final-state-via": "location",
          "final-state-schema": "#/definitions/CdnWebApplicationFirewallPolicy"
        },
        "x-ms-long-running-operation": true
      },
      "patch": {
        "operationId": "Policies_Update",
        "tags": [
          "CdnWebApplicationFirewallPolicies"
        ],
        "description": "Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified subscription and resource group",
        "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": "policyName",
            "in": "path",
            "description": "The name of the CdnWebApplicationFirewallPolicy.",
            "required": true,
            "type": "string",
            "maxLength": 128
          },
          {
            "name": "cdnWebApplicationFirewallPolicyPatchParameters",
            "in": "body",
            "description": "CdnWebApplicationFirewallPolicy parameters to be patched.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicyPatchParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            }
          },
          "202": {
            "description": "The request has been accepted for processing, but processing has not yet completed.",
            "schema": {
              "$ref": "#/definitions/CdnWebApplicationFirewallPolicy"
            },
            "headers": {
              "Location": {
                "type": "string",
                "description": "The Location header contains the URL where the status of the long running operation can be checked."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Creates specific policy": {
            "$ref": "./examples/WafPatchPolicy.json"
          }
        },
        "x-ms-long-running-operation-options": {
          "final-state-via": "location",
          "final-state-schema": "#/definitions/CdnWebApplicationFirewallPolicy"
        },
        "x-ms-long-running-operation": true
      },
      "delete": {
        "operationId": "Policies_Delete",
        "tags": [
          "CdnWebApplicationFirewallPolicies"
        ],
        "description": "Deletes Policy",
        "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": "policyName",
            "in": "path",
            "description": "The name of the CdnWebApplicationFirewallPolicy.",
            "required": true,
            "type": "string",
            "maxLength": 128
          }
        ],
        "responses": {
          "200": {
            "description": "Resource deleted successfully."
          },
          "204": {
            "description": "Resource does not exist."
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Delete protection policy": {
            "$ref": "./examples/WafPolicyDelete.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/checkEndpointNameAvailability": {
      "post": {
        "operationId": "CheckEndpointNameAvailability",
        "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a afdx endpoint.",
        "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": "checkEndpointNameAvailabilityInput",
            "in": "body",
            "description": "Input to check.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckEndpointNameAvailabilityInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "CheckEndpointNameAvailability": {
            "$ref": "./examples/CheckEndpointNameAvailability.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/migrate": {
      "post": {
        "operationId": "Profiles_Migrate",
        "description": "Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.",
        "parameters": [
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter"
          },
          {
            "name": "migrationParameters",
            "in": "body",
            "description": "Properties needed to migrate the profile.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MigrationParameters"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/MigrateResult"
            }
          },
          "202": {
            "description": "The request has been accepted for processing, but processing has not yet completed.",
            "schema": {
              "$ref": "#/definitions/MigrateResult"
            },
            "headers": {
              "Location": {
                "type": "string",
                "description": "The Location header contains the URL where the status of the long running operation can be checked."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Profiles_Migrate": {
            "$ref": "./examples/Profiles_Migrate.json"
          }
        },
        "x-ms-long-running-operation-options": {
          "final-state-via": "location",
          "final-state-schema": "#/definitions/MigrateResult"
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles": {
      "get": {
        "operationId": "Profiles_ListByResourceGroup",
        "tags": [
          "Profiles"
        ],
        "description": "Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.",
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "Azure operation completed successfully.",
            "schema": {
              "$ref": "#/definitions/ProfileListResult"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse"
            }
          }
        },
        "x-ms-examples": {
          "Profiles_ListByResourceGroup": {
            "$ref": "./examples/Profiles_ListByResourceGroup.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}": {
      "get": {
        "operationId": "Profiles_Get",
        "tags": [
          "Profiles"
        ],
        "description": "Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name under the specified subscription and resource group.",
        "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,
            "type": "string",
            "minLength": 1,
          

# --- truncated at 32 KB (618 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure-cdn/refs/heads/main/openapi/microsoft-azure-cdn-management-openapi.json