PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/?api-version=2023-01-01

Description for Updates the configuration of an app.

Servers

Path parameters

Name Type Required Description
name String Yes

Name of the app.

slot String Yes

Name of the deployment slot. If a slot is not specified, the API will update configuration for the production slot.

subscriptionId String Yes

Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).

resourceGroupName String Yes

Name of the resource group to which the resource belongs.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
id String No

Resource Id.

name String No

Resource Name.

properties Object No

Configuration of an App Service app.

properties.linuxFxVersion String No

Linux App Framework and version

properties.scmMinTlsVersion String No

ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site

Possible values:

  • "1.1"
  • "1.0"
  • "1.2"
properties.remoteDebuggingEnabled Boolean No

true if remote debugging is enabled; otherwise, false.

properties.apiDefinition Object No

Information about the formal API definition for the app.

properties.apiDefinition.url String No

The URL of the API definition.

properties.netFrameworkVersion String No

.NET Framework version.

Default value: "v4.6"

properties.metadata[] Array No

Application metadata. This property cannot be retrieved, since it may contain secrets.

properties.metadata[].name String No

Pair name.

properties.metadata[].value String No

Pair value.

properties.javaContainerVersion String No

Java container version.

properties.tracingOptions String No

Tracing options.

properties.cors Object No

Cross-Origin Resource Sharing (CORS) settings for the app.

properties.cors.allowedOrigins[] Array No

Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use "*" to allow all.

properties.cors.supportCredentials Boolean No

Gets or sets whether CORS requests with credentials are allowed. See https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials for more details.

properties.pythonVersion String No

Version of Python.

properties.preWarmedInstanceCount Integer No

Number of preWarmed instances. This setting only applies to the Consumption and Elastic Plans

properties.detailedErrorLoggingEnabled Boolean No

true if detailed error logging is enabled; otherwise, false.

properties.appCommandLine String No

App command line to launch.

properties.requestTracingEnabled Boolean No

true if request tracing is enabled; otherwise, false.

properties.vnetPrivatePortsCount Integer No

The number of private ports assigned to this app. These will be assigned dynamically on runtime.

properties.virtualApplications[] Array No

Virtual applications.

properties.virtualApplications[].physicalPath String No

Physical path.

properties.virtualApplications[].virtualPath String No

Virtual path.

properties.virtualApplications[].preloadEnabled Boolean No

true if preloading is enabled; otherwise, false.

properties.virtualApplications[].virtualDirectories[] Array No

Virtual directories for virtual application.

properties.virtualApplications[].virtualDirectories[].physicalPath String No

Physical path.

properties.virtualApplications[].virtualDirectories[].virtualPath String No

Path to virtual application.

properties.autoHealEnabled Boolean No

true if Auto Heal is enabled; otherwise, false.

properties.keyVaultReferenceIdentity String No

Identity to use for Key Vault Reference authentication.

properties.publishingUsername String No

Publishing user name.

properties.scmIpSecurityRestrictionsUseMain Boolean No

IP security restrictions for scm to use main.

properties.connectionStrings[] Array No

Connection strings.

properties.connectionStrings[].name String No

Name of connection string.

properties.connectionStrings[].type String No

Type of database.

Possible values:

  • "ApiHub"
  • "PostgreSQL"
  • "Custom"
  • "NotificationHub"
  • "EventHub"
  • "DocDb"
  • "RedisCache"
  • "MySql"
  • "SQLAzure"
  • "ServiceBus"
  • "SQLServer"
properties.connectionStrings[].connectionString String No

Connection string value.

properties.vnetName String No

Virtual Network name.

properties.httpLoggingEnabled Boolean No

true if HTTP logging is enabled; otherwise, false.

properties.apiManagementConfig Object No

Azure API management (APIM) configuration linked to the app.

properties.apiManagementConfig.id String No

APIM-Api Identifier.

properties.healthCheckPath String No

Health check path

