ApplicationPool

A complete IIS application pool resource with all configuration settings for worker process isolation and management.

Data CenterEnterpriseInfrastructureMicrosoftOperating SystemServer ManagementWindows ServerWindows Server 2025

Properties

Name Type Description
name string The name of the application pool.
id string The unique identifier of the application pool.
status string The current status of the application pool.
auto_start boolean Whether the application pool starts automatically when IIS starts.
pipeline_mode string The managed pipeline mode for the application pool.
managed_runtime_version string The version of the .NET CLR loaded by the application pool. Empty string for unmanaged code.
enable_32bit_win64 boolean Whether to enable 32-bit applications on 64-bit Windows.
queue_length integer The maximum number of requests that can be queued for the application pool before requests are rejected.
cpu object
process_model object
identity object
recycling object
rapid_fail_protection object
process_orphaning object
_links object
View JSON Schema on GitHub

JSON Schema

microsoft-windows-server-application-pool-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-windows-server/json-schema/microsoft-windows-server-application-pool-schema.json",
  "title": "ApplicationPool",
  "description": "A complete IIS application pool resource with all configuration settings for worker process isolation and management.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-windows-server-application-pools-api-openapi.yml#/components/schemas/ApplicationPool",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the application pool."
    },
    "id": {
      "type": "string",
      "description": "The unique identifier of the application pool."
    },
    "status": {
      "type": "string",
      "description": "The current status of the application pool.",
      "enum": [
        "started",
        "stopped",
        "starting",
        "stopping"
      ]
    },
    "auto_start": {
      "type": "boolean",
      "description": "Whether the application pool starts automatically when IIS starts.",
      "default": true
    },
    "pipeline_mode": {
      "type": "string",
      "description": "The managed pipeline mode for the application pool.",
      "enum": [
        "integrated",
        "classic"
      ],
      "default": "integrated"
    },
    "managed_runtime_version": {
      "type": "string",
      "description": "The version of the .NET CLR loaded by the application pool. Empty string for unmanaged code."
    },
    "enable_32bit_win64": {
      "type": "boolean",
      "description": "Whether to enable 32-bit applications on 64-bit Windows.",
      "default": false
    },
    "queue_length": {
      "type": "integer",
      "description": "The maximum number of requests that can be queued for the application pool before requests are rejected.",
      "default": 1000
    },
    "cpu": {
      "$ref": "#/$defs/CpuSettings"
    },
    "process_model": {
      "$ref": "#/$defs/ProcessModel"
    },
    "identity": {
      "$ref": "#/$defs/Identity"
    },
    "recycling": {
      "$ref": "#/$defs/Recycling"
    },
    "rapid_fail_protection": {
      "$ref": "#/$defs/RapidFailProtection"
    },
    "process_orphaning": {
      "$ref": "#/$defs/ProcessOrphaning"
    },
    "_links": {
      "$ref": "#/$defs/ApplicationPoolLinks"
    }
  },
  "$defs": {
    "ApplicationPoolLinks": {
      "type": "object",
      "description": "HAL-style links to related resources for an application pool.",
      "properties": {
        "webapps": {
          "$ref": "#/$defs/HalLink"
        },
        "websites": {
          "$ref": "#/$defs/HalLink"
        },
        "worker_processes": {
          "$ref": "#/$defs/HalLink"
        }
      }
    },
    "CpuSettings": {
      "type": "object",
      "description": "CPU usage settings for the application pool.",
      "properties": {
        "limit": {
          "type": "integer",
          "description": "The maximum CPU usage percentage (in 1/1000ths of a percent) allowed for the application pool.",
          "default": 0
        },
        "limit_interval": {
          "type": "integer",
          "description": "The interval in minutes for CPU limit monitoring.",
          "default": 5
        },
        "action": {
          "type": "string",
          "description": "The action to take when the CPU limit is exceeded.",
          "enum": [
            "NoAction",
            "KillW3wp",
            "Throttle",
            "ThrottleUnderLoad"
          ],
          "default": "NoAction"
        },
        "processor_affinity_enabled": {
          "type": "boolean",
          "description": "Whether processor affinity is enabled.",
          "default": false
        },
        "processor_affinity_mask32": {
          "type": "string",
          "description": "The 32-bit processor affinity mask.",
          "default": "0xFFFFFFFF"
        },
        "processor_affinity_mask64": {
          "type": "string",
          "description": "The 64-bit processor affinity mask.",
          "default": "0xFFFFFFFF"
        }
      }
    },
    "HalLink": {
      "type": "object",
      "properties": {
        "href": {
          "type": "string",
          "format": "uri-reference",
          "description": "The URI of the linked resource."
        }
      }
    },
    "Identity": {
      "type": "object",
      "description": "The identity configuration for the application pool worker process.",
      "properties": {
        "identity_type": {
          "type": "string",
          "description": "The type of identity used by the application pool.",
          "enum": [
            "ApplicationPoolIdentity",
            "LocalSystem",
            "LocalService",
            "NetworkService",
            "SpecificUser"
          ],
          "default": "ApplicationPoolIdentity"
        },
        "username": {
          "type": "string",
          "description": "The username for the identity when using SpecificUser identity type."
        },
        "load_user_profile": {
          "type": "boolean",
          "description": "Whether to load the user profile for the worker process.",
          "default": true
        }
      }
    },
    "PeriodicRestart": {
      "type": "object",
      "description": "Periodic restart configuration for the application pool.",
      "properties": {
        "time_interval": {
          "type": "integer",
          "description": "The time interval in minutes after which the application pool recycles.",
          "default": 1740
        },
        "private_memory": {
          "type": "integer",
          "description": "The private memory threshold in kilobytes that triggers recycling. 0 means disabled.",
          "default": 0
        },
        "request_limit": {
          "type": "integer",
          "description": "The number of requests after which the application pool recycles. 0 means disabled.",
          "default": 0
        },
        "virtual_memory": {
          "type": "integer",
          "description": "The virtual memory threshold in kilobytes that triggers recycling. 0 means disabled.",
          "default": 0
        },
        "schedule": {
          "type": "array",
          "description": "Scheduled times for recycling the application pool.",
          "items": {
            "type": "string",
            "format": "time"
          }
        }
      }
    },
    "ProcessModel": {
      "type": "object",
      "description": "Process model settings for the application pool worker processes.",
      "properties": {
        "idle_timeout": {
          "type": "integer",
          "description": "The idle timeout in minutes before a worker process is shut down.",
          "default": 20
        },
        "max_processes": {
          "type": "integer",
          "description": "The maximum number of worker processes for the application pool (web garden).",
          "default": 1
        },
        "pinging_enabled": {
          "type": "boolean",
          "description": "Whether health monitoring pings are enabled.",
          "default": true
        },
        "ping_interval": {
          "type": "integer",
          "description": "The interval in seconds between health monitoring pings.",
          "default": 30
        },
        "ping_response_time": {
          "type": "integer",
          "description": "The maximum time in seconds allowed for a worker process to respond to a health ping.",
          "default": 90
        },
        "shutdown_time_limit": {
          "type": "integer",
          "description": "The time in seconds allowed for a worker process to gracefully shut down.",
          "default": 90
        },
        "startup_time_limit": {
          "type": "integer",
          "description": "The time in seconds allowed for a worker process to start up.",
          "default": 90
        },
        "idle_timeout_action": {
          "type": "string",
          "description": "The action to take when the idle timeout is reached.",
          "enum": [
            "Terminate",
            "Suspend"
          ],
          "default": "Terminate"
        }
      }
    },
    "ProcessOrphaning": {
      "type": "object",
      "description": "Process orphaning settings that control behavior when a worker process cannot be shut down gracefully.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether process orphaning is enabled.",
          "default": false
        },
        "orphan_action_exe": {
          "type": "string",
          "description": "The path to an executable to run when a worker process is orphaned."
        },
        "orphan_action_params": {
          "type": "string",
          "description": "Parameters for the orphan action executable."
        }
      }
    },
    "RapidFailProtection": {
      "type": "object",
      "description": "Rapid fail protection settings that determine how IIS responds to repeated worker process failures.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether rapid fail protection is enabled.",
          "default": true
        },
        "load_balancer_capabilities": {
          "type": "string",
          "description": "The load balancer capabilities response type.",
          "enum": [
            "HttpLevel",
            "TcpLevel"
          ],
          "default": "HttpLevel"
        },
        "interval": {
          "type": "integer",
          "description": "The time interval in minutes during which the max crash count is monitored.",
          "default": 5
        },
        "max_crashes": {
          "type": "integer",
          "description": "The maximum number of worker process crashes allowed within the interval.",
          "default": 5
        },
        "auto_shutdown_exe": {
          "type": "string",
          "description": "The path to an executable to run when the application pool is shut down due to rapid fail protection."
        },
        "auto_shutdown_params": {
          "type": "string",
          "description": "Parameters for the auto shutdown executable."
        }
      }
    },
    "Recycling": {
      "type": "object",
      "description": "Recycling settings for the application pool.",
      "properties": {
        "disable_overlapped_recycle": {
          "type": "boolean",
          "description": "Whether to disable overlapped recycling.",
          "default": false
        },
        "disable_recycle_on_config_change": {
          "type": "boolean",
          "description": "Whether to disable recycling on configuration changes.",
          "default": false
        },
        "log_events": {
          "$ref": "#/$defs/RecyclingLogEvents"
        },
        "periodic_restart": {
          "$ref": "#/$defs/PeriodicRestart"
        }
      }
    },
    "RecyclingLogEvents": {
      "type": "object",
      "description": "Configuration for which recycling events are logged.",
      "properties": {
        "time": {
          "type": "boolean",
          "default": true
        },
        "requests": {
          "type": "boolean",
          "default": true
        },
        "schedule": {
          "type": "boolean",
          "default": true
        },
        "memory": {
          "type": "boolean",
          "default": true
        },
        "isapi_unhealthy": {
          "type": "boolean",
          "default": true
        },
        "on_demand": {
          "type": "boolean",
          "default": true
        },
        "config_change": {
          "type": "boolean",
          "default": true
        },
        "private_memory": {
          "type": "boolean",
          "default": true
        }
      }
    }
  }
}

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-windows-server-application-pool"
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.