ApplicationGateway

Application gateway resource.

Layer-7Load BalancingReverse ProxyWAFMicrosoft AzureWeb Application Firewall

Properties

Name Type Description
id string Resource ID.
name string Resource name.
type string Resource type.
location string Resource location.
tags object Resource tags.
properties object Properties of the application gateway.
etag string A unique read-only string that changes whenever the resource is updated.
zones array A list of availability zones denoting where the resource needs to come from.
identity object The identity of the application gateway, if configured.
View JSON Schema on GitHub

JSON Schema

microsoft-azure-application-gateway-application-gateway-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-application-gateway/json-schema/microsoft-azure-application-gateway-application-gateway-schema.json",
  "title": "ApplicationGateway",
  "description": "Application gateway resource.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-application-gateway-application-gateways-api-openapi.yml#/components/schemas/ApplicationGateway",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/ApplicationGatewayPropertiesFormat",
      "description": "Properties of the application gateway.",
      "x-ms-client-flatten": true
    },
    "etag": {
      "type": "string",
      "description": "A unique read-only string that changes whenever the resource is updated.",
      "readOnly": true
    },
    "zones": {
      "type": "array",
      "description": "A list of availability zones denoting where the resource needs to come from.",
      "items": {
        "type": "string"
      }
    },
    "identity": {
      "$ref": "#/$defs/ManagedServiceIdentity",
      "description": "The identity of the application gateway, if configured."
    }
  },
  "allOf": [
    {
      "$ref": "#/$defs/Resource"
    }
  ],
  "$defs": {
    "ApplicationGatewayAdvancedRoutingCondition": {
      "type": "object",
      "description": "A condition evaluated as part of an advanced routing condition set.",
      "properties": {
        "conditionType": {
          "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingConditionType",
          "description": "The type of request property the condition is evaluated against."
        },
        "propertyName": {
          "type": "string",
          "description": "Name of the request property the condition is evaluated against. Required when conditionType is Header or QueryString, and not applicable when conditionType is Path, ClientIP or Method."
        },
        "propertyValues": {
          "type": "array",
          "description": "Values the request property is matched against. Exactly one of propertyValues or propertyValueMatcher must be specified.",
          "items": {
            "type": "string"
          }
        },
        "propertyValueMatcher": {
          "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingPropertyValueMatcher",
          "description": "Pattern the request property is matched against. Exactly one of propertyValues or propertyValueMatcher must be specified. Not applicable when conditionType is ClientIP or Method."
        }
      },
      "required": [
        "conditionType"
      ]
    },
    "ApplicationGatewayAdvancedRoutingConditionSet": {
      "type": "object",
      "description": "Advanced routing condition set of an application gateway. Referenced by advanced routing rules to determine whether a request matches.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingConditionSetPropertiesFormat",
          "description": "Properties of the application gateway advanced routing condition set."
        },
        "name": {
          "type": "string",
          "description": "Name of the advanced routing condition set that is unique within an Application Gateway."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayAdvancedRoutingConditionSetPropertiesFormat": {
      "type": "object",
      "description": "Properties of advanced routing condition set of the application gateway.",
      "properties": {
        "routingConditions": {
          "type": "array",
          "description": "Routing conditions of the condition set. All conditions must be satisfied for the referencing advanced routing rule to match.",
          "items": {
            "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingCondition"
          },
          "x-ms-identifiers": []
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the advanced routing condition set resource.",
          "readOnly": true
        }
      },
      "required": [
        "routingConditions"
      ]
    },
    "ApplicationGatewayAdvancedRoutingConditionType": {
      "type": "string",
      "description": "The type of request property that an advanced routing condition is evaluated against.",
      "enum": [
        "Header",
        "QueryString",
        "Path",
        "ClientIP",
        "Method"
      ],
      "x-ms-enum": {
        "name": "ApplicationGatewayAdvancedRoutingConditionType",
        "modelAsString": true,
        "values": [
          {
            "name": "Header",
            "value": "Header",
            "description": "The condition is evaluated against an HTTP request header identified by propertyName."
          },
          {
            "name": "QueryString",
            "value": "QueryString",
            "description": "The condition is evaluated against a query string argument identified by propertyName."
          },
          {
            "name": "Path",
            "value": "Path",
            "description": "The condition is evaluated against the request path. propertyName is not applicable."
          },
          {
            "name": "ClientIP",
            "value": "ClientIP",
            "description": "The condition is evaluated against the client IP address. propertyName and propertyValueMatcher are not applicable."
          },
          {
            "name": "Method",
            "value": "Method",
            "description": "The condition is evaluated against the HTTP method. propertyName and propertyValueMatcher are not applicable."
          }
        ]
      }
    },
    "ApplicationGatewayAdvancedRoutingMap": {
      "type": "object",
      "description": "Advanced routing map of an application gateway. Holds the advanced routing rules evaluated for requests handled by an AdvancedRouting request routing rule, along with the configuration applied when no rule matches.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingMapPropertiesFormat",
          "description": "Properties of the application gateway advanced routing map."
        },
        "name": {
          "type": "string",
          "description": "Name of the advanced routing map that is unique within an Application Gateway."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayAdvancedRoutingMapPropertiesFormat": {
      "type": "object",
      "description": "Properties of advanced routing map of the application gateway.",
      "properties": {
        "defaultBackendAddressPool": {
          "$ref": "#/$defs/SubResource",
          "description": "Default backend address pool resource of the advanced routing map. Required unless defaultRedirectConfiguration is specified."
        },
        "defaultBackendHttpSettings": {
          "$ref": "#/$defs/SubResource",
          "description": "Default backend http settings resource of the advanced routing map. Required unless defaultRedirectConfiguration is specified."
        },
        "defaultRedirectConfiguration": {
          "$ref": "#/$defs/SubResource",
          "description": "Default redirect configuration resource of the advanced routing map. Cannot be combined with defaultBackendAddressPool or defaultBackendHttpSettings."
        },
        "defaultRewriteRuleSet": {
          "$ref": "#/$defs/SubResource",
          "description": "Default rewrite rule set resource of the advanced routing map."
        },
        "defaultAuthConfigs": {
          "type": "array",
          "description": "Default authentication configuration bindings of the advanced routing map. Only one authentication configuration is supported. Authentication configuration names must be unique across the Application Gateway, and an Application Gateway can reference at most 100 distinct authentication policies. Authentication policies can only be bound to Application Gateways using the Standard_v2 or WAF_v2 SKU.",
          "maxItems": 1,
          "items": {
            "$ref": "#/$defs/ApplicationGatewayAuthConfig"
          },
          "x-ms-identifiers": [
            "name"
          ]
        },
        "advancedRoutingRules": {
          "type": "array",
          "description": "Advanced routing rules of the advanced routing map. Each rule must specify a priority that is unique within the map.",
          "items": {
            "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingRule"
          }
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the advanced routing map resource.",
          "readOnly": true
        }
      },
      "required": [
        "advancedRoutingRules"
      ]
    },
    "ApplicationGatewayAdvancedRoutingPropertyValueMatcher": {
      "type": "object",
      "description": "Matches the value of a request property against a fixed string or regular expression.",
      "properties": {
        "pattern": {
          "type": "string",
          "description": "The pattern, either fixed string or regular expression, that the request property value is evaluated against."
        },
        "ignoreCase": {
          "type": "boolean",
          "description": "Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison.",
          "default": true
        },
        "negate": {
          "type": "boolean",
          "description": "Setting this value as truth will force to check the negation of the condition given by the user in the pattern field."
        }
      },
      "required": [
        "pattern"
      ]
    },
    "ApplicationGatewayAdvancedRoutingRule": {
      "type": "object",
      "description": "Advanced routing rule of an application gateway.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayAdvancedRoutingRulePropertiesFormat",
          "description": "Properties of the application gateway advanced routing rule."
        },
        "name": {
          "type": "string",
          "description": "Name of the advanced routing rule that is unique within an advanced routing map."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayAdvancedRoutingRulePropertiesFormat": {
      "type": "object",
      "description": "Properties of advanced routing rule of the application gateway.",
      "properties": {
        "priority": {
          "type": "integer",
          "format": "int32",
          "description": "Priority of the advanced routing rule. Must be unique within the containing advanced routing map. Rules are evaluated in ascending priority order.",
          "minimum": 1,
          "maximum": 1000
        },
        "advancedRoutingConditionSet": {
          "$ref": "#/$defs/SubResource",
          "description": "Advanced routing condition set resource evaluated by this rule."
        },
        "backendAddressPool": {
          "$ref": "#/$defs/SubResource",
          "description": "Backend address pool resource of the advanced routing rule. Required unless redirectConfiguration is specified."
        },
        "backendHttpSettings": {
          "$ref": "#/$defs/SubResource",
          "description": "Backend http settings resource of the advanced routing rule. Required unless redirectConfiguration is specified."
        },
        "redirectConfiguration": {
          "$ref": "#/$defs/SubResource",
          "description": "Redirect configuration resource of the advanced routing rule. Cannot be combined with backendAddressPool or backendHttpSettings."
        },
        "rewriteRuleSet": {
          "$ref": "#/$defs/SubResource",
          "description": "Rewrite rule set resource of the advanced routing rule."
        },
        "authConfigs": {
          "type": "array",
          "description": "Authentication configuration bindings of the advanced routing rule. Only one authentication configuration is supported. Authentication configuration names must be unique across the Application Gateway, and an Application Gateway can reference at most 100 distinct authentication policies. Authentication policies can only be bound to Application Gateways using the Standard_v2 or WAF_v2 SKU.",
          "maxItems": 1,
          "items": {
            "$ref": "#/$defs/ApplicationGatewayAuthConfig"
          },
          "x-ms-identifiers": [
            "name"
          ]
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the advanced routing rule resource.",
          "readOnly": true
        }
      },
      "required": [
        "priority"
      ]
    },
    "ApplicationGatewayAuthConfig": {
      "type": "object",
      "description": "An authentication configuration binding for an Application Gateway routing rule or routing map.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the auth configuration."
        },
        "authenticationPolicy": {
          "$ref": "#/$defs/SubResource",
          "description": "Reference to the authentication policy (Microsoft.Network/authenticationPolicies) resource."
        }
      },
      "required": [
        "name",
        "authenticationPolicy"
      ]
    },
    "ApplicationGatewayAuthenticationCertificate": {
      "type": "object",
      "description": "Authentication certificates of an application gateway.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayAuthenticationCertificatePropertiesFormat",
          "description": "Properties of the application gateway authentication certificate.",
          "x-ms-client-flatten": true
        },
        "name": {
          "type": "string",
          "description": "Name of the authentication certificate that is unique within an Application Gateway."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayAuthenticationCertificatePropertiesFormat": {
      "type": "object",
      "description": "Authentication certificates properties of an application gateway.",
      "properties": {
        "data": {
          "type": "string",
          "description": "Certificate public data."
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the authentication certificate resource.",
          "readOnly": true
        }
      }
    },
    "ApplicationGatewayAutoscaleConfiguration": {
      "type": "object",
      "description": "Application Gateway autoscale configuration.",
      "properties": {
        "minCapacity": {
          "type": "integer",
          "format": "int32",
          "description": "Lower bound on number of Application Gateway capacity.",
          "minimum": 0
        },
        "maxCapacity": {
          "type": "integer",
          "format": "int32",
          "description": "Upper bound on number of Application Gateway capacity.",
          "minimum": 2
        }
      },
      "required": [
        "minCapacity"
      ]
    },
    "ApplicationGatewayBackendAddress": {
      "type": "object",
      "description": "Backend address of an application gateway.",
      "properties": {
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name (FQDN)."
        },
        "ipAddress": {
          "type": "string",
          "description": "IP address."
        }
      }
    },
    "ApplicationGatewayBackendAddressPool": {
      "type": "object",
      "description": "Backend Address Pool of an application gateway.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayBackendAddressPoolPropertiesFormat",
          "description": "Properties of the application gateway backend address pool.",
          "x-ms-client-flatten": true
        },
        "name": {
          "type": "string",
          "description": "Name of the backend address pool that is unique within an Application Gateway."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayBackendAddressPoolPropertiesFormat": {
      "type": "object",
      "description": "Properties of Backend Address Pool of an application gateway.",
      "properties": {
        "backendIPConfigurations": {
          "type": "array",
          "description": "Collection of references to IPs defined in network interfaces.",
          "items": {
            "$ref": "#/$defs/NetworkInterfaceIPConfiguration"
          },
          "readOnly": true
        },
        "backendAddresses": {
          "type": "array",
          "description": "Backend addresses.",
          "items": {
            "$ref": "#/$defs/ApplicationGatewayBackendAddress"
          }
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the backend address pool resource.",
          "readOnly": true
        }
      }
    },
    "ApplicationGatewayBackendHttpSettings": {
      "type": "object",
      "description": "Backend address pool settings of an application gateway.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayBackendHttpSettingsPropertiesFormat",
          "description": "Properties of the application gateway backend HTTP settings.",
          "x-ms-client-flatten": true
        },
        "name": {
          "type": "string",
          "description": "Name of the backend http settings that is unique within an Application Gateway."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayBackendHttpSettingsPropertiesFormat": {
      "type": "object",
      "description": "Properties of Backend address pool settings of an application gateway.",
      "properties": {
        "port": {
          "type": "integer",
          "format": "int32",
          "description": "The destination port on the backend."
        },
        "protocol": {
          "$ref": "#/$defs/ApplicationGatewayProtocol",
          "description": "The protocol used to communicate with the backend."
        },
        "cookieBasedAffinity": {
          "$ref": "#/$defs/ApplicationGatewayCookieBasedAffinity",
          "description": "Cookie based affinity."
        },
        "requestTimeout": {
          "type": "integer",
          "format": "int32",
          "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds."
        },
        "probe": {
          "$ref": "#/$defs/SubResource",
          "description": "Probe resource of an application gateway."
        },
        "authenticationCertificates": {
          "type": "array",
          "description": "Array of references to application gateway authentication certificates.",
          "items": {
            "$ref": "#/$defs/SubResource"
          }
        },
        "trustedRootCertificates": {
          "type": "array",
          "description": "Array of references to application gateway trusted root certificates.",
          "items": {
            "$ref": "#/$defs/SubResource"
          }
        },
        "connectionDraining": {
          "$ref": "#/$defs/ApplicationGatewayConnectionDraining",
          "description": "Connection draining of the backend http settings resource."
        },
        "hostName": {
          "type": "string",
          "description": "Host header to be sent to the backend servers."
        },
        "pickHostNameFromBackendAddress": {
          "type": "boolean",
          "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false."
        },
        "affinityCookieName": {
          "type": "string",
          "description": "Cookie name to use for the affinity cookie."
        },
        "probeEnabled": {
          "type": "boolean",
          "description": "Whether the probe is enabled. Default value is false."
        },
        "path": {
          "type": "string",
          "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null."
        },
        "dedicatedBackendConnection": {
          "type": "boolean",
          "description": "Enable or disable dedicated connection per backend server. Default is set to false."
        },
        "validateCertChainAndExpiry": {
          "type": "boolean",
          "description": "Verify or skip both chain and expiry validations of the certificate on the backend server. Default is set to true.",
          "default": true
        },
        "validateSNI": {
          "type": "boolean",
          "description": "When enabled, verifies if the Common Name of the certificate provided by the backend server matches the Server Name Indication (SNI) value. Default value is true.",
          "default": true
        },
        "sniName": {
          "type": "string",
          "description": "Specify an SNI value to match the common name of the certificate on the backend. By default, the application gateway uses the incoming request’s host header as the SNI. Default value is null."
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the backend HTTP settings resource.",
          "readOnly": true
        }
      }
    },
    "ApplicationGatewayBackendSettings": {
      "type": "object",
      "description": "Backend address pool settings of an application gateway.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ApplicationGatewayBackendSettingsPropertiesFormat",
          "description": "Properties of the application gateway backend settings.",
          "x-ms-client-flatten": true
        },
        "name": {
          "type": "string",
          "description": "Name of the backend settings that is unique within an Application Gateway."
        },
        "etag": {
          "type": "string",
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "description": "Type of the resource.",
          "readOnly": true
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ]
    },
    "ApplicationGatewayBackendSettingsPropertiesFormat": {
      "type": "object",
      "description": "Properties of Backend address pool settings of an application gateway.",
      "properties": {
        "port": {
          "type": "integer",
          "format": "int32",
          "description": "The destination port on the backend."
        },
        "protocol": {
          "$ref": "#/$defs/ApplicationGatewayProtocol",
          "description": "The protocol used to communicate with the backend."
        },
        "timeout": {
          "type": "integer",
          "format": "int32",
          "description": "Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds."
        },
        "probe": {
          "$ref": "#/$defs/SubResource",
          "description": "Probe resource of an application gateway."
        },
        "trustedRootCertificates": {
          "type": "array",
          "description": "Array of references to application gateway trusted root certificates.",
          "items": {
            "$ref": "#/$defs/SubResource"
          }
        },
        "hostName": {
          "type": "string",
          "description": "Server name indication to be sent to the backend servers for Tls protocol."
        },
        "pickHostNameFromBackendAddress": {
          "type": "boolean",
          "description": "Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false."
        },
        "enableL4ClientIpPreservation": {
          "type": "boolean",
          "description": "Whether to send Proxy Protocol header to backend servers over TCP or TLS protocols. Default value is false."
        },
        "provisioningState": {
          "$ref": "#/$defs/ProvisioningState",
          "description": "The provisioning state of the backend HTTP settings resource.",
          "readOnly": true
        }
      }
    },
    "ApplicationGatewayClientAuthConfiguration": {
      "type": "object",
      "description": "Application gateway client authentication configuration.",
      "properties": {
        "verifyClientCertIssuerDN": {
          "type": "boolean",
          "description": "Verify client certificate issuer name on the application gateway."
        },
        "verifyClientRevocation": {
          "$ref": "#/$defs/ApplicationGatewayClientRevocationOptions",
          "description": "Verify client certificate revocation status."
        },
        "verifyClientAuthMode": {
          "$ref": "#/$defs/ApplicationGatewayClientAuthVerificationModes",
          "description": "Verify client Authentication mode."
        }
      }
    },
    "ApplicationGatewayClientAuthVerificationModes": {
      "type": "string",
      "description": "Verify client Authentication mode.",
      "enum": [
        "Strict",
        "Passthrough"
      ],
      "x-ms-enum": {
        "name": "ApplicationGatewayClientAuthVerificationModes",
        "modelAsString": true,
        "values": [
          {
            "name": "Strict",
            "value": "Strict",
            "description": "Strict"
          },
          {
            "name": "Passthrough",
            "value": "Passthrough",
            "description": "Passthrough"
          }
        ]
      }
    },
    "ApplicationGatewayClientRevocationOptions": {
      "type": "string",
      "description": "Verify client certificate revocation status.",
      "enum": [
        "None",
        "OCSP"
      ],
      "x-ms-enum": {
        "name": "ApplicationGatewayClientRevocationOptions",
        "modelAsString": true,
        "values": [
          {
            "name": "None",
            "value": "None",
            "description": "None"
          },
          {
            "name": "OCSP",
            "value": "OCSP",
            "description": "OCSP"
          }
        ]
      }
    },
    "ApplicationGatewayConnectionDraining": {
      "type": "object",
      "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether connection draining is enabled or not."
        },
        "drainTimeoutInSec": {
          "type": "integer",
          "format": "int32",
          "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.",
          "minimum": 1,
          "maximum": 3600
        }
      },
      "required": [
        "enabled",
        "drainTimeoutInSec"
      ]
    },
    "ApplicationGatewayCookieBasedAffinity": {
      "type": "string",
      "description": "Cookie based affinity.",
      "enum": [
        "Enabled",
        "Disabled"
      ],
      "x-ms-enum": {
        "name": "ApplicationGatewayCookieBasedAffinity",
        "modelAsString": true,
        "values": [
          {
            "name": "Enabled",
            "value": "Enabled",
            "description": "Enabled"
          },
          {
            "name": "Disabled",
            "value": "Disabled",
            "description": "Disabled"
          }
        ]
      }
    },
    "ApplicationGatewayCustomError": {
      "type": "object",
      "description": "Custom error of an application gateway.",
      "properties": {
        "statusCode": {
          "$ref": "#/$defs/ApplicationGatewayCustomErrorStatusCode",
          "description": "Status code of the application gateway custom error."
        },
        "customErrorPageUrl": {
          "type": "string",
          "description": "Error page URL of the application gateway custom error."
        }
      }
    },
    "ApplicationGatewayCustomErrorStatusCode": {
      "type": "string",
      "description": "Status code of the application gateway custom error.",
      "enum": [
        "HttpStatus400",
        "HttpStatus403",
        "HttpStatus404",
        "HttpStatus405",
        "HttpStatus408",
        "HttpStatus500",
        "HttpStatus502",
        "HttpStatus503",
        "HttpStatus504"
      ],
      "x-ms-enum": {
        "name": "ApplicationGatewayCustomErrorStatusCode",
        "modelAsString": true,
        "values": [
          {
            "name": "HttpStatus400",
            "value": "HttpStatus400",
            "description": "HttpStatus400"
          },
          {
            "name": "HttpStatus403",
            "value": "HttpStatus403",
            "description": "HttpStatus403"
          },
          {
            "name": "HttpStatus404",
            "value": "HttpStatus404",
            "description": "HttpStatus404"
          },
          {
            "name": "HttpStatus405",
            "value": "HttpStatus405",
            "description": "HttpStatus405"
          },
          {
            "name": "HttpStatus408",
            "value": "HttpStatus408",
            "description": "HttpStatus408"
          },
          {
            "name": "HttpStatus500",
            "value": "HttpStatus500",
            "description": "HttpStatus500"
          },
          {
            "name": "HttpStatus502",
            "value": "HttpStatus502",
            "description": "HttpStatus502"
          },
          {
            "name": "HttpStatus503",
            "value": "HttpStatus503",
            "description": "HttpStatus503"
          },
          {
            "name": "HttpStatus504",
            "value": "HttpStatus504",
            "description": "HttpStatus504"
          }
        ]
      }
    },
    "ApplicationGatewayEntraJWTValidationConfig"

# --- truncated at 32 KB (130 KB total) ---
# Full source: https://artifacts.apis.io/microsoft-azure-application-gateway/json-schema/microsoft-azure-application-gateway-application-gateway-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-azure-application-gateway-application-gateway"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.