openapi: 3.2.0 info: title: CdnManagementClient Custom Domains 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: Custom Domains paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains : get: operationId: CustomDomains_ListByEndpoint tags: - Custom Domains description: Lists all of the existing custom domains within an 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: 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/CustomDomainListResult' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: CustomDomains_ListByEndpoint: $ref: ./examples/CustomDomains_ListByEndpoint.json x-ms-pageable: nextLinkName: nextLink summary: Custom domains list by endpoint x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName} : get: operationId: CustomDomains_Get tags: - Custom Domains description: Gets an existing custom domain within an 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: 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 - name: customDomainName in: path description: Name of the custom domain within an endpoint. required: true schema: type: string responses: '200': description: Azure operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/CustomDomain' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: CustomDomains_Get: $ref: ./examples/CustomDomains_Get.json summary: Custom domains get x-summary-source: derived put: operationId: CustomDomains_Create tags: - Custom Domains description: Creates a new custom domain within an 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: 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 - name: customDomainName in: path description: Name of the custom domain within an endpoint. required: true schema: type: string responses: '200': description: Resource 'CustomDomain' update operation succeeded content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '201': description: Resource 'CustomDomain' create operation succeeded headers: 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/CustomDomain' '202': description: The request has been accepted for processing, but processing has not yet completed. headers: 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/CustomDomain' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: CustomDomains_Create: $ref: ./examples/CustomDomains_Create.json x-ms-long-running-operation-options: final-state-via: location final-state-schema: '#/definitions/CustomDomain' x-ms-long-running-operation: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainParameters' description: Properties required to create a new custom domain. required: true summary: Custom domains create x-summary-source: derived delete: operationId: CustomDomains_Delete tags: - Custom Domains description: Deletes an existing custom domain within an 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: 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 - name: customDomainName in: path description: Name of the custom domain within an endpoint. required: true schema: type: string responses: '200': description: Resource deleted successfully. '202': description: The request has been accepted for processing, but processing has not yet completed. headers: 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/CustomDomain' '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: CustomDomains_Delete: $ref: ./examples/CustomDomains_Delete.json x-ms-long-running-operation-options: final-state-via: location final-state-schema: '#/definitions/CustomDomain' x-ms-long-running-operation: true summary: Custom domains delete x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps : post: operationId: CustomDomains_DisableCustomHttps tags: - Custom Domains description: Disable https delivery of the custom domain. 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 - name: customDomainName in: path description: Name of the custom domain within an endpoint. required: true schema: type: string responses: '200': description: Azure operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '202': description: The request has been accepted for processing, but processing has not yet completed. headers: 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/CustomDomain' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: CustomDomains_DisableCustomHttps: $ref: ./examples/CustomDomains_DisableCustomHttps.json x-ms-long-running-operation-options: final-state-via: location final-state-schema: '#/definitions/CustomDomain' x-ms-long-running-operation: true summary: Custom domains disable custom https x-summary-source: derived ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps : post: operationId: CustomDomains_EnableCustomHttps tags: - Custom Domains description: Enable https delivery of the custom domain. 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 - name: customDomainName in: path description: Name of the custom domain within an endpoint. required: true schema: type: string responses: '200': description: Azure operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '202': description: The request has been accepted for processing, but processing has not yet completed. headers: 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/CustomDomain' default: description: An unexpected error response. content: application/json: schema: $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse x-ms-examples: CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate: $ref: ./examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json CustomDomains_EnableCustomHttpsUsingYourOwnCertificate: $ref: ./examples/CustomDomains_EnableCustomHttpsUsingBYOC.json x-ms-long-running-operation-options: final-state-via: location final-state-schema: '#/definitions/CustomDomain' x-ms-long-running-operation: true requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainHttpsParameters' description: The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default. summary: Custom domains enable custom https x-summary-source: derived components: schemas: MinimumTlsVersion: type: string description: TLS protocol version that will be used for Https enum: - None - TLS10 - TLS12 x-ms-enum: name: MinimumTlsVersion modelAsString: false CustomDomainPropertiesParameters: type: object description: The JSON object that contains the properties of the custom domain to create. properties: hostName: type: string description: The host name of the custom domain. Must be a domain name. required: - hostName CustomDomainParameters: type: object description: The customDomain JSON object required for custom domain creation or update. properties: properties: $ref: '#/components/schemas/CustomDomainPropertiesParameters' description: The JSON object that contains the properties of the custom domain to create. x-ms-client-flatten: true CustomHttpsProvisioningState: type: string description: Provisioning status of the custom domain. enum: - Enabling - Enabled - Disabling - Disabled - Failed x-ms-enum: name: CustomHttpsProvisioningState modelAsString: true values: - name: Enabling value: Enabling - name: Enabled value: Enabled - name: Disabling value: Disabling - name: Disabled value: Disabled - name: Failed value: Failed ProtocolType: type: string description: Defines the TLS extension protocol that is used for secure delivery. enum: - ServerNameIndication - IPBased x-ms-enum: name: ProtocolType modelAsString: true values: - name: ServerNameIndication value: ServerNameIndication - name: IPBased value: IPBased CustomDomainProperties: type: object description: The JSON object that contains the properties of the custom domain to create. properties: hostName: type: string description: The host name of the custom domain. Must be a domain name. resourceState: $ref: '#/components/schemas/CustomDomainResourceState' description: Resource status of the custom domain. readOnly: true customHttpsProvisioningState: $ref: '#/components/schemas/CustomHttpsProvisioningState' description: Provisioning status of the custom domain. readOnly: true customHttpsProvisioningSubstate: $ref: '#/components/schemas/CustomHttpsProvisioningSubstate' description: Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. readOnly: true customHttpsParameters: $ref: '#/components/schemas/CustomDomainHttpsParameters' description: Certificate parameters for securing custom HTTPS validationData: type: string description: Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China. provisioningState: $ref: '#/components/schemas/CustomHttpsProvisioningState' description: Provisioning status of Custom Https of the custom domain. readOnly: true required: - hostName CustomDomainHttpsParameters: type: object description: The JSON object that contains the properties to secure a custom domain. properties: certificateSource: $ref: '#/components/schemas/CertificateSource' description: Defines the source of the SSL certificate. protocolType: $ref: '#/components/schemas/ProtocolType' description: Defines the TLS extension protocol that is used for secure delivery. minimumTlsVersion: $ref: '#/components/schemas/MinimumTlsVersion' description: TLS protocol version that will be used for Https discriminator: propertyName: certificateSource required: - certificateSource - protocolType CustomHttpsProvisioningSubstate: type: string description: Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. enum: - SubmittingDomainControlValidationRequest - PendingDomainControlValidationREquestApproval - DomainControlValidationRequestApproved - DomainControlValidationRequestRejected - DomainControlValidationRequestTimedOut - IssuingCertificate - DeployingCertificate - CertificateDeployed - DeletingCertificate - CertificateDeleted x-ms-enum: name: CustomHttpsProvisioningSubstate modelAsString: true values: - name: SubmittingDomainControlValidationRequest value: SubmittingDomainControlValidationRequest - name: PendingDomainControlValidationREquestApproval value: PendingDomainControlValidationREquestApproval - name: DomainControlValidationRequestApproved value: DomainControlValidationRequestApproved - name: DomainControlValidationRequestRejected value: DomainControlValidationRequestRejected - name: DomainControlValidationRequestTimedOut value: DomainControlValidationRequestTimedOut - name: IssuingCertificate value: IssuingCertificate - name: DeployingCertificate value: DeployingCertificate - name: CertificateDeployed value: CertificateDeployed - name: DeletingCertificate value: DeletingCertificate - name: CertificateDeleted value: CertificateDeleted CertificateSource: type: string description: Defines the source of the SSL certificate. enum: - AzureKeyVault - Cdn x-ms-enum: name: CertificateSource modelAsString: true values: - name: AzureKeyVault value: AzureKeyVault - name: Cdn value: Cdn CustomDomainListResult: type: object description: The response of a CustomDomain list operation. properties: value: type: array description: The CustomDomain items on this page items: $ref: '#/components/schemas/CustomDomain' nextLink: type: string format: uri description: The link to the next page of items required: - value CustomDomainResourceState: type: string description: Resource status of the custom domain. enum: - Creating - Active - Deleting x-ms-enum: name: CustomDomainResourceState modelAsString: true values: - name: Creating value: Creating - name: Active value: Active - name: Deleting value: Deleting CustomDomain: type: object description: Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com. properties: properties: $ref: '#/components/schemas/CustomDomainProperties' description: The JSON object that contains the properties of the custom domain to create. x-ms-client-flatten: true allOf: - $ref: ../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource 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.