Microsoft Azure Cdn Rules API

The Rules API from Microsoft Azure Cdn — 2 operation(s) for rules.

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}/ruleSets/{ruleSetName}/rules List delivery rules in a rule set · Rules list by rule set #
Ask an LLM
“Which delivery rules are inside one of my Front Door rule sets?”
“Can I see the order of every rule in a rule set?”
Tell an agent
List the delivery rules in rule set {ruleset} of profile {profile}.
Show all rules defined inside {ruleset} on {profile}.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} Get a delivery rule · Rules get #
Ask an LLM
“What conditions and actions does one of my delivery rules apply?”
“Where do I look up a single rule in a Front Door rule set?”
Tell an agent
Get delivery rule {rule} from rule set {ruleset} in profile {profile}.
Show the conditions and actions of rule {rule} in {ruleset}, profile {profile}.
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} Add a delivery rule to a rule set · Rules create #
Ask an LLM
“How do I add a header rewrite or redirect rule on Azure Front Door?”
“Can I set the order a new rule runs in within its rule set?”
Tell an agent
Create delivery rule {rule} in rule set {ruleset} of profile {profile}.
Add a new rule named {rule} to {ruleset} on {profile} with {properties}.
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} Update an existing delivery rule · Rules update #
Ask an LLM
“Can I change the conditions or actions of a rule I already created?”
“How do I reorder an existing delivery rule?”
Tell an agent
Update existing delivery rule {rule} in {ruleset} of {profile} with {properties}.
Patch the actions of rule {rule} inside rule set {ruleset}, profile {profile}.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} Delete a delivery rule · Rules delete #
Ask an LLM
“Can I remove one rule without deleting its whole rule set?”
“What happens to traffic once a delivery rule is deleted?”
Tell an agent destructive · confirm first
Delete delivery rule {rule} from rule set {ruleset} in profile {profile}.
Remove rule {rule} out of {ruleset} on {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-rules-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-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CdnManagementClient Rules 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: Rules
paths:
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules
  : get:
      operationId: Rules_ListByRuleSet
      tags:
      - Rules
      description: Lists all of the existing delivery rules within a rule set.
      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: ruleSetName
        in: path
        description: Name of the rule set under the profile which is unique globally.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleListResult'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        Rules_ListByRuleSet:
          $ref: ./examples/Rules_ListByRuleSet.json
      x-ms-pageable:
        nextLinkName: nextLink
      summary: Rules list by rule set
      x-summary-source: derived
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}
  : get:
      operationId: Rules_Get
      tags:
      - Rules
      description: Gets an existing delivery rule within a rule set.
      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: ruleSetName
        in: path
        description: Name of the rule set under the profile which is unique globally.
        required: true
        schema:
          type: string
      - name: ruleName
        in: path
        description: Name of the delivery rule which is unique within the endpoint.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        Rules_Get:
          $ref: ./examples/Rules_Get.json
      summary: Rules get
      x-summary-source: derived
    put:
      operationId: Rules_Create
      tags:
      - Rules
      description: Creates a new delivery rule within the specified rule set.
      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: ruleSetName
        in: path
        description: Name of the rule set under the profile which is unique globally.
        required: true
        schema:
          type: string
      - name: ruleName
        in: path
        description: Name of the delivery rule which is unique within the endpoint.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Resource 'Rule' update operation succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
        '201':
          description: Resource 'Rule' 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/Rule'
        '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/Rule'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        Rules_Create:
          $ref: ./examples/Rules_Create.json
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
        final-state-schema: '#/definitions/Rule'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Rule'
        description: The delivery rule properties.
        required: true
      summary: Rules create
      x-summary-source: derived
    patch:
      operationId: Rules_Update
      tags:
      - Rules
      description: Updates an existing delivery rule within a rule set.
      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: ruleSetName
        in: path
        description: Name of the rule set under the profile which is unique globally.
        required: true
        schema:
          type: string
      - name: ruleName
        in: path
        description: Name of the delivery rule which is unique within the endpoint.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rule'
        '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/Rule'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse
      x-ms-examples:
        Rules_Update:
          $ref: ./examples/Rules_Update.json
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
        final-state-schema: '#/definitions/Rule'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuleUpdateParameters'
        description: Delivery rule properties
        required: true
      summary: Rules update
      x-summary-source: derived
    delete:
      operationId: Rules_Delete
      tags:
      - Rules
      description: Deletes an existing delivery rule within a rule set.
      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: ruleSetName
        in: path
        description: Name of the rule set under the profile which is unique globally.
        required: true
        schema:
          type: string
      - name: ruleName
        in: path
        description: Name of the delivery rule which is unique within the endpoint.
        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:
        Rules_Delete:
          $ref: ./examples/Rules_Delete.json
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
      x-ms-long-running-operation: true
      summary: Rules delete
      x-summary-source: derived