properties.acrUserManagedIdentityID String No

If using user managed identity, the user managed identity ClientId

properties.phpVersion String No

Version of PHP.

properties.scmIpSecurityRestrictions[] Array No

IP security restrictions for scm.

properties.scmIpSecurityRestrictions[].priority Integer No

Priority of IP restriction rule.

properties.scmIpSecurityRestrictions[].vnetSubnetResourceId String No

Virtual network resource id

properties.scmIpSecurityRestrictions[].subnetTrafficTag Integer No

(internal) Subnet traffic tag

properties.scmIpSecurityRestrictions[].name String No

IP restriction rule name.

properties.scmIpSecurityRestrictions[].action String No

Allow or Deny access for this IP range.

properties.scmIpSecurityRestrictions[].description String No

IP restriction rule description.

properties.scmIpSecurityRestrictions[].ipAddress String No

IP address the security restriction is valid for. It can be in form of pure ipv4 address (required SubnetMask property) or CIDR notation such as ipv4/mask (leading bit match). For CIDR, SubnetMask property must not be specified.

properties.scmIpSecurityRestrictions[].vnetTrafficTag Integer No

(internal) Vnet traffic tag

properties.scmIpSecurityRestrictions[].subnetMask String No

Subnet mask for the range of IP addresses the restriction is valid for.

properties.scmIpSecurityRestrictions[].headers Object No

IP restriction rule headers. X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). The matching logic is ..

  • If the property is null or empty (default), all hosts(or lack of) are allowed.
  • A value is compared using ordinal-ignore-case (excluding port number).
  • Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain foo.contoso.com but not the root domain contoso.com or multi-level foo.bar.contoso.com
  • Unicode host names are allowed but are converted to Punycode for matching.

X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). The matching logic is ..

  • If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed.
  • If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property.

X-Azure-FDID and X-FD-HealthProbe. The matching logic is exact match.

properties.scmIpSecurityRestrictions[].headers.name String No
properties.scmIpSecurityRestrictions[].tag String No

Defines what this IP filter will be used for. This is to support IP filtering on proxies.

Possible values:

  • "XffProxy"
  • "Default"
  • "ServiceTag"
properties.machineKey Object No

MachineKey of an app.

properties.machineKey.validationKey String No

Validation key.

properties.machineKey.decryption String No

Algorithm used for decryption.

properties.machineKey.validation String No

MachineKey validation.

properties.machineKey.decryptionKey String No

Decryption key.

properties.publicNetworkAccess String No

Property to allow or block all public traffic.

properties.javaContainer String No

Java container.

properties.functionsRuntimeScaleMonitoringEnabled Boolean No

Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled, the ScaleController will not monitor event sources directly, but will instead call to the runtime to get scale status.

properties.nodeVersion String No

Version of Node.js.

properties.acrUseManagedIdentityCreds Boolean No

Flag to use Managed Identity Creds for ACR pull

properties.loadBalancing String No

Site load balancing.

Possible values:

  • "RequestHash"
  • "LeastResponseTime"
  • "LeastRequests"
  • "WeightedRoundRobin"
  • "PerSiteRoundRobin"
  • "WeightedTotalTraffic"
properties.vnetRouteAllEnabled Boolean No

Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.

properties.localMySqlEnabled Boolean No

true to enable local MySQL; otherwise, false.

Default value: false

properties.push Object No

Push settings for the App.

properties.push.id String No

Resource Id.

properties.push.name String No

Resource Name.

properties.push.properties Object No

PushSettings resource specific properties

properties.push.properties.isPushEnabled Boolean Yes

Gets or sets a flag indicating whether the Push endpoint is enabled.

properties.push.properties.dynamicTagsJson String No

Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint.

properties.push.properties.tagWhitelistJson String No

Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint.

properties.push.properties.tagsRequiringAuth String No

Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. Tags can consist of alphanumeric characters and the following: '_', '@', '#', '.', ':', '-'. Validation should be performed at the PushRequestHandler.

