Microsoft Windows Server · Schema
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 |
JSON Schema
{
"$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.
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.