Origin Groups - Create
Creates a new origin group within the specified endpoint.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName}?api-version=2025-04-15
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
Name of the endpoint under the profile which is unique globally. |
origin
|
path | True |
string |
Name of the origin group which is unique within the endpoint. |
profile
|
path | True |
string |
Name of the CDN profile which is unique within the resource group. |
resource
|
path | True |
string minLength: 1maxLength: 90 |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string (uuid) |
The ID of the target subscription. The value must be an UUID. |
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
properties.origins | True |
The source of the content being delivered via CDN within given origin group. |
|
properties.healthProbeSettings |
Health probe settings to the origin that is used to determine the health of the origin. |
||
properties.responseBasedOriginErrorDetectionSettings |
The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported. |
||
properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes |
integer (int32) minimum: 0maximum: 50 |
Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
OK. The request has succeeded. |
|
201 Created |
Created. The request has been fulfilled and a new origin group has been created. |
|
202 Accepted |
Accepted and the operation will complete asynchronously. Headers location: string |
|
Other Status Codes |
CDN error response describing why the operation failed. |
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
user_impersonation | impersonate your user account |
Examples
OriginGroups_Create
Sample request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/origingroup1?api-version=2025-04-15
{
"properties": {
"healthProbeSettings": {
"probePath": "/health.aspx",
"probeRequestType": "GET",
"probeProtocol": "Http",
"probeIntervalInSeconds": 120
},
"origins": [
{
"id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
}
],
"responseBasedOriginErrorDetectionSettings": {
"responseBasedDetectedErrorTypes": "TcpErrorsOnly",
"responseBasedFailoverThresholdPercentage": 10
}
}
}
Sample response
{
"name": "origingroup1",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
"type": "Microsoft.Cdn/profiles/endpoints/origingroups",
"properties": {
"provisioningState": "Succeeded",
"resourceState": "Active",
"healthProbeSettings": {
"probePath": "/health.aspx",
"probeRequestType": "GET",
"probeProtocol": "Http",
"probeIntervalInSeconds": 120
},
"origins": [
{
"id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
}
],
"responseBasedOriginErrorDetectionSettings": {
"responseBasedDetectedErrorTypes": "TcpErrorsOnly",
"responseBasedFailoverThresholdPercentage": 10
}
}
}
{
"name": "origingroup1",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
"type": "Microsoft.Cdn/profiles/endpoints/origingroups",
"properties": {
"provisioningState": "Succeeded",
"resourceState": "Active",
"healthProbeSettings": {
"probePath": "/health.aspx",
"probeRequestType": "GET",
"probeProtocol": "Http",
"probeIntervalInSeconds": 120
},
"origins": [
{
"id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
}
],
"responseBasedOriginErrorDetectionSettings": {
"responseBasedDetectedErrorTypes": "TcpErrorsOnly",
"responseBasedFailoverThresholdPercentage": 10
}
}
}
azure-asyncoperation: https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2025-04-15
{
"name": "originGroup1",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1",
"type": "Microsoft.Cdn/profiles/endpoints/origingroups",
"properties": {
"provisioningState": "Succeeded",
"resourceState": "Active",
"healthProbeSettings": {
"probePath": "/health.aspx",
"probeRequestType": "GET",
"probeProtocol": "Http",
"probeIntervalInSeconds": 120
},
"origins": [
{
"id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1"
}
],
"responseBasedOriginErrorDetectionSettings": {
"responseBasedDetectedErrorTypes": "TcpErrorsOnly",
"responseBasedFailoverThresholdPercentage": 10
}
}
}
Definitions
Name | Description |
---|---|
created |
The type of identity that created the resource. |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Health |
The JSON object that contains the properties to send health probes to origin. |
Health |
The type of health probe request that is made. |
Http |
The JSON object that represents the range for http status codes |
Origin |
Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN. |
Origin |
Provisioning status of the origin group. |
Origin |
Resource status of the origin group. |
Probe |
Protocol to use for health probe. |
Resource |
Reference to another resource. |
Response |
Type of response errors for real user requests for which origin will be deemed unhealthy |
Response |
The JSON object that contains the properties to determine origin health using real requests/responses. |
system |
Metadata pertaining to creation and last modification of the resource. |
createdByType
The type of identity that created the resource.
Value | Description |
---|---|
User | |
Application | |
ManagedIdentity | |
Key |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
HealthProbeParameters
The JSON object that contains the properties to send health probes to origin.
Name | Type | Description |
---|---|---|
probeIntervalInSeconds |
integer (int32) minimum: 1maximum: 255 |
The number of seconds between health probes.Default is 240sec. |
probePath |
string |
The path relative to the origin that is used to determine the health of the origin. |
probeProtocol |
Protocol to use for health probe. |
|
probeRequestType |
The type of health probe request that is made. |
HealthProbeRequestType
The type of health probe request that is made.
Value | Description |
---|---|
NotSet | |
GET | |
HEAD |
HttpErrorRangeParameters
The JSON object that represents the range for http status codes
Name | Type | Description |
---|---|---|
begin |
integer (int32) minimum: 100maximum: 999 |
The inclusive start of the http status code range. |
end |
integer (int32) minimum: 100maximum: 999 |
The inclusive end of the http status code range. |
OriginGroup
Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.
Name | Type | Description |
---|---|---|
id |
string (arm-id) |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
name |
string |
The name of the resource |
properties.healthProbeSettings |
Health probe settings to the origin that is used to determine the health of the origin. |
|
properties.origins |
The source of the content being delivered via CDN within given origin group. |
|
properties.provisioningState |
Provisioning status of the origin group. |
|
properties.resourceState |
Resource status of the origin group. |
|
properties.responseBasedOriginErrorDetectionSettings |
The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported. |
|
properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes |
integer (int32) minimum: 0maximum: 50 |
Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported. |
systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
OriginGroupProvisioningState
Provisioning status of the origin group.
Value | Description |
---|---|
Succeeded | |
Failed | |
Updating | |
Deleting | |
Creating |
OriginGroupResourceState
Resource status of the origin group.
Value | Description |
---|---|
Creating | |
Active | |
Deleting |
ProbeProtocol
Protocol to use for health probe.
Value | Description |
---|---|
NotSet | |
Http | |
Https |
ResourceReference
Reference to another resource.
Name | Type | Description |
---|---|---|
id |
string |
Resource ID. |
ResponseBasedDetectedErrorTypes
Type of response errors for real user requests for which origin will be deemed unhealthy
Value | Description |
---|---|
None | |
TcpErrorsOnly | |
TcpAndHttpErrors |
ResponseBasedOriginErrorDetectionParameters
The JSON object that contains the properties to determine origin health using real requests/responses.
Name | Type | Description |
---|---|---|
httpErrorRanges |
The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy. |
|
responseBasedDetectedErrorTypes |
Type of response errors for real user requests for which origin will be deemed unhealthy |
|
responseBasedFailoverThresholdPercentage |
integer (int32) minimum: 0maximum: 100 |
The percentage of failed requests in the sample where failover should trigger. |
systemData
Metadata pertaining to creation and last modification of the resource.
Name | Type | Description |
---|---|---|
createdAt |
string (date-time) |
The timestamp of resource creation (UTC). |
createdBy |
string |
The identity that created the resource. |
createdByType |
The type of identity that created the resource. |
|
lastModifiedAt |
string (date-time) |
The timestamp of resource last modification (UTC) |
lastModifiedBy |
string |
The identity that last modified the resource. |
lastModifiedByType |
The type of identity that last modified the resource. |