Share via


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
endpointName
path True

string

Name of the endpoint under the profile which is unique globally.

originGroupName
path True

string

Name of the origin group which is unique within the endpoint.

profileName
path True

string

Name of the CDN profile which is unique within the resource group.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

The name of the resource group. The name is case insensitive.

subscriptionId
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

ResourceReference[]

The source of the content being delivered via CDN within given origin group.

properties.healthProbeSettings

HealthProbeParameters

Health probe settings to the origin that is used to determine the health of the origin.

properties.responseBasedOriginErrorDetectionSettings

ResponseBasedOriginErrorDetectionParameters

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: 0
maximum: 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

OriginGroup

OK. The request has succeeded.

201 Created

OriginGroup

Created. The request has been fulfilled and a new origin group has been created.

202 Accepted

OriginGroup

Accepted and the operation will complete asynchronously.

Headers

location: string

Other Status Codes

ErrorResponse

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
createdByType

The type of identity that created the resource.

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

HealthProbeParameters

The JSON object that contains the properties to send health probes to origin.

HealthProbeRequestType

The type of health probe request that is made.

HttpErrorRangeParameters

The JSON object that represents the range for http status codes

OriginGroup

Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.

OriginGroupProvisioningState

Provisioning status of the origin group.

OriginGroupResourceState

Resource status of the origin group.

ProbeProtocol

Protocol to use for health probe.

ResourceReference

Reference to another resource.

ResponseBasedDetectedErrorTypes

Type of response errors for real user requests for which origin will be deemed unhealthy

ResponseBasedOriginErrorDetectionParameters

The JSON object that contains the properties to determine origin health using real requests/responses.

systemData

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

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

HealthProbeParameters

The JSON object that contains the properties to send health probes to origin.

Name Type Description
probeIntervalInSeconds

integer (int32)

minimum: 1
maximum: 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

ProbeProtocol

Protocol to use for health probe.

probeRequestType

HealthProbeRequestType

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: 100
maximum: 999

The inclusive start of the http status code range.

end

integer (int32)

minimum: 100
maximum: 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

HealthProbeParameters

Health probe settings to the origin that is used to determine the health of the origin.

properties.origins

ResourceReference[]

The source of the content being delivered via CDN within given origin group.

properties.provisioningState

OriginGroupProvisioningState

Provisioning status of the origin group.

properties.resourceState

OriginGroupResourceState

Resource status of the origin group.

properties.responseBasedOriginErrorDetectionSettings

ResponseBasedOriginErrorDetectionParameters

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: 0
maximum: 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

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

HttpErrorRangeParameters[]

The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.

responseBasedDetectedErrorTypes

ResponseBasedDetectedErrorTypes

Type of response errors for real user requests for which origin will be deemed unhealthy

responseBasedFailoverThresholdPercentage

integer (int32)

minimum: 0
maximum: 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

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

createdByType

The type of identity that last modified the resource.