openapi: 3.2.0 info: title: CdnManagementClient AFD Endpoints 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: AFDEndpoints paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints : get: operationId: AFDEndpoints_ListByProfile tags: - AFDEndpoints description: Lists existing AzureFrontDoor endpoints. parameters: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter - name: profileName in: path description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group. required: true schema: type: string maxLength: 260 minLength: 1 pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ responses: '200': description: Azure operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/AFDEndpointListResult' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: AFDEndpoints_ListByProfile: $ref: ./examples/AFDEndpoints_ListByProfile.json x-ms-pageable: nextLinkName: nextLink summary: AFD endpoints list by profile x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} : get: operationId: AFDEndpoints_Get tags: - AFDEndpoints description: Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. parameters: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter - name: profileName in: path description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group. required: true schema: type: string maxLength: 260 minLength: 1 pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ - name: endpointName in: path description: Name of the endpoint 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/AFDEndpoint' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: AFDEndpoints_Get: $ref: ./examples/AFDEndpoints_Get.json summary: AFD endpoints get x-summary-source: derived put: operationId: AFDEndpoints_Create tags: - AFDEndpoints description: Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. parameters: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter - name: profileName in: path description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group. required: true schema: type: string maxLength: 260 minLength: 1 pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ - name: endpointName in: path description: Name of the endpoint under the profile which is unique globally. required: true schema: type: string responses: '200': description: Resource 'AFDEndpoint' update operation succeeded content: application/json: schema: $ref: '#/components/schemas/AFDEndpoint' '201': description: Resource 'AFDEndpoint' 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/AFDEndpoint' '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 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/AFDEndpoint' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: AFDEndpoints_Create: $ref: ./examples/AFDEndpoints_Create.json x-ms-long-running-operation-options: final-state-via: azure-async-operation final-state-schema: '#/definitions/AFDEndpoint' x-ms-long-running-operation: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AFDEndpoint' description: Endpoint properties required: true summary: AFD endpoints create x-summary-source: derived patch: operationId: AFDEndpoints_Update tags: - AFDEndpoints description: Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use the Update Custom Domain operation. 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: endpointName in: path description: Name of the endpoint 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/AFDEndpoint' '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/AFDEndpoint' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: AFDEndpoints_Update: $ref: ./examples/AFDEndpoints_Update.json x-ms-long-running-operation-options: final-state-via: azure-async-operation final-state-schema: '#/definitions/AFDEndpoint' x-ms-long-running-operation: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AFDEndpointUpdateParameters' description: Endpoint update properties required: true summary: AFD endpoints update x-summary-source: derived delete: operationId: AFDEndpoints_Delete tags: - AFDEndpoints description: Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. parameters: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter - name: profileName in: path description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group. required: true schema: type: string maxLength: 260 minLength: 1 pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ - name: endpointName in: path description: Name of the endpoint under the profile which is unique globally. 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 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: AFDEndpoints_Delete: $ref: ./examples/AFDEndpoints_Delete.json x-ms-long-running-operation-options: final-state-via: azure-async-operation x-ms-long-running-operation: true summary: AFD endpoints delete x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/purge : post: operationId: AFDEndpoints_PurgeContent tags: - AFDEndpoints description: Removes a content from AzureFrontDoor. 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: endpointName in: path description: Name of the endpoint under the profile which is unique globally. required: true schema: type: string responses: '200': description: The request has succeeded. '202': description: Resource operation 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 default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: AFDEndpoints_PurgeContent: $ref: ./examples/AFDEndpoints_PurgeContent.json x-ms-long-running-operation-options: final-state-via: azure-async-operation x-ms-long-running-operation: true requestBody: content: application/json: schema: $ref: '#/components/schemas/AfdPurgeParameters' description: The list of paths to the content and the list of linked domains to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory. required: true summary: AFD endpoints purge content x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/usages : post: operationId: AFDEndpoints_ListResourceUsage tags: - AFDEndpoints description: Checks the quota and actual usage of endpoints under the given Azure Front Door profile. parameters: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter - name: profileName in: path description: Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group. required: true schema: type: string maxLength: 260 minLength: 1 pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$ - name: endpointName in: path description: Name of the endpoint 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/UsagesListResult' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: AFDEndpoints_ListResourceUsage: $ref: ./examples/AFDEndpoints_ListResourceUsage.json x-ms-pageable: nextLinkName: nextLink summary: AFD endpoints list resource usage x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/validateCustomDomain : post: operationId: AFDEndpoints_ValidateCustomDomain tags: - AFDEndpoints description: Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS. 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: endpointName in: path description: Name of the endpoint 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/ValidateCustomDomainOutput' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: Endpoints_ValidateCustomDomain: $ref: ./examples/AFDEndpoints_ValidateCustomDomain.json requestBody: content: application/json: schema: $ref: '#/components/schemas/ValidateCustomDomainInput' description: Custom domain to be validated. required: true summary: AFD endpoints validate custom domain x-summary-source: derived components: schemas: AutoGeneratedDomainNameLabelScope: type: string description: Indicates the endpoint name reuse scope. The default value is TenantReuse. enum: - TenantReuse - SubscriptionReuse - ResourceGroupReuse - NoReuse x-ms-enum: name: AutoGeneratedDomainNameLabelScope modelAsString: true values: - name: TenantReuse value: TenantReuse - name: SubscriptionReuse value: SubscriptionReuse - name: ResourceGroupReuse value: ResourceGroupReuse - name: NoReuse value: NoReuse AfdPurgeParameters: type: object description: Parameters required for content purge. properties: contentPaths: type: array description: The path to the content to be purged. Can describe a file path or a wild card directory. items: type: string domains: type: array description: List of domains. items: type: string required: - contentPaths ValidateCustomDomainOutput: type: object description: Output of custom domain validation. properties: customDomainValidated: type: boolean description: Indicates whether the custom domain is valid or not. readOnly: true reason: type: string description: The reason why the custom domain is not valid. readOnly: true message: type: string description: Error message describing why the custom domain is not valid. readOnly: true AFDEndpointUpdateParameters: type: object description: Properties required to create or update an endpoint. properties: tags: type: object description: Endpoint tags. additionalProperties: type: string properties: $ref: '#/components/schemas/AFDEndpointPropertiesUpdateParameters' description: The JSON object containing endpoint update parameters. x-ms-client-flatten: true UsageUnit: type: string description: An enum describing the unit of measurement. enum: - Count x-ms-enum: name: UsageUnit modelAsString: true values: - name: Count value: Count ValidateCustomDomainInput: type: object description: Input of the custom domain to be validated for DNS mapping. properties: hostName: type: string description: The host name of the custom domain. Must be a domain name. required: - hostName 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 UsagesListResult: type: object description: The list usages operation response. properties: value: type: array description: The Usage items on this page items: $ref: '#/components/schemas/Usage' nextLink: type: string format: uri description: The link to the next page of items required: - value Usage: type: object description: Describes resource usage. properties: id: type: string description: Resource identifier. readOnly: true unit: $ref: '#/components/schemas/UsageUnit' description: An enum describing the unit of measurement. currentValue: type: integer format: int64 description: The current value of the usage. limit: type: integer format: int64 description: The limit of usage. name: $ref: '#/components/schemas/UsageName' description: The name of the type of usage. required: - unit - currentValue - limit - name EnabledState: type: string description: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' enum: - Enabled - Disabled x-ms-enum: name: EnabledState modelAsString: true values: - name: Enabled value: Enabled - name: Disabled value: Disabled AFDEndpointPropertiesUpdateParameters: type: object description: The JSON object containing endpoint update parameters. properties: profileName: type: string description: The name of the profile which holds the endpoint. readOnly: true enabledState: $ref: '#/components/schemas/EnabledState' description: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' enforceMtls: $ref: '#/components/schemas/EnforceMtlsEnabledState' description: Set to Disabled by default. If set to Enabled, only custom domains with mTLS enabled can be added to child Route resources. 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 AFDEndpointProperties: type: object description: The JSON object that contains the properties required to create an endpoint. properties: profileName: type: string description: The name of the profile which holds the endpoint. readOnly: true enabledState: $ref: '#/components/schemas/EnabledState' description: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' enforceMtls: $ref: '#/components/schemas/EnforceMtlsEnabledState' description: Set to Disabled by default. If set to Enabled, only custom domains with mTLS enabled can be added to child Route resources. provisioningState: $ref: '#/components/schemas/AfdProvisioningState' description: Provisioning status readOnly: true deploymentStatus: $ref: '#/components/schemas/DeploymentStatus' readOnly: true hostName: type: string description: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net readOnly: true autoGeneratedDomainNameLabelScope: $ref: '#/components/schemas/AutoGeneratedDomainNameLabelScope' description: Indicates the endpoint name reuse scope. The default value is TenantReuse. AFDEndpointListResult: type: object description: The response of a AFDEndpoint list operation. properties: value: type: array description: The AFDEndpoint items on this page items: $ref: '#/components/schemas/AFDEndpoint' nextLink: type: string format: uri description: The link to the next page of items required: - value AFDEndpoint: type: object description: Azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration information such as origin, protocol, content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format .azureedge.net. properties: properties: $ref: '#/components/schemas/AFDEndpointProperties' description: The JSON object that contains the properties required to create an endpoint. x-ms-client-flatten: true allOf: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource EnforceMtlsEnabledState: type: string description: Set to Disabled by default. If set to Enabled, only custom domains with mTLS enabled can be added to child Route resources. enum: - Enabled - Disabled x-ms-enum: name: EnforceMtlsEnabledState modelAsString: true values: - name: Enabled value: Enabled - name: Disabled value: Disabled UsageName: type: object description: The usage names. properties: value: type: string description: A string describing the resource name. localizedValue: type: string description: A localized string describing the resource name. 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.