Microsoft.Web (stable:2021-01-15)

2025/02/27 • 27 updated methods

WebApps_List (updated)
Description Get all apps for a subscription.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_List",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "siteConfig": [
                  {
                    "experiments": [
                      {
                        "rampUpRules": {
                          "$properties": [
                            {
                              "#name": "changeDecisionCallbackUrl",
                              "Description": {
                                "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                                "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/providers/Microsoft.Web/sites
{
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_ListByResourceGroup (updated)
Description Gets all web, mobile, and API apps in the specified resource group.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_ListByResourceGroup",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "siteConfig": [
                  {
                    "experiments": [
                      {
                        "rampUpRules": {
                          "$properties": [
                            {
                              "#name": "changeDecisionCallbackUrl",
                              "Description": {
                                "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                                "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites
{
resourceGroupName: string ,
includeSlots: boolean ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_Get (updated)
Description Gets the details of a web, mobile, or API app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_Get",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}
{
resourceGroupName: string ,
name: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (404)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_CreateOrUpdate (updated)
Description Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_CreateOrUpdate",
  "$parameters": {
    "siteEnvelope": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "202": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}
{
resourceGroupName: string ,
name: string ,
siteEnvelope:
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}
,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (202)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_Update (updated)
Description Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_Update",
  "$parameters": {
    "siteEnvelope": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "202": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}
{
resourceGroupName: string ,
name: string ,
siteEnvelope:
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
}
,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (202)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_ListConfigurations (updated)
Description List the configurations of an app
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_ListConfigurations",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config
{
resourceGroupName: string ,
name: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateAuthSettings (updated)
Description Updates the Authentication / Authorization settings associated with web app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateAuthSettings",
  "$parameters": {
    "siteAuthSettings": {
      "$properties": {
        "properties": [
          {
            "#name": "issuer",
            "Description": {
              "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://sts.windows.net/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
              "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
            }
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "issuer",
            "Description": {
              "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://sts.windows.net/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
              "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings
{
resourceGroupName: string ,
name: string ,
siteAuthSettings:
{
properties:
{
enabled: boolean ,
runtimeVersion: string ,
unauthenticatedClientAction: enum ,
tokenStoreEnabled: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
defaultProvider: enum ,
tokenRefreshExtensionHours: number ,
clientId: string ,
clientSecret: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
issuer: string ,
validateIssuer: boolean ,
allowedAudiences:
[
string ,
]
,
additionalLoginParams:
[
string ,
]
,
aadClaimsAuthorization: string ,
googleClientId: string ,
googleClientSecret: string ,
googleClientSecretSettingName: string ,
googleOAuthScopes:
[
string ,
]
,
facebookAppId: string ,
facebookAppSecret: string ,
facebookAppSecretSettingName: string ,
facebookOAuthScopes:
[
string ,
]
,
gitHubClientId: string ,
gitHubClientSecret: string ,
gitHubClientSecretSettingName: string ,
gitHubOAuthScopes:
[
string ,
]
,
twitterConsumerKey: string ,
twitterConsumerSecret: string ,
twitterConsumerSecretSettingName: string ,
microsoftAccountClientId: string ,
microsoftAccountClientSecret: string ,
microsoftAccountClientSecretSettingName: string ,
microsoftAccountOAuthScopes:
[
string ,
]
,
isAuthFromFile: string ,
authFilePath: string ,
configVersion: string ,
}
,
}
,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
enabled: boolean ,
runtimeVersion: string ,
unauthenticatedClientAction: enum ,
tokenStoreEnabled: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
defaultProvider: enum ,
tokenRefreshExtensionHours: number ,
clientId: string ,
clientSecret: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
issuer: string ,
validateIssuer: boolean ,
allowedAudiences:
[
string ,
]
,
additionalLoginParams:
[
string ,
]
,
aadClaimsAuthorization: string ,
googleClientId: string ,
googleClientSecret: string ,
googleClientSecretSettingName: string ,
googleOAuthScopes:
[
string ,
]
,
facebookAppId: string ,
facebookAppSecret: string ,
facebookAppSecretSettingName: string ,
facebookOAuthScopes:
[
string ,
]
,
gitHubClientId: string ,
gitHubClientSecret: string ,
gitHubClientSecretSettingName: string ,
gitHubOAuthScopes:
[
string ,
]
,
twitterConsumerKey: string ,
twitterConsumerSecret: string ,
twitterConsumerSecretSettingName: string ,
microsoftAccountClientId: string ,
microsoftAccountClientSecret: string ,
microsoftAccountClientSecretSettingName: string ,
microsoftAccountOAuthScopes:
[
string ,
]
,
isAuthFromFile: string ,
authFilePath: string ,
configVersion: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetAuthSettings (updated)
Description Gets the Authentication/Authorization settings of an app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetAuthSettings",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "issuer",
            "Description": {
              "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://sts.windows.net/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
              "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list
{
resourceGroupName: string ,
name: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
enabled: boolean ,
runtimeVersion: string ,
unauthenticatedClientAction: enum ,
tokenStoreEnabled: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
defaultProvider: enum ,
tokenRefreshExtensionHours: number ,
clientId: string ,
clientSecret: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
issuer: string ,
validateIssuer: boolean ,
allowedAudiences:
[
string ,
]
,
additionalLoginParams:
[
string ,
]
,
aadClaimsAuthorization: string ,
googleClientId: string ,
googleClientSecret: string ,
googleClientSecretSettingName: string ,
googleOAuthScopes:
[
string ,
]
,
facebookAppId: string ,
facebookAppSecret: string ,
facebookAppSecretSettingName: string ,
facebookOAuthScopes:
[
string ,
]
,
gitHubClientId: string ,
gitHubClientSecret: string ,
gitHubClientSecretSettingName: string ,
gitHubOAuthScopes:
[
string ,
]
,
twitterConsumerKey: string ,
twitterConsumerSecret: string ,
twitterConsumerSecretSettingName: string ,
microsoftAccountClientId: string ,
microsoftAccountClientSecret: string ,
microsoftAccountClientSecretSettingName: string ,
microsoftAccountOAuthScopes:
[
string ,
]
,
isAuthFromFile: string ,
authFilePath: string ,
configVersion: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateAuthSettingsV2 (updated)
Description Updates site's Authentication / Authorization settings for apps via the V2 format
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateAuthSettingsV2",
  "$parameters": {
    "siteAuthSettingsV2": {
      "$properties": {
        "properties": [
          {
            "identityProviders": [
              {
                "azureActiveDirectory": [
                  {
                    "registration": [
                      {
                        "#name": "openIdIssuer",
                        "Description": {
                          "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
                          "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "identityProviders": [
              {
                "azureActiveDirectory": [
                  {
                    "registration": [
                      {
                        "#name": "openIdIssuer",
                        "Description": {
                          "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
                          "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2
{
resourceGroupName: string ,
name: string ,
siteAuthSettingsV2:
{
properties:
{
platform:
{
enabled: boolean ,
runtimeVersion: string ,
configFilePath: string ,
}
,
globalValidation:
{
requireAuthentication: boolean ,
unauthenticatedClientAction: enum ,
redirectToProvider: string ,
excludedPaths:
[
string ,
]
,
}
,
identityProviders:
{
azureActiveDirectory:
{
enabled: boolean ,
registration:
{
openIdIssuer: string ,
clientId: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
clientSecretCertificateSubjectAlternativeName: string ,
clientSecretCertificateIssuer: string ,
}
,
login:
{
loginParameters:
[
string ,
]
,
disableWWWAuthenticate: boolean ,
}
,
validation:
{
jwtClaimChecks:
{
allowedGroups:
[
string ,
]
,
allowedClientApplications:
[
string ,
]
,
}
,
allowedAudiences:
[
string ,
]
,
}
,
isAutoProvisioned: boolean ,
}
,
facebook:
{
enabled: boolean ,
registration:
{
appId: string ,
appSecretSettingName: string ,
}
,
graphApiVersion: string ,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
gitHub:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
google:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
legacyMicrosoftAccount:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
twitter:
{
enabled: boolean ,
registration:
{
consumerKey: string ,
consumerSecretSettingName: string ,
}
,
}
,
apple:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
azureStaticWebApps:
{
enabled: boolean ,
registration:
{
clientId: string ,
}
,
}
,
customOpenIdConnectProviders: object ,
}
,
login:
{
routes:
{
logoutEndpoint: string ,
}
,
tokenStore:
{
enabled: boolean ,
tokenRefreshExtensionHours: number ,
fileSystem:
{
directory: string ,
}
,
azureBlobStorage:
{
sasUrlSettingName: string ,
}
,
}
,
preserveUrlFragmentsForLogins: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
cookieExpiration:
{
convention: enum ,
timeToExpiration: string ,
}
,
nonce:
{
validateNonce: boolean ,
nonceExpirationInterval: string ,
}
,
}
,
httpSettings:
{
requireHttps: boolean ,
routes:
{
apiPrefix: string ,
}
,
forwardProxy:
{
convention: enum ,
customHostHeaderName: string ,
customProtoHeaderName: string ,
}
,
}
,
}
,
}
,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
platform:
{
enabled: boolean ,
runtimeVersion: string ,
configFilePath: string ,
}
,
globalValidation:
{
requireAuthentication: boolean ,
unauthenticatedClientAction: enum ,
redirectToProvider: string ,
excludedPaths:
[
string ,
]
,
}
,
identityProviders:
{
azureActiveDirectory:
{
enabled: boolean ,
registration:
{
openIdIssuer: string ,
clientId: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
clientSecretCertificateSubjectAlternativeName: string ,
clientSecretCertificateIssuer: string ,
}
,
login:
{
loginParameters:
[
string ,
]
,
disableWWWAuthenticate: boolean ,
}
,
validation:
{
jwtClaimChecks:
{
allowedGroups:
[
string ,
]
,
allowedClientApplications:
[
string ,
]
,
}
,
allowedAudiences:
[
string ,
]
,
}
,
isAutoProvisioned: boolean ,
}
,
facebook:
{
enabled: boolean ,
registration:
{
appId: string ,
appSecretSettingName: string ,
}
,
graphApiVersion: string ,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
gitHub:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
google:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
legacyMicrosoftAccount:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
twitter:
{
enabled: boolean ,
registration:
{
consumerKey: string ,
consumerSecretSettingName: string ,
}
,
}
,
apple:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
azureStaticWebApps:
{
enabled: boolean ,
registration:
{
clientId: string ,
}
,
}
,
customOpenIdConnectProviders: object ,
}
,
login:
{
routes:
{
logoutEndpoint: string ,
}
,
tokenStore:
{
enabled: boolean ,
tokenRefreshExtensionHours: number ,
fileSystem:
{
directory: string ,
}
,
azureBlobStorage:
{
sasUrlSettingName: string ,
}
,
}
,
preserveUrlFragmentsForLogins: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
cookieExpiration:
{
convention: enum ,
timeToExpiration: string ,
}
,
nonce:
{
validateNonce: boolean ,
nonceExpirationInterval: string ,
}
,
}
,
httpSettings:
{
requireHttps: boolean ,
routes:
{
apiPrefix: string ,
}
,
forwardProxy:
{
convention: enum ,
customHostHeaderName: string ,
customProtoHeaderName: string ,
}
,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetAuthSettingsV2 (updated)
Description Gets site's Authentication / Authorization settings for apps via the V2 format
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetAuthSettingsV2",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "identityProviders": [
              {
                "azureActiveDirectory": [
                  {
                    "registration": [
                      {
                        "#name": "openIdIssuer",
                        "Description": {
                          "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
                          "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2/list
{
resourceGroupName: string ,
name: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
platform:
{
enabled: boolean ,
runtimeVersion: string ,
configFilePath: string ,
}
,
globalValidation:
{
requireAuthentication: boolean ,
unauthenticatedClientAction: enum ,
redirectToProvider: string ,
excludedPaths:
[
string ,
]
,
}
,
identityProviders:
{
azureActiveDirectory:
{
enabled: boolean ,
registration:
{
openIdIssuer: string ,
clientId: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
clientSecretCertificateSubjectAlternativeName: string ,
clientSecretCertificateIssuer: string ,
}
,
login:
{
loginParameters:
[
string ,
]
,
disableWWWAuthenticate: boolean ,
}
,
validation:
{
jwtClaimChecks:
{
allowedGroups:
[
string ,
]
,
allowedClientApplications:
[
string ,
]
,
}
,
allowedAudiences:
[
string ,
]
,
}
,
isAutoProvisioned: boolean ,
}
,
facebook:
{
enabled: boolean ,
registration:
{
appId: string ,
appSecretSettingName: string ,
}
,
graphApiVersion: string ,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
gitHub:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
google:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
legacyMicrosoftAccount:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
twitter:
{
enabled: boolean ,
registration:
{
consumerKey: string ,
consumerSecretSettingName: string ,
}
,
}
,
apple:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
azureStaticWebApps:
{
enabled: boolean ,
registration:
{
clientId: string ,
}
,
}
,
customOpenIdConnectProviders: object ,
}
,
login:
{
routes:
{
logoutEndpoint: string ,
}
,
tokenStore:
{
enabled: boolean ,
tokenRefreshExtensionHours: number ,
fileSystem:
{
directory: string ,
}
,
azureBlobStorage:
{
sasUrlSettingName: string ,
}
,
}
,
preserveUrlFragmentsForLogins: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
cookieExpiration:
{
convention: enum ,
timeToExpiration: string ,
}
,
nonce:
{
validateNonce: boolean ,
nonceExpirationInterval: string ,
}
,
}
,
httpSettings:
{
requireHttps: boolean ,
routes:
{
apiPrefix: string ,
}
,
forwardProxy:
{
convention: enum ,
customHostHeaderName: string ,
customProtoHeaderName: string ,
}
,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetConfiguration (updated)
Description Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetConfiguration",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web
{
resourceGroupName: string ,
name: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_CreateOrUpdateConfiguration (updated)
Description Updates the configuration of an app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_CreateOrUpdateConfiguration",
  "$parameters": {
    "siteConfig": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web
{
resourceGroupName: string ,
name: string ,
siteConfig:
{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}
,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateConfiguration (updated)
Description Updates the configuration of an app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateConfiguration",
  "$parameters": {
    "siteConfig": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web
{
resourceGroupName: string ,
name: string ,
siteConfig:
{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}
,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetConfigurationSnapshot (updated)
Description Gets a snapshot of the configuration of an app at a previous point in time.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetConfigurationSnapshot",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}
{
resourceGroupName: string ,
name: string ,
snapshotId: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_ListSlots (updated)
Description Gets an app's deployment slots.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_ListSlots",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "siteConfig": [
                  {
                    "experiments": [
                      {
                        "rampUpRules": {
                          "$properties": [
                            {
                              "#name": "changeDecisionCallbackUrl",
                              "Description": {
                                "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                                "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots
{
resourceGroupName: string ,
name: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetSlot (updated)
Description Gets the details of a web, mobile, or API app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetSlot",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}
{
resourceGroupName: string ,
name: string ,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (404)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_CreateOrUpdateSlot (updated)
Description Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_CreateOrUpdateSlot",
  "$parameters": {
    "siteEnvelope": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "202": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}
{
resourceGroupName: string ,
name: string ,
siteEnvelope:
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}
,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (202)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateSlot (updated)
Description Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateSlot",
  "$parameters": {
    "siteEnvelope": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    },
    "202": {
      "$properties": {
        "properties": [
          {
            "siteConfig": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}
{
resourceGroupName: string ,
name: string ,
siteEnvelope:
{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
}
,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (202)

{
properties:
{
state: string ,
hostNames:
[
string ,
]
,
repositorySiteName: string ,
usageState: enum ,
enabled: boolean ,
enabledHostNames:
[
string ,
]
,
availabilityState: enum ,
hostNameSslStates:
[
{
name: string ,
sslState: enum ,
virtualIP: string ,
thumbprint: string ,
toUpdate: boolean ,
hostType: enum ,
}
,
]
,
serverFarmId: string ,
reserved: boolean ,
isXenon: boolean ,
hyperV: boolean ,
lastModifiedTimeUtc: string ,
siteConfig:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
trafficManagerHostNames:
[
string ,
]
,
scmSiteAlsoStopped: boolean ,
targetSwapSlot: string ,
hostingEnvironmentProfile:
{
id: string ,
name: string ,
type: string ,
}
,
clientAffinityEnabled: boolean ,
clientCertEnabled: boolean ,
clientCertMode: enum ,
clientCertExclusionPaths: string ,
hostNamesDisabled: boolean ,
customDomainVerificationId: string ,
outboundIpAddresses: string ,
possibleOutboundIpAddresses: string ,
containerSize: integer ,
dailyMemoryTimeQuota: integer ,
suspendedTill: string ,
maxNumberOfWorkers: integer ,
cloningInfo:
{
correlationId: string ,
overwrite: boolean ,
cloneCustomHostNames: boolean ,
cloneSourceControl: boolean ,
sourceWebAppId: string ,
sourceWebAppLocation: string ,
hostingEnvironment: string ,
appSettingsOverrides: object ,
configureLoadBalancing: boolean ,
trafficManagerProfileId: string ,
trafficManagerProfileName: string ,
}
,
resourceGroup: string ,
isDefaultContainer: boolean ,
defaultHostName: string ,
slotSwapStatus:
{
timestampUtc: string ,
sourceSlotName: string ,
destinationSlotName: string ,
}
,
httpsOnly: boolean ,
redundancyMode: enum ,
inProgressOperationId: string ,
storageAccountRequired: boolean ,
keyVaultReferenceIdentity: string ,
virtualNetworkSubnetId: string ,
}
,
identity:
{
type: enum ,
tenantId: string ,
principalId: string ,
userAssignedIdentities: object ,
}
,
extendedLocation:
{
name: string ,
type: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_ListConfigurationsSlot (updated)
Description List the configurations of an app
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_ListConfigurationsSlot",
  "$responses": {
    "200": {
      "$properties": {
        "value": {
          "$properties": {
            "properties": [
              {
                "experiments": [
                  {
                    "rampUpRules": {
                      "$properties": [
                        {
                          "#name": "changeDecisionCallbackUrl",
                          "Description": {
                            "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                            "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config
{
resourceGroupName: string ,
name: string ,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
value:
[
{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateAuthSettingsSlot (updated)
Description Updates the Authentication / Authorization settings associated with web app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateAuthSettingsSlot",
  "$parameters": {
    "siteAuthSettings": {
      "$properties": {
        "properties": [
          {
            "#name": "issuer",
            "Description": {
              "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://sts.windows.net/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
              "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
            }
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "issuer",
            "Description": {
              "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://sts.windows.net/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
              "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings
{
resourceGroupName: string ,
name: string ,
siteAuthSettings:
{
properties:
{
enabled: boolean ,
runtimeVersion: string ,
unauthenticatedClientAction: enum ,
tokenStoreEnabled: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
defaultProvider: enum ,
tokenRefreshExtensionHours: number ,
clientId: string ,
clientSecret: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
issuer: string ,
validateIssuer: boolean ,
allowedAudiences:
[
string ,
]
,
additionalLoginParams:
[
string ,
]
,
aadClaimsAuthorization: string ,
googleClientId: string ,
googleClientSecret: string ,
googleClientSecretSettingName: string ,
googleOAuthScopes:
[
string ,
]
,
facebookAppId: string ,
facebookAppSecret: string ,
facebookAppSecretSettingName: string ,
facebookOAuthScopes:
[
string ,
]
,
gitHubClientId: string ,
gitHubClientSecret: string ,
gitHubClientSecretSettingName: string ,
gitHubOAuthScopes:
[
string ,
]
,
twitterConsumerKey: string ,
twitterConsumerSecret: string ,
twitterConsumerSecretSettingName: string ,
microsoftAccountClientId: string ,
microsoftAccountClientSecret: string ,
microsoftAccountClientSecretSettingName: string ,
microsoftAccountOAuthScopes:
[
string ,
]
,
isAuthFromFile: string ,
authFilePath: string ,
configVersion: string ,
}
,
}
,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
enabled: boolean ,
runtimeVersion: string ,
unauthenticatedClientAction: enum ,
tokenStoreEnabled: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
defaultProvider: enum ,
tokenRefreshExtensionHours: number ,
clientId: string ,
clientSecret: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
issuer: string ,
validateIssuer: boolean ,
allowedAudiences:
[
string ,
]
,
additionalLoginParams:
[
string ,
]
,
aadClaimsAuthorization: string ,
googleClientId: string ,
googleClientSecret: string ,
googleClientSecretSettingName: string ,
googleOAuthScopes:
[
string ,
]
,
facebookAppId: string ,
facebookAppSecret: string ,
facebookAppSecretSettingName: string ,
facebookOAuthScopes:
[
string ,
]
,
gitHubClientId: string ,
gitHubClientSecret: string ,
gitHubClientSecretSettingName: string ,
gitHubOAuthScopes:
[
string ,
]
,
twitterConsumerKey: string ,
twitterConsumerSecret: string ,
twitterConsumerSecretSettingName: string ,
microsoftAccountClientId: string ,
microsoftAccountClientSecret: string ,
microsoftAccountClientSecretSettingName: string ,
microsoftAccountOAuthScopes:
[
string ,
]
,
isAuthFromFile: string ,
authFilePath: string ,
configVersion: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetAuthSettingsSlot (updated)
Description Gets the Authentication/Authorization settings of an app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetAuthSettingsSlot",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "#name": "issuer",
            "Description": {
              "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://sts.windows.net/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
              "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
            }
          }
        ]
      }
    }
  }
}

⚼ Request

POST:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list
{
resourceGroupName: string ,
name: string ,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
enabled: boolean ,
runtimeVersion: string ,
unauthenticatedClientAction: enum ,
tokenStoreEnabled: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
defaultProvider: enum ,
tokenRefreshExtensionHours: number ,
clientId: string ,
clientSecret: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
issuer: string ,
validateIssuer: boolean ,
allowedAudiences:
[
string ,
]
,
additionalLoginParams:
[
string ,
]
,
aadClaimsAuthorization: string ,
googleClientId: string ,
googleClientSecret: string ,
googleClientSecretSettingName: string ,
googleOAuthScopes:
[
string ,
]
,
facebookAppId: string ,
facebookAppSecret: string ,
facebookAppSecretSettingName: string ,
facebookOAuthScopes:
[
string ,
]
,
gitHubClientId: string ,
gitHubClientSecret: string ,
gitHubClientSecretSettingName: string ,
gitHubOAuthScopes:
[
string ,
]
,
twitterConsumerKey: string ,
twitterConsumerSecret: string ,
twitterConsumerSecretSettingName: string ,
microsoftAccountClientId: string ,
microsoftAccountClientSecret: string ,
microsoftAccountClientSecretSettingName: string ,
microsoftAccountOAuthScopes:
[
string ,
]
,
isAuthFromFile: string ,
authFilePath: string ,
configVersion: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateAuthSettingsV2Slot (updated)
Description Updates site's Authentication / Authorization settings for apps via the V2 format
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateAuthSettingsV2Slot",
  "$parameters": {
    "siteAuthSettingsV2": {
      "$properties": {
        "properties": [
          {
            "identityProviders": [
              {
                "azureActiveDirectory": [
                  {
                    "registration": [
                      {
                        "#name": "openIdIssuer",
                        "Description": {
                          "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
                          "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "identityProviders": [
              {
                "azureActiveDirectory": [
                  {
                    "registration": [
                      {
                        "#name": "openIdIssuer",
                        "Description": {
                          "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
                          "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2
{
resourceGroupName: string ,
name: string ,
siteAuthSettingsV2:
{
properties:
{
platform:
{
enabled: boolean ,
runtimeVersion: string ,
configFilePath: string ,
}
,
globalValidation:
{
requireAuthentication: boolean ,
unauthenticatedClientAction: enum ,
redirectToProvider: string ,
excludedPaths:
[
string ,
]
,
}
,
identityProviders:
{
azureActiveDirectory:
{
enabled: boolean ,
registration:
{
openIdIssuer: string ,
clientId: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
clientSecretCertificateSubjectAlternativeName: string ,
clientSecretCertificateIssuer: string ,
}
,
login:
{
loginParameters:
[
string ,
]
,
disableWWWAuthenticate: boolean ,
}
,
validation:
{
jwtClaimChecks:
{
allowedGroups:
[
string ,
]
,
allowedClientApplications:
[
string ,
]
,
}
,
allowedAudiences:
[
string ,
]
,
}
,
isAutoProvisioned: boolean ,
}
,
facebook:
{
enabled: boolean ,
registration:
{
appId: string ,
appSecretSettingName: string ,
}
,
graphApiVersion: string ,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
gitHub:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
google:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
legacyMicrosoftAccount:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
twitter:
{
enabled: boolean ,
registration:
{
consumerKey: string ,
consumerSecretSettingName: string ,
}
,
}
,
apple:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
azureStaticWebApps:
{
enabled: boolean ,
registration:
{
clientId: string ,
}
,
}
,
customOpenIdConnectProviders: object ,
}
,
login:
{
routes:
{
logoutEndpoint: string ,
}
,
tokenStore:
{
enabled: boolean ,
tokenRefreshExtensionHours: number ,
fileSystem:
{
directory: string ,
}
,
azureBlobStorage:
{
sasUrlSettingName: string ,
}
,
}
,
preserveUrlFragmentsForLogins: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
cookieExpiration:
{
convention: enum ,
timeToExpiration: string ,
}
,
nonce:
{
validateNonce: boolean ,
nonceExpirationInterval: string ,
}
,
}
,
httpSettings:
{
requireHttps: boolean ,
routes:
{
apiPrefix: string ,
}
,
forwardProxy:
{
convention: enum ,
customHostHeaderName: string ,
customProtoHeaderName: string ,
}
,
}
,
}
,
}
,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
platform:
{
enabled: boolean ,
runtimeVersion: string ,
configFilePath: string ,
}
,
globalValidation:
{
requireAuthentication: boolean ,
unauthenticatedClientAction: enum ,
redirectToProvider: string ,
excludedPaths:
[
string ,
]
,
}
,
identityProviders:
{
azureActiveDirectory:
{
enabled: boolean ,
registration:
{
openIdIssuer: string ,
clientId: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
clientSecretCertificateSubjectAlternativeName: string ,
clientSecretCertificateIssuer: string ,
}
,
login:
{
loginParameters:
[
string ,
]
,
disableWWWAuthenticate: boolean ,
}
,
validation:
{
jwtClaimChecks:
{
allowedGroups:
[
string ,
]
,
allowedClientApplications:
[
string ,
]
,
}
,
allowedAudiences:
[
string ,
]
,
}
,
isAutoProvisioned: boolean ,
}
,
facebook:
{
enabled: boolean ,
registration:
{
appId: string ,
appSecretSettingName: string ,
}
,
graphApiVersion: string ,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
gitHub:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
google:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
legacyMicrosoftAccount:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
twitter:
{
enabled: boolean ,
registration:
{
consumerKey: string ,
consumerSecretSettingName: string ,
}
,
}
,
apple:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
azureStaticWebApps:
{
enabled: boolean ,
registration:
{
clientId: string ,
}
,
}
,
customOpenIdConnectProviders: object ,
}
,
login:
{
routes:
{
logoutEndpoint: string ,
}
,
tokenStore:
{
enabled: boolean ,
tokenRefreshExtensionHours: number ,
fileSystem:
{
directory: string ,
}
,
azureBlobStorage:
{
sasUrlSettingName: string ,
}
,
}
,
preserveUrlFragmentsForLogins: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
cookieExpiration:
{
convention: enum ,
timeToExpiration: string ,
}
,
nonce:
{
validateNonce: boolean ,
nonceExpirationInterval: string ,
}
,
}
,
httpSettings:
{
requireHttps: boolean ,
routes:
{
apiPrefix: string ,
}
,
forwardProxy:
{
convention: enum ,
customHostHeaderName: string ,
customProtoHeaderName: string ,
}
,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetAuthSettingsV2Slot (updated)
Description Gets site's Authentication / Authorization settings for apps via the V2 format
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetAuthSettingsV2Slot",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "identityProviders": [
              {
                "azureActiveDirectory": [
                  {
                    "registration": [
                      {
                        "#name": "openIdIssuer",
                        "Description": {
                          "new": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html",
                          "old": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2/list
{
resourceGroupName: string ,
name: string ,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
platform:
{
enabled: boolean ,
runtimeVersion: string ,
configFilePath: string ,
}
,
globalValidation:
{
requireAuthentication: boolean ,
unauthenticatedClientAction: enum ,
redirectToProvider: string ,
excludedPaths:
[
string ,
]
,
}
,
identityProviders:
{
azureActiveDirectory:
{
enabled: boolean ,
registration:
{
openIdIssuer: string ,
clientId: string ,
clientSecretSettingName: string ,
clientSecretCertificateThumbprint: string ,
clientSecretCertificateSubjectAlternativeName: string ,
clientSecretCertificateIssuer: string ,
}
,
login:
{
loginParameters:
[
string ,
]
,
disableWWWAuthenticate: boolean ,
}
,
validation:
{
jwtClaimChecks:
{
allowedGroups:
[
string ,
]
,
allowedClientApplications:
[
string ,
]
,
}
,
allowedAudiences:
[
string ,
]
,
}
,
isAutoProvisioned: boolean ,
}
,
facebook:
{
enabled: boolean ,
registration:
{
appId: string ,
appSecretSettingName: string ,
}
,
graphApiVersion: string ,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
gitHub:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
google:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
legacyMicrosoftAccount:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
validation:
{
allowedAudiences:
[
string ,
]
,
}
,
}
,
twitter:
{
enabled: boolean ,
registration:
{
consumerKey: string ,
consumerSecretSettingName: string ,
}
,
}
,
apple:
{
enabled: boolean ,
registration:
{
clientId: string ,
clientSecretSettingName: string ,
}
,
login:
{
scopes:
[
string ,
]
,
}
,
}
,
azureStaticWebApps:
{
enabled: boolean ,
registration:
{
clientId: string ,
}
,
}
,
customOpenIdConnectProviders: object ,
}
,
login:
{
routes:
{
logoutEndpoint: string ,
}
,
tokenStore:
{
enabled: boolean ,
tokenRefreshExtensionHours: number ,
fileSystem:
{
directory: string ,
}
,
azureBlobStorage:
{
sasUrlSettingName: string ,
}
,
}
,
preserveUrlFragmentsForLogins: boolean ,
allowedExternalRedirectUrls:
[
string ,
]
,
cookieExpiration:
{
convention: enum ,
timeToExpiration: string ,
}
,
nonce:
{
validateNonce: boolean ,
nonceExpirationInterval: string ,
}
,
}
,
httpSettings:
{
requireHttps: boolean ,
routes:
{
apiPrefix: string ,
}
,
forwardProxy:
{
convention: enum ,
customHostHeaderName: string ,
customProtoHeaderName: string ,
}
,
}
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetConfigurationSlot (updated)
Description Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetConfigurationSlot",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web
{
resourceGroupName: string ,
name: string ,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_CreateOrUpdateConfigurationSlot (updated)
Description Updates the configuration of an app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_CreateOrUpdateConfigurationSlot",
  "$parameters": {
    "siteConfig": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PUT:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web
{
resourceGroupName: string ,
name: string ,
siteConfig:
{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}
,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_UpdateConfigurationSlot (updated)
Description Updates the configuration of an app.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_UpdateConfigurationSlot",
  "$parameters": {
    "siteConfig": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  },
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

PATCH:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web
{
resourceGroupName: string ,
name: string ,
siteConfig:
{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}
,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}
WebApps_GetConfigurationSnapshotSlot (updated)
Description Gets a snapshot of the configuration of an app at a previous point in time.
Reference Link ¶

⚶ Changes

{
  "#id": "WebApps_GetConfigurationSnapshotSlot",
  "$responses": {
    "200": {
      "$properties": {
        "properties": [
          {
            "experiments": [
              {
                "rampUpRules": {
                  "$properties": [
                    {
                      "#name": "changeDecisionCallbackUrl",
                      "Description": {
                        "new": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.",
                        "old": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/"
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }
}

⚼ Request

GET:  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}
{
resourceGroupName: string ,
name: string ,
snapshotId: string ,
slot: string ,
subscriptionId: string ,
api-version: string ,
}

⚐ Response (200)

{
properties:
{
numberOfWorkers: integer ,
defaultDocuments:
[
string ,
]
,
netFrameworkVersion: string ,
phpVersion: string ,
pythonVersion: string ,
nodeVersion: string ,
powerShellVersion: string ,
linuxFxVersion: string ,
windowsFxVersion: string ,
requestTracingEnabled: boolean ,
requestTracingExpirationTime: string ,
remoteDebuggingEnabled: boolean ,
remoteDebuggingVersion: string ,
httpLoggingEnabled: boolean ,
acrUseManagedIdentityCreds: boolean ,
acrUserManagedIdentityID: string ,
logsDirectorySizeLimit: integer ,
detailedErrorLoggingEnabled: boolean ,
publishingUsername: string ,
appSettings:
[
{
name: string ,
value: string ,
}
,
]
,
connectionStrings:
[
{
name: string ,
connectionString: string ,
type: enum ,
}
,
]
,
machineKey:
{
validation: string ,
validationKey: string ,
decryption: string ,
decryptionKey: string ,
}
,
handlerMappings:
[
{
extension: string ,
scriptProcessor: string ,
arguments: string ,
}
,
]
,
documentRoot: string ,
scmType: enum ,
use32BitWorkerProcess: boolean ,
webSocketsEnabled: boolean ,
alwaysOn: boolean ,
javaVersion: string ,
javaContainer: string ,
javaContainerVersion: string ,
appCommandLine: string ,
managedPipelineMode: enum ,
virtualApplications:
[
{
virtualPath: string ,
physicalPath: string ,
preloadEnabled: boolean ,
virtualDirectories:
[
{
virtualPath: string ,
physicalPath: string ,
}
,
]
,
}
,
]
,
loadBalancing: enum ,
experiments:
{
rampUpRules:
[
{
actionHostName: string ,
reroutePercentage: number ,
changeStep: number ,
changeIntervalInMinutes: integer ,
minReroutePercentage: number ,
maxReroutePercentage: number ,
changeDecisionCallbackUrl: string ,
name: string ,
}
,
]
,
}
,
limits:
{
maxPercentageCpu: number ,
maxMemoryInMb: integer ,
maxDiskSizeInMb: integer ,
}
,
autoHealEnabled: boolean ,
autoHealRules:
{
triggers:
{
requests:
{
count: integer ,
timeInterval: string ,
}
,
privateBytesInKB: integer ,
statusCodes:
[
{
status: integer ,
subStatus: integer ,
win32Status: integer ,
count: integer ,
timeInterval: string ,
path: string ,
}
,
]
,
slowRequests:
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
slowRequestsWithPath:
[
{
timeTaken: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
statusCodesRange:
[
{
statusCodes: string ,
path: string ,
count: integer ,
timeInterval: string ,
}
,
]
,
}
,
actions:
{
actionType: enum ,
customAction:
{
exe: string ,
parameters: string ,
}
,
minProcessExecutionTime: string ,
}
,
}
,
tracingOptions: string ,
vnetName: string ,
vnetRouteAllEnabled: boolean ,
vnetPrivatePortsCount: integer ,
cors:
{
allowedOrigins:
[
string ,
]
,
supportCredentials: boolean ,
}
,
push:
{
properties:
{
isPushEnabled: boolean ,
tagWhitelistJson: string ,
tagsRequiringAuth: string ,
dynamicTagsJson: string ,
}
,
}
,
apiDefinition:
{
url: string ,
}
,
apiManagementConfig:
{
id: string ,
}
,
autoSwapSlotName: string ,
localMySqlEnabled: boolean ,
managedServiceIdentityId: integer ,
xManagedServiceIdentityId: integer ,
keyVaultReferenceIdentity: string ,
ipSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictions:
[
{
ipAddress: string ,
subnetMask: string ,
vnetSubnetResourceId: string ,
vnetTrafficTag: integer ,
subnetTrafficTag: integer ,
action: string ,
tag: enum ,
priority: integer ,
name: string ,
description: string ,
headers: object ,
}
,
]
,
scmIpSecurityRestrictionsUseMain: boolean ,
http20Enabled: boolean ,
minTlsVersion: enum ,
scmMinTlsVersion: enum ,
ftpsState: enum ,
preWarmedInstanceCount: integer ,
functionAppScaleLimit: integer ,
healthCheckPath: string ,
functionsRuntimeScaleMonitoringEnabled: boolean ,
websiteTimeZone: string ,
minimumElasticInstanceCount: integer ,
azureStorageAccounts: object ,
publicNetworkAccess: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
target: string ,
details:
[
{
code: string ,
message: string ,
target: string ,
}
,
]
,
innererror: string ,
}
,
}