properties.push.type String No

Resource type.

properties.push.kind String No

Kind of resource.

properties.autoSwapSlotName String No

Auto-swap slot name.

properties.documentRoot String No

Document root.

properties.ftpsState String No

State of FTP / FTPS service

Possible values:

  • "FtpsOnly"
  • "Disabled"
  • "AllAllowed"
properties.webSocketsEnabled Boolean No

true if WebSocket is enabled; otherwise, false.

properties.http20Enabled Boolean No

Http20Enabled: configures a web site to allow clients to connect over http2.0

Default value: true

properties.limits Object No

Metric limits set on an app.

properties.limits.maxDiskSizeInMb Integer No

Maximum allowed disk size usage in MB.

properties.limits.maxMemoryInMb Integer No

Maximum allowed memory usage in MB.

properties.limits.maxPercentageCpu Number No

Maximum allowed CPU usage percentage.

properties.functionAppScaleLimit Integer No

Maximum number of workers that a site can scale out to. This setting only applies to the Consumption and Elastic Premium Plans

properties.powerShellVersion String No

Version of PowerShell.

properties.managedPipelineMode String No

Managed pipeline mode.

Possible values:

  • "Integrated"
  • "Classic"
properties.minTlsCipherSuite String No

The minimum strength TLS cipher suite allowed for an application

Possible values:

  • "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
  • "TLS_AES_256_GCM_SHA384"
  • "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
  • "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
  • "TLS_RSA_WITH_AES_128_CBC_SHA256"
  • "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
  • "TLS_RSA_WITH_AES_256_GCM_SHA384"
  • "TLS_RSA_WITH_AES_256_CBC_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
  • "TLS_AES_128_GCM_SHA256"
  • "TLS_RSA_WITH_AES_256_CBC_SHA"
  • "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
  • "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
  • "TLS_RSA_WITH_AES_128_GCM_SHA256"
  • "TLS_RSA_WITH_AES_128_CBC_SHA"
properties.minimumElasticInstanceCount Integer No

Number of minimum instance count for a site This setting only applies to the Elastic Plans

properties.appSettings[] Array No

Application settings.

properties.appSettings[].name String No

Pair name.

properties.appSettings[].value String No

Pair value.

properties.alwaysOn Boolean No

true if Always On is enabled; otherwise, false.

properties.autoHealRules Object No

Rules that can be defined for auto-heal.

properties.autoHealRules.actions Object No

Actions which to take by the auto-heal module when a rule is triggered.

properties.autoHealRules.actions.actionType String No

Predefined action to be taken.

Possible values:

  • "CustomAction"
  • "Recycle"
  • "LogEvent"
properties.autoHealRules.actions.minProcessExecutionTime String No

Minimum time the process must execute before taking the action

properties.autoHealRules.actions.customAction Object No

Custom action to be executed when an auto heal rule is triggered.

properties.autoHealRules.actions.customAction.exe String No

Executable to be run.

properties.autoHealRules.actions.customAction.parameters String No

Parameters for the executable.

properties.autoHealRules.triggers Object No

Triggers for auto-heal.

properties.autoHealRules.triggers.slowRequests Object No

Trigger based on request execution time.

properties.autoHealRules.triggers.slowRequests.count Integer No

Request Count.

properties.autoHealRules.triggers.slowRequests.timeTaken String No

Time taken.

properties.autoHealRules.triggers.slowRequests.timeInterval String No

Time interval.

properties.autoHealRules.triggers.slowRequests.path String No

Request Path.

properties.autoHealRules.triggers.requests Object No

Trigger based on total requests.

properties.autoHealRules.triggers.requests.count Integer No

Request Count.

properties.autoHealRules.triggers.requests.timeInterval String No

Time interval.

properties.autoHealRules.triggers.statusCodesRange[] Array No

A rule based on status codes ranges.

