Profile

A profile is a logical grouping of endpoints that share the same settings.

CDNEdgeCachingCloud InfrastructureNetworkingWeb PerformanceMicrosoft AzureContent DeliveryWeb Application Firewall

Properties

Name Type Description
properties object The JSON object that contains the properties required to create a profile.
sku object The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.
kind string Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.
identity object The managed service identities assigned to this resource.
View JSON Schema on GitHub

JSON Schema

microsoft-azure-cdn-profile-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-cdn/json-schema/microsoft-azure-cdn-profile-schema.json",
  "title": "Profile",
  "description": "A profile is a logical grouping of endpoints that share the same settings.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-cdn-profiles-api-openapi.yml#/components/schemas/Profile",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/ProfileProperties",
      "description": "The JSON object that contains the properties required to create a profile.",
      "x-ms-client-flatten": true
    },
    "sku": {
      "$ref": "#/$defs/Sku",
      "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile."
    },
    "kind": {
      "type": "string",
      "description": "Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.",
      "readOnly": true
    },
    "identity": {
      "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity",
      "description": "The managed service identities assigned to this resource."
    }
  },
  "required": [
    "sku"
  ],
  "allOf": [
    {
      "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource"
    }
  ],
  "$defs": {
    "ProfileLogScrubbing": {
      "type": "object",
      "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs.",
      "properties": {
        "state": {
          "$ref": "#/$defs/ProfileScrubbingState",
          "description": "State of the log scrubbing config. Default value is Enabled."
        },
        "scrubbingRules": {
          "type": "array",
          "description": "List of log scrubbing rules applied to the Azure Front Door profile logs.",
          "items": {
            "$ref": "#/$defs/ProfileScrubbingRules"
          },
          "x-ms-identifiers": []
        }
      }
    },
    "ProfileProperties": {
      "type": "object",
      "description": "The JSON object that contains the properties required to create a profile.",
      "properties": {
        "resourceState": {
          "$ref": "#/$defs/ProfileResourceState",
          "description": "Resource status of the profile.",
          "readOnly": true
        },
        "provisioningState": {
          "$ref": "#/$defs/ProfileProvisioningState",
          "description": "Provisioning status of the profile.",
          "readOnly": true
        },
        "extendedProperties": {
          "type": "object",
          "description": "Key-Value pair representing additional properties for profiles.",
          "additionalProperties": {
            "type": "string"
          },
          "readOnly": true
        },
        "frontDoorId": {
          "type": "string",
          "description": "The Id of the frontdoor.",
          "readOnly": true
        },
        "originResponseTimeoutSeconds": {
          "type": "integer",
          "format": "int32",
          "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.",
          "minimum": 16
        },
        "logScrubbing": {
          "$ref": "#/$defs/ProfileLogScrubbing",
          "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs."
        }
      }
    },
    "ProfileProvisioningState": {
      "type": "string",
      "description": "Provisioning status of the profile.",
      "enum": [
        "Succeeded",
        "Failed",
        "Updating",
        "Deleting",
        "Creating"
      ],
      "x-ms-enum": {
        "name": "ProfileProvisioningState",
        "modelAsString": true,
        "values": [
          {
            "name": "Succeeded",
            "value": "Succeeded"
          },
          {
            "name": "Failed",
            "value": "Failed"
          },
          {
            "name": "Updating",
            "value": "Updating"
          },
          {
            "name": "Deleting",
            "value": "Deleting"
          },
          {
            "name": "Creating",
            "value": "Creating"
          }
        ]
      }
    },
    "ProfileResourceState": {
      "type": "string",
      "description": "Resource status of the profile.",
      "enum": [
        "Creating",
        "Active",
        "Deleting",
        "Disabled",
        "Migrating",
        "Migrated",
        "PendingMigrationCommit",
        "CommittingMigration",
        "AbortingMigration"
      ],
      "x-ms-enum": {
        "name": "ProfileResourceState",
        "modelAsString": true,
        "values": [
          {
            "name": "Creating",
            "value": "Creating"
          },
          {
            "name": "Active",
            "value": "Active"
          },
          {
            "name": "Deleting",
            "value": "Deleting"
          },
          {
            "name": "Disabled",
            "value": "Disabled"
          },
          {
            "name": "Migrating",
            "value": "Migrating"
          },
          {
            "name": "Migrated",
            "value": "Migrated"
          },
          {
            "name": "PendingMigrationCommit",
            "value": "PendingMigrationCommit"
          },
          {
            "name": "CommittingMigration",
            "value": "CommittingMigration"
          },
          {
            "name": "AbortingMigration",
            "value": "AbortingMigration"
          }
        ]
      }
    },
    "ProfileScrubbingRules": {
      "type": "object",
      "description": "Defines the contents of the log scrubbing rules.",
      "properties": {
        "matchVariable": {
          "$ref": "#/$defs/ScrubbingRuleEntryMatchVariable",
          "description": "The variable to be scrubbed from the logs."
        },
        "selectorMatchOperator": {
          "$ref": "#/$defs/ScrubbingRuleEntryMatchOperator",
          "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to."
        },
        "selector": {
          "type": "string",
          "description": "When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to."
        },
        "state": {
          "$ref": "#/$defs/ScrubbingRuleEntryState",
          "description": "Defines the state of a log scrubbing rule. Default value is enabled."
        }
      },
      "required": [
        "matchVariable",
        "selectorMatchOperator"
      ]
    },
    "ProfileScrubbingState": {
      "type": "string",
      "description": "State of the log scrubbing config. Default value is Enabled.",
      "enum": [
        "Enabled",
        "Disabled"
      ],
      "x-ms-enum": {
        "name": "ProfileScrubbingState",
        "modelAsString": true,
        "values": [
          {
            "name": "Enabled",
            "value": "Enabled"
          },
          {
            "name": "Disabled",
            "value": "Disabled"
          }
        ]
      }
    },
    "ScrubbingRuleEntryMatchOperator": {
      "type": "string",
      "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to.",
      "enum": [
        "EqualsAny"
      ],
      "x-ms-enum": {
        "name": "ScrubbingRuleEntryMatchOperator",
        "modelAsString": true,
        "values": [
          {
            "name": "EqualsAny",
            "value": "EqualsAny"
          }
        ]
      }
    },
    "ScrubbingRuleEntryMatchVariable": {
      "type": "string",
      "description": "The variable to be scrubbed from the logs.",
      "enum": [
        "RequestIPAddress",
        "RequestUri",
        "QueryStringArgNames"
      ],
      "x-ms-enum": {
        "name": "ScrubbingRuleEntryMatchVariable",
        "modelAsString": true,
        "values": [
          {
            "name": "RequestIPAddress",
            "value": "RequestIPAddress"
          },
          {
            "name": "RequestUri",
            "value": "RequestUri"
          },
          {
            "name": "QueryStringArgNames",
            "value": "QueryStringArgNames"
          }
        ]
      }
    },
    "ScrubbingRuleEntryState": {
      "type": "string",
      "description": "Defines the state of a log scrubbing rule. Default value is enabled.",
      "enum": [
        "Enabled",
        "Disabled"
      ],
      "x-ms-enum": {
        "name": "ScrubbingRuleEntryState",
        "modelAsString": true,
        "values": [
          {
            "name": "Enabled",
            "value": "Enabled"
          },
          {
            "name": "Disabled",
            "value": "Disabled"
          }
        ]
      }
    },
    "Sku": {
      "type": "object",
      "description": "Standard_Verizon = The SKU name for a Standard Verizon CDN profile.\nPremium_Verizon = The SKU name for a Premium Verizon CDN profile.\nCustom_Verizon = The SKU name for a Custom Verizon CDN profile.\nStandard_Akamai = The SKU name for an Akamai CDN profile.\nStandard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using GB based billing model.\nStandard_Microsoft = The SKU name for a Standard Microsoft CDN profile.\nStandard_AzureFrontDoor =  The SKU name for an Azure Front Door Standard profile.\nPremium_AzureFrontDoor = The SKU name for an Azure Front Door Premium profile.\nStandard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using 95-5 peak bandwidth billing model.\nStandard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using monthly average peak bandwidth billing model.\nStandardPlus_ChinaCdn = The SKU name for a China CDN profile for live-streaming using GB based billing model.\nStandardPlus_955BandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing model.\nStandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average peak bandwidth billing model.",
      "properties": {
        "name": {
          "$ref": "#/$defs/SkuName",
          "description": "Name of the pricing tier."
        }
      }
    },
    "SkuName": {
      "type": "string",
      "description": "Name of the pricing tier.",
      "enum": [
        "Standard_Verizon",
        "Premium_Verizon",
        "Custom_Verizon",
        "Standard_Akamai",
        "Standard_ChinaCdn",
        "Standard_Microsoft",
        "Standard_AzureFrontDoor",
        "Premium_AzureFrontDoor",
        "Standard_955BandWidth_ChinaCdn",
        "Standard_AvgBandWidth_ChinaCdn",
        "StandardPlus_ChinaCdn",
        "StandardPlus_955BandWidth_ChinaCdn",
        "StandardPlus_AvgBandWidth_ChinaCdn"
      ],
      "x-ms-enum": {
        "name": "SkuName",
        "modelAsString": true,
        "values": [
          {
            "name": "Standard_Verizon",
            "value": "Standard_Verizon"
          },
          {
            "name": "Premium_Verizon",
            "value": "Premium_Verizon"
          },
          {
            "name": "Custom_Verizon",
            "value": "Custom_Verizon"
          },
          {
            "name": "Standard_Akamai",
            "value": "Standard_Akamai"
          },
          {
            "name": "Standard_ChinaCdn",
            "value": "Standard_ChinaCdn"
          },
          {
            "name": "Standard_Microsoft",
            "value": "Standard_Microsoft"
          },
          {
            "name": "Standard_AzureFrontDoor",
            "value": "Standard_AzureFrontDoor"
          },
          {
            "name": "Premium_AzureFrontDoor",
            "value": "Premium_AzureFrontDoor"
          },
          {
            "name": "Standard_955BandWidth_ChinaCdn",
            "value": "Standard_955BandWidth_ChinaCdn"
          },
          {
            "name": "Standard_AvgBandWidth_ChinaCdn",
            "value": "Standard_AvgBandWidth_ChinaCdn"
          },
          {
            "name": "StandardPlus_ChinaCdn",
            "value": "StandardPlus_ChinaCdn"
          },
          {
            "name": "StandardPlus_955BandWidth_ChinaCdn",
            "value": "StandardPlus_955BandWidth_ChinaCdn"
          },
          {
            "name": "StandardPlus_AvgBandWidth_ChinaCdn",
            "value": "StandardPlus_AvgBandWidth_ChinaCdn"
          }
        ]
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-azure-cdn-profile"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.