components:
  schemas:
    RuleUpdateParameters:
      type: object
      description: The domain JSON object required for domain creation or update.
      properties:
        properties:
          $ref: '#/components/schemas/RuleUpdatePropertiesParameters'
          description: The JSON object that contains the properties of the rule to update.
          x-ms-client-flatten: true
    DeliveryRuleAction:
      type: object
      description: An action for the delivery rule.
      properties:
        name:
          $ref: '#/components/schemas/DeliveryRuleActionName'
          description: The name of the action for the delivery rule.
      discriminator:
        propertyName: name
      required:
      - name
    DeliveryRuleActionName:
      type: string
      description: The name of the action for the delivery rule.
      enum:
      - CacheExpiration
      - CacheKeyQueryString
      - ModifyRequestHeader
      - ModifyResponseHeader
      - UrlRedirect
      - UrlRewrite
      - UrlSigning
      - OriginGroupOverride
      - RouteConfigurationOverride
      - EdgeAction
      - AfdUrlSigning
      x-ms-enum:
        name: DeliveryRuleActionName
        modelAsString: true
        values:
        - name: CacheExpiration
          value: CacheExpiration
        - name: CacheKeyQueryString
          value: CacheKeyQueryString
        - name: ModifyRequestHeader
          value: ModifyRequestHeader
        - name: ModifyResponseHeader
          value: ModifyResponseHeader
        - name: UrlRedirect
          value: UrlRedirect
        - name: UrlRewrite
          value: UrlRewrite
        - name: UrlSigning
          value: UrlSigning
        - name: OriginGroupOverride
          value: OriginGroupOverride
        - name: RouteConfigurationOverride
          value: RouteConfigurationOverride
        - name: EdgeAction
          value: EdgeAction
        - name: AfdUrlSigning
          value: AfdUrlSigning
    Rule:
      type: object
      description: Friendly Rules name mapping to the any Rules or secret related information.
      properties:
        properties:
          $ref: '#/components/schemas/RuleProperties'
          description: The JSON object that contains the properties of the Rules to create.
          x-ms-client-flatten: true
      allOf:
      - $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource
    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
    RuleListResult:
      type: object
      description: The response of a Rule list operation.
      properties:
        value:
          type: array
          description: The Rule items on this page
          items:
            $ref: '#/components/schemas/Rule'
        nextLink:
          type: string
          format: uri
          description: The link to the next page of items
      required:
      - value
    DeliveryRuleCondition:
      type: object
      description: A condition for the delivery rule.
      properties:
        name:
          $ref: '#/components/schemas/MatchVariable'
          description: The name of the condition for the delivery rule.
      discriminator:
        propertyName: name
      required:
      - name
    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
    RuleUpdatePropertiesParameters:
      type: object
      description: The JSON object that contains the properties of the rule to update.
      properties:
        ruleSetName:
          type: string
          description: The name of the rule set containing the rule.
          readOnly: true
        order:
          type: integer
          format: int32
          description: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.
        conditions:
          type: array
          description: A list of conditions that must be matched for the actions to be executed
          items:
            $ref: '#/components/schemas/DeliveryRuleCondition'
          x-ms-identifiers:
          - name
        actions:
          type: array
          description: A list of actions that are executed when all the conditions of a rule are satisfied.
          items:
            $ref: '#/components/schemas/DeliveryRuleAction'
          x-ms-identifiers:
          - name
        matchProcessingBehavior:
          type: string
          description: If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
          default: Continue
          enum:
          - Continue
          - Stop
          x-ms-enum:
            name: MatchProcessingBehavior
            modelAsString: true
            values:
            - name: Continue
              value: Continue
            - name: Stop
              value: Stop
    RuleProperties:
      type: object
      description: The JSON object that contains the properties of the Rules to create.
      properties:
        ruleSetName:
          type: string
          description: The name of the rule set containing the rule.
          readOnly: true
        order:
          type: integer
          format: int32
          description: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.
        conditions:
          type: array
          description: A list of conditions that must be matched for the actions to be executed
          items:
            $ref: '#/components/schemas/DeliveryRuleCondition'
          x-ms-identifiers:
          - name
        actions:
          type: array
          description: A list of actions that are executed when all the conditions of a rule are satisfied.
          items:
            $ref: '#/components/schemas/DeliveryRuleAction'
          x-ms-identifiers:
          - name
        matchProcessingBehavior:
          type: string
          description: If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.
          default: Continue
          enum:
          - Continue
          - Stop
          x-ms-enum:
            name: MatchProcessingBehavior
            modelAsString: true
            values:
            - name: Continue
              value: Continue
            - name: Stop
              value: Stop
        provisioningState:
          $ref: '#/components/schemas/AfdProvisioningState'
          description: Provisioning status
          readOnly: true
        deploymentStatus:
          $ref: '#/components/schemas/DeploymentStatus'
          readOnly: true
    MatchVariable:
      type: string
      description: Request variable to compare with.
      enum:
      - RemoteAddress
      - RequestMethod
      - QueryString
      - PostArgs
      - RequestUri
      - RequestHeader
      - RequestBody
      - RequestScheme
      - UrlPath
      - UrlFileExtension
      - UrlFileName
      - HttpVersion
      - Cookies
      - IsDevice
      - SocketAddr
      - ClientPort
      - ServerPort
      - HostName
      - SslProtocol
      x-ms-enum:
        name: MatchVariable
        modelAsString: true
        values:
        - name: RemoteAddress
          value: RemoteAddress
        - name: RequestMethod
          value: RequestMethod
        - name: QueryString
          value: QueryString
        - name: PostArgs
          value: PostArgs
        - name: RequestUri
          value: RequestUri
        - name: RequestHeader
          value: RequestHeader
        - name: RequestBody
          value: RequestBody
        - name: RequestScheme
          value: RequestScheme
        - name: UrlPath
          value: UrlPath
        - name: UrlFileExtension
          value: UrlFileExtension
        - name: UrlFileName
          value: UrlFileName
        - name: HttpVersion
          value: HttpVersion
        - name: Cookies
          value: Cookies
        - name: IsDevice
          value: IsDevice
        - name: SocketAddr
          value: SocketAddr
        - name: ClientPort
          value: ClientPort
        - name: ServerPort
          value: ServerPort
        - name: HostName
          value: HostName
        - name: SslProtocol
          value: SslProtocol
  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.