properties.autoHealRules.triggers.statusCodesRange[].count Integer No

Request Count.

properties.autoHealRules.triggers.statusCodesRange[].timeInterval String No

Time interval.

properties.autoHealRules.triggers.statusCodesRange[].statusCodes String No

HTTP status code.

properties.autoHealRules.triggers.statusCodesRange[].path String No
properties.autoHealRules.triggers.privateBytesInKB Integer No

A rule based on private bytes.

properties.autoHealRules.triggers.statusCodes[] Array No

A rule based on status codes.

properties.autoHealRules.triggers.statusCodes[].count Integer No

Request Count.

properties.autoHealRules.triggers.statusCodes[].status Integer No

HTTP status code.

properties.autoHealRules.triggers.statusCodes[].subStatus Integer No

Request Sub Status.

properties.autoHealRules.triggers.statusCodes[].timeInterval String No

Time interval.

properties.autoHealRules.triggers.statusCodes[].win32Status Integer No

Win32 error code.

properties.autoHealRules.triggers.statusCodes[].path String No

Request Path

properties.autoHealRules.triggers.slowRequestsWithPath[] Array No

A rule based on multiple Slow Requests Rule with path

properties.autoHealRules.triggers.slowRequestsWithPath[].count Integer No

Request Count.

properties.autoHealRules.triggers.slowRequestsWithPath[].timeTaken String No

Time taken.

properties.autoHealRules.triggers.slowRequestsWithPath[].timeInterval String No

Time interval.

properties.autoHealRules.triggers.slowRequestsWithPath[].path String No

Request Path.

properties.windowsFxVersion String No

Xenon App Framework and version

properties.remoteDebuggingVersion String No

Remote debugging version.

properties.ipSecurityRestrictionsDefaultAction String No

Default action for main access restriction if no rules are matched.

Possible values:

  • "Deny"
  • "Allow"
properties.experiments Object No

Routing rules in production experiments.

properties.experiments.rampUpRules[] Array No

List of ramp-up rules.

properties.experiments.rampUpRules[].actionHostName String No

Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net.

properties.experiments.rampUpRules[].changeDecisionCallbackUrl String No

Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts. https://www.siteextensions.net/packages/TiPCallback/

properties.experiments.rampUpRules[].name String No

Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.

properties.experiments.rampUpRules[].changeIntervalInMinutes Integer No

Specifies interval in minutes to reevaluate ReroutePercentage.

properties.experiments.rampUpRules[].maxReroutePercentage Number No

Specifies upper boundary below which ReroutePercentage will stay.

properties.experiments.rampUpRules[].reroutePercentage Number No

Percentage of the traffic which will be redirected to ActionHostName.

properties.experiments.rampUpRules[].minReroutePercentage Number No

Specifies lower boundary above which ReroutePercentage will stay.

properties.experiments.rampUpRules[].changeStep Number No

In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches \nMinReroutePercentage or MaxReroutePercentage. Site metrics are checked every N minutes specified in ChangeIntervalInMinutes.\nCustom decision algorithm can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl.

properties.javaVersion String No

Java version.

properties.logsDirectorySizeLimit Integer No

HTTP logs directory size limit.

properties.scmIpSecurityRestrictionsDefaultAction String No

Default action for scm access restriction if no rules are matched.

Possible values:

  • "Deny"
  • "Allow"
properties.websiteTimeZone String No

Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

properties.defaultDocuments[] Array No

Default documents.

properties.numberOfWorkers Integer No

Number of workers.

properties.elasticWebAppScaleLimit Integer No

Maximum number of workers that a site can scale out to. This setting only applies to apps in plans where ElasticScaleEnabled is true

properties.scmType String No

SCM type.

Possible values:

  • "VSTSRM"
  • "CodePlexHg"
  • "Tfs"
  • "BitbucketHg"
  • "Dropbox"
  • "GitHub"
  • "OneDrive"
  • "None"
  • "ExternalGit"
  • "LocalGit"
  • "BitbucketGit"
  • "ExternalHg"
  • "VSO"
  • "CodePlexGit"
