IIS Web Site

Schema for an IIS web site resource as exposed by the Microsoft IIS Administration API. Web sites are a core entity of IIS that determine where and how HTTP requests will be handled, including binding configuration, application pool assignment, and resource limits.

DatacenterEnterpriseInfrastructureMicrosoftOperating SystemServer ManagementWindows ServerWindows Server 2025

Properties

Name Type Description
name string The display name of the web site.
id string The unique identifier assigned to the web site by the IIS Administration API.
physical_path string The physical file system path for the web site root directory. Environment variables such as %SystemDrive% are supported.
key string The IIS site key identifier, corresponding to the site ID in IIS configuration.
status string The current operational status of the web site.
server_auto_start boolean Whether the web site starts automatically when the IIS service starts.
enabled_protocols string A comma-separated list of protocols enabled for this web site.
limits object Resource limits governing connection behavior and URL processing for the web site.
bindings array The bindings that define the protocols, IP addresses, ports, and hostnames the web site listens on. At minimum, a binding must specify a protocol, IP address, and port.
application_pool object The application pool assigned to handle requests for this web site.
_links object HAL-style hypermedia links to related resources.
View JSON Schema on GitHub

JSON Schema

microsoft-windows-server-site-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-search/microsoft-windows-server/json-schema/microsoft-windows-server-site-schema.json",
  "title": "IIS Web Site",
  "description": "Schema for an IIS web site resource as exposed by the Microsoft IIS Administration API. Web sites are a core entity of IIS that determine where and how HTTP requests will be handled, including binding configuration, application pool assignment, and resource limits.",
  "type": "object",
  "required": [
    "name",
    "physical_path",
    "bindings"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The display name of the web site.",
      "examples": [
        "Default Web Site",
        "Demonstration Site"
      ]
    },
    "id": {
      "type": "string",
      "description": "The unique identifier assigned to the web site by the IIS Administration API."
    },
    "physical_path": {
      "type": "string",
      "description": "The physical file system path for the web site root directory. Environment variables such as %SystemDrive% are supported.",
      "examples": [
        "%SystemDrive%\\inetpub\\wwwroot",
        "C:\\inetpub\\wwwroot\\DemonstrationSite"
      ]
    },
    "key": {
      "type": "string",
      "description": "The IIS site key identifier, corresponding to the site ID in IIS configuration.",
      "examples": [
        "1"
      ]
    },
    "status": {
      "type": "string",
      "description": "The current operational status of the web site.",
      "enum": [
        "started",
        "stopped",
        "starting",
        "stopping"
      ]
    },
    "server_auto_start": {
      "type": "boolean",
      "description": "Whether the web site starts automatically when the IIS service starts.",
      "default": true
    },
    "enabled_protocols": {
      "type": "string",
      "description": "A comma-separated list of protocols enabled for this web site.",
      "examples": [
        "http",
        "http,https",
        "http,net.tcp"
      ]
    },
    "limits": {
      "type": "object",
      "description": "Resource limits governing connection behavior and URL processing for the web site.",
      "properties": {
        "connection_timeout": {
          "type": "integer",
          "description": "The time in seconds after which an inactive connection is closed.",
          "minimum": 0,
          "default": 120
        },
        "max_bandwidth": {
          "type": "integer",
          "description": "The maximum bandwidth in bytes per second allowed for the web site. A value of 4294967295 indicates no limit.",
          "minimum": 0,
          "default": 4294967295
        },
        "max_connections": {
          "type": "integer",
          "description": "The maximum number of concurrent connections allowed for the web site. A value of 4294967295 indicates no limit.",
          "minimum": 0,
          "default": 4294967295
        },
        "max_url_segments": {
          "type": "integer",
          "description": "The maximum number of segments allowed in a URL path.",
          "minimum": 0,
          "default": 32
        }
      },
      "additionalProperties": false
    },
    "bindings": {
      "type": "array",
      "description": "The bindings that define the protocols, IP addresses, ports, and hostnames the web site listens on. At minimum, a binding must specify a protocol, IP address, and port.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "protocol"
        ],
        "properties": {
          "protocol": {
            "type": "string",
            "description": "The network protocol for this binding.",
            "examples": [
              "http",
              "https",
              "net.tcp"
            ]
          },
          "binding_information": {
            "type": "string",
            "description": "Combined binding string in the format '{ip_address}:{port}:{hostname}' for HTTP/HTTPS protocols.",
            "examples": [
              "*:80:",
              "*:443:",
              "808:*"
            ]
          },
          "ip_address": {
            "type": "string",
            "description": "The IP address the binding listens on. Use '*' to listen on all available addresses.",
            "examples": [
              "*",
              "192.168.1.1",
              "10.0.0.1"
            ]
          },
          "port": {
            "type": "integer",
            "description": "The TCP port number the binding listens on.",
            "minimum": 1,
            "maximum": 65535,
            "examples": [
              80,
              443,
              8080,
              8443
            ]
          },
          "hostname": {
            "type": "string",
            "description": "The hostname for host header-based routing. An empty string matches all hostnames.",
            "examples": [
              "",
              "www.example.com",
              "api.example.com"
            ]
          },
          "certificate": {
            "type": "object",
            "description": "The SSL/TLS certificate associated with an HTTPS binding. Required when protocol is HTTPS.",
            "properties": {
              "name": {
                "type": "string",
                "description": "The friendly name of the certificate.",
                "examples": [
                  "Web Hosting Certificate"
                ]
              },
              "id": {
                "type": "string",
                "description": "The unique identifier of the certificate resource in the IIS Administration API."
              },
              "issued_by": {
                "type": "string",
                "description": "The distinguished name of the certificate issuer.",
                "examples": [
                  "CN=localhost"
                ]
              },
              "subject": {
                "type": "string",
                "description": "The distinguished name of the certificate subject.",
                "examples": [
                  "CN=localhost"
                ]
              },
              "thumbprint": {
                "type": "string",
                "description": "The SHA-1 thumbprint of the certificate.",
                "pattern": "^[0-9A-Fa-f]{40}$",
                "examples": [
                  "2F6C0E796B8DAC4A1DDBF59F1714A19D9520B88A"
                ]
              },
              "valid_to": {
                "type": "string",
                "format": "date-time",
                "description": "The expiration date and time of the certificate in ISO 8601 format.",
                "examples": [
                  "2025-01-09T00:00:00Z"
                ]
              }
            },
            "additionalProperties": false
          },
          "require_sni": {
            "type": "boolean",
            "description": "Whether Server Name Indication (SNI) is required for this HTTPS binding.",
            "default": false
          }
        },
        "additionalProperties": false
      }
    },
    "application_pool": {
      "type": "object",
      "description": "The application pool assigned to handle requests for this web site.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the application pool.",
          "examples": [
            "DefaultAppPool"
          ]
        },
        "id": {
          "type": "string",
          "description": "The unique identifier of the application pool."
        },
        "status": {
          "type": "string",
          "description": "The current operational status of the application pool.",
          "enum": [
            "started",
            "stopped",
            "starting",
            "stopping"
          ]
        }
      },
      "additionalProperties": false
    },
    "_links": {
      "type": "object",
      "description": "HAL-style hypermedia links to related resources.",
      "properties": {
        "authentication": {
          "$ref": "#/$defs/halLink"
        },
        "authorization": {
          "$ref": "#/$defs/halLink"
        },
        "default_document": {
          "$ref": "#/$defs/halLink"
        },
        "delegation": {
          "$ref": "#/$defs/halLink"
        },
        "directory_browsing": {
          "$ref": "#/$defs/halLink"
        },
        "files": {
          "$ref": "#/$defs/halLink"
        },
        "handlers": {
          "$ref": "#/$defs/halLink"
        },
        "ip_restrictions": {
          "$ref": "#/$defs/halLink"
        },
        "logging": {
          "$ref": "#/$defs/halLink"
        },
        "modules": {
          "$ref": "#/$defs/halLink"
        },
        "request_filtering": {
          "$ref": "#/$defs/halLink"
        },
        "request_monitor": {
          "$ref": "#/$defs/halLink"
        },
        "request_tracing": {
          "$ref": "#/$defs/halLink"
        },
        "response_compression": {
          "$ref": "#/$defs/halLink"
        },
        "response_headers": {
          "$ref": "#/$defs/halLink"
        },
        "ssl": {
          "$ref": "#/$defs/halLink"
        },
        "static_content": {
          "$ref": "#/$defs/halLink"
        },
        "vdirs": {
          "$ref": "#/$defs/halLink"
        },
        "webapps": {
          "$ref": "#/$defs/halLink"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "$defs": {
    "halLink": {
      "type": "object",
      "description": "A HAL-style hyperlink to a related resource.",
      "properties": {
        "href": {
          "type": "string",
          "format": "uri-reference",
          "description": "The URI of the linked resource."
        }
      },
      "required": [
        "href"
      ],
      "additionalProperties": false
    }
  }
}