properties.managedServiceIdentityId Integer No

Managed Service Identity Id

properties.use32BitWorkerProcess Boolean No

true to use 32-bit worker process; otherwise, false.

properties.requestTracingExpirationTime String No

Request tracing expiration time.

properties.handlerMappings[] Array No

Handler mappings.

properties.handlerMappings[].arguments String No

Command-line arguments to be passed to the script processor.

properties.handlerMappings[].extension String No

Requests with this extension will be handled using the specified FastCGI application.

properties.handlerMappings[].scriptProcessor String No

The absolute path to the FastCGI application.

properties.azureStorageAccounts Object No

List of Azure Storage Accounts.

properties.azureStorageAccounts.name Object No

Azure Files or Blob Storage access information value for dictionary storage.

properties.azureStorageAccounts.name.accountName String No

Name of the storage account.

properties.azureStorageAccounts.name.type String No

Type of storage.

Possible values:

  • "AzureFiles"
  • "AzureBlob"
properties.azureStorageAccounts.name.state String No

State of the storage account.

Possible values:

  • "Ok"
  • "NotValidated"
  • "InvalidCredentials"
  • "InvalidShare"
properties.azureStorageAccounts.name.shareName String No

Name of the file share (container name, for Blob storage).

properties.azureStorageAccounts.name.accessKey String No

Access key for the storage account.

properties.azureStorageAccounts.name.mountPath String No

Path to mount the storage within the site's runtime environment.

properties.xManagedServiceIdentityId Integer No

Explicit Managed Service Identity Id

properties.minTlsVersion String No

MinTlsVersion: configures the minimum version of TLS required for SSL requests

Possible values:

  • "1.1"
  • "1.0"
  • "1.2"
properties.ipSecurityRestrictions[] Array No

IP security restrictions for main.

properties.ipSecurityRestrictions[].priority Integer No

Priority of IP restriction rule.

properties.ipSecurityRestrictions[].vnetSubnetResourceId String No

Virtual network resource id

properties.ipSecurityRestrictions[].subnetTrafficTag Integer No

(internal) Subnet traffic tag

properties.ipSecurityRestrictions[].name String No

IP restriction rule name.

properties.ipSecurityRestrictions[].action String No

Allow or Deny access for this IP range.

properties.ipSecurityRestrictions[].description String No

IP restriction rule description.

properties.ipSecurityRestrictions[].ipAddress String No

IP address the security restriction is valid for. It can be in form of pure ipv4 address (required SubnetMask property) or CIDR notation such as ipv4/mask (leading bit match). For CIDR, SubnetMask property must not be specified.

properties.ipSecurityRestrictions[].vnetTrafficTag Integer No

(internal) Vnet traffic tag

properties.ipSecurityRestrictions[].subnetMask String No

Subnet mask for the range of IP addresses the restriction is valid for.

properties.ipSecurityRestrictions[].headers Object No

IP restriction rule headers. X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). The matching logic is ..

  • If the property is null or empty (default), all hosts(or lack of) are allowed.
  • A value is compared using ordinal-ignore-case (excluding port number).
  • Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain foo.contoso.com but not the root domain contoso.com or multi-level foo.bar.contoso.com
  • Unicode host names are allowed but are converted to Punycode for matching.

X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). The matching logic is ..

  • If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed.
  • If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property.

X-Azure-FDID and X-FD-HealthProbe. The matching logic is exact match.

properties.ipSecurityRestrictions[].headers.name String No
properties.ipSecurityRestrictions[].tag String No

Defines what this IP filter will be used for. This is to support IP filtering on proxies.

Possible values:

  • "XffProxy"
  • "Default"
  • "ServiceTag"
type String No

Resource type.

kind String No

Kind of resource.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.