Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / Schema registry / host.json
Schema registry

host.json

Azure Functions host.json files

host.json

Check your file against this schema

Opens the validator with this schema already loaded. Paste your host.json and it validates in your browser — nothing is uploaded.

Validate a host.json → View raw schema

Fields

Generated directly from the schema, following local $refs, to two levels of nesting.

Field Type Description
aggregatorobjectConfiguration settings for the function result aggregator.
aggregator.batchSizeintegerThe maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.
default: 1000
aggregator.flushTimeoutstringThe aggregation duration. The aggregator will flush periodically based on this value.
default: "00:00:30"
applicationInsightsobjectConfiguration settings for Application Insights logging.
applicationInsights.samplingobjectConfiguration settings for Application Insights client-side adaptive sampling.
applicationInsights.sampling.isEnabledbooleanIf true, client-side adaptive sampling is enabled.
default: true
applicationInsights.sampling.maxTelemetryItemsPerSecondintegerThe target rate that the adaptive algorithm aims for on each instance
default: 5
functionsarray<string>The list of functions the host should load.
functionTimeoutoneOfValue indicating the timeout duration for all functions.
healthMonitorobjectConfiguration settings for the Functions host health monitor
healthMonitor.enabledbooleanSpecifies whether the feature is enabled.
default: true
healthMonitor.healthCheckIntervalstringThe time interval between the periodic background health checks
default: "00:00:10"
healthMonitor.healthCheckWindowstringA sliding time window used in conjunction with the healthCheckThreshold setting.
default: "00:02:00"
healthMonitor.healthCheckThresholdintegerMaximum number of times the health check can fail before a host recycle is initiated.
default: 6
healthMonitor.counterThresholdnumberThe threshold at which a performance counter will be considered unhealthy.
default: 0.8
idstringThe unique ID for this job host. Can be a lower case GUID with dashes removed
loggerobjectConfiguration settings for logging.
logger.defaultLevelenumThe default level for logging. If a category level is not specified, this value is used.
default: "Information"
one of: "Critical", "Debug", "Error", "Information", "None", "Trace" … (+1)
logger.categoryLevelsobjectLog levels for specific categories.
singletonobjectConfiguration settings for Singleton lock behavior.
singleton.lockPeriodstringThe period that function level locks are taken for (they will auto renew).
default: "00:00:15"
singleton.listenerLockPeriodstringThe period that listener locks are taken for.
default: "00:01:00"
singleton.listenerLockRecoveryPollingIntervalstringThe time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
default: "00:01:00"
singleton.lockAcquisitionTimeoutstringThe maximum amount of time the runtime will try to acquire a lock.
default: "00:01:00"
singleton.lockAcquisitionPollingIntervalstringThe interval between lock acquisition attempts.
watchDirectoriesarray<string>Set of shared code directories that should be monitored for changes to ensure that when code in these directories is changed, it is picked up by your functions
tracingobjectConfiguration settings for logging/tracing behavior.
tracing.consoleLevelenumThe tracing level used for console logging.
default: "verbose"
one of: "off", "error", "warning", "info", "verbose"
tracing.fileLoggingModeenumValue determining what level of file logging is enabled.
default: "debugOnly"
one of: "never", "always", "debugOnly"
httpobjectConfiguration settings for 'http' triggers.
http.routePrefixrequiredstringDefines the default route prefix that applies to all routes. Use an empty string to remove the prefix.
default: "api"
http.maxConcurrentRequestsintegerDefines the the maximum number of http functions that will execute in parallel.
default: -1
http.maxOutstandingRequestsintegerDefines the maximum number of outstanding requests that will be held at any given time.
default: -1
http.dynamicThrottlesEnabledbooleanIndicates whether dynamic host counter checks should be enabled.
default: false
http.hstsobjectConfiguration settings for Strict-Transport-Security
http.hsts.isEnabledbooleanIndicates whether the hsts configuration should be applied
http.hsts.excludedHostsarray<string>Defines the list of host names that will not add the HSTS header.
http.hsts.includeSubDomainsbooleanIndicates whether the includeSubDomain parameter of the Strict-Transport-Security header should be enabled.
http.hsts.maxAgestringDefines the max-age parameter of the Strict-Transport-Security header.
http.hsts.preloadbooleanIndicates whether the preload parameter of the Strict-Transport-Security header should be enabled.
http.customHeadersobjectAllows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.
queuesobjectConfiguration settings for 'queue' triggers.
queues.maxPollingIntervalintegerThe maximum interval in milliseconds between queue polls.
default: 1000
queues.batchSizeintegerThe number of queue messages to retrieve and process in parallel (per job function).
default: 16
queues.maxDequeueCountintegerThe number of times to try processing a message before moving it to the poison queue
default: 5
queues.newBatchThresholdintegerThe threshold at which a new batch of messages will be fetched. The default is batchSize/2.
queues.visibilityTimeoutstringThe visibility timeout that will be applied to messages that fail processing.
default: "00:00:00"
serviceBusobjectConfiguration settings for 'serviceBus' triggers.
serviceBus.maxConcurrentCallsintegerThe maximum number of concurrent calls to the callback the message pump should initiate.
default: 16
serviceBus.prefetchCountintegerThe default PrefetchCount that will be used by the underlying MessageReceiver.
serviceBus.autoRenewTimeoutstringThe maximum duration within which the Service Bus message lock will be renewed automatically.
default: "00:05:00"
serviceBus.autoCompletebooleanSpecifies whether messages should be automatically completed after successful processing.
default: true
eventHubobjectConfiguration settings for 'eventHub' triggers.
eventHub.maxBatchSizeintegerThe maximum event count received per receive loop.
eventHub.prefetchCountintegerThe default PrefetchCount that will be used by the underlying EventProcessorHost.
eventHub.batchCheckpointFrequencyintegerThe number of batches to process before creating an EventHub cursor checkpoint
default: 1
durableTaskobjectConfiguration settings for 'orchestration'/'activity' triggers.
durableTask.hubNamestringAlternate task hub names can be used to isolate multiple Durable Functions applications from each other, even if they're using the same storage backend.
default: "DurableFunctionsHub"
durableTask.storageProviderobject
durableTask.storageProvider.connectionStringNamestring
durableTask.storageProvider.controlQueueBatchSizeintegerThe number of messages to pull from the control queue at a time.
default: 32
durableTask.storageProvider.controlQueueBufferThresholdintegerThe number of control queue messages that can be buffered in memory at a time, at which point the dispatcher will wait before dequeuing any additional messages.
default: 256
durableTask.storageProvider.controlQueueVisibilityTimeoutstringThe visibility timeout of dequeued control queue messages.
default: "00:05:00"
durableTask.storageProvider.maxQueuePollingIntervalstringThe maximum control and work-item queue polling interval in the hh:mm:ss format. Higher values can result in higher message processing latencies. Lower values can result in higher storage costs because of increased storage transactions.
default: "00:00:30"
durableTask.storageProvider.partitionCountintegerThe partition count for the control queue. May be a positive integer between 1 and 16.
default: 4
durableTask.storageProvider.trackingStoreConnectionStringNamestringThe name of a connection string to use for the History and Instances tables. If not specified, the azureStorageConnectionStringName connection is used.
durableTask.storageProvider.trackingStoreNamePrefixstringThe prefix to use for the History and Instances tables when trackingStoreConnectionStringName is specified. If not set, the default prefix value will be DurableTask. If trackingStoreConnectionStringName is not specified, then the History
durableTask.storageProvider.useLegacyPartitionManagementbooleanWhen set to false, uses a partition management algorithm that reduces the possibility of duplicate function execution when scaling out.
default: false
durableTask.storageProvider.workItemQueueVisibilityTimeoutstringThe visibility timeout of dequeued work item queue messages.
default: "00:05:00"
durableTask.tracingobject
durableTask.tracing.traceInputsAndOutputsbooleanA value indicating whether to trace the inputs and outputs of function calls. The default behavior when tracing function execution events is to include the number of bytes in the serialized inputs and outputs for function calls. This
default: false
durableTask.tracing.traceReplayEventsbooleanA value indicating whether to write orchestration replay events to Application Insights.
default: false
durableTask.tracing.distributedTracingEnabledbooleanDistributed tracing tracks requests and shows how different services interact with each other and correlates orchestrations, entities, and activities together.
default: false
durableTask.tracing.versiononeOfDistributed tracing version
default: "V2"
durableTask.notificationsobject
durableTask.notifications.eventGridobject
durableTask.maxConcurrentActivityFunctionsintegerThe maximum number of activity functions that can be processed concurrently on a single host instance.
default: 10
durableTask.maxConcurrentOrchestratorFunctionsintegerThe maximum number of orchestrator functions that can be processed concurrently on a single host instance.
default: 10
durableTask.extendedSessionsEnabledboolean
durableTask.extendedSessionIdleTimeoutInSecondsinteger
durableTask.useAppLeasebooleanWhen set to true, apps will require acquiring an app-level blob lease before processing task hub messages.
default: true
durableTask.useGracefulShutdownbooleanEnable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.
default: false
durableTask.maxEntityOperationBatchSizeintegerThe maximum number of entity operations that are processed as a batch. If set to 1, batching is disabled, and each operation message is processed by a separate function invocation.
default: 50
durableTask.useTablePartitionManagementboolean
default: false
documentDBobjectConfiguration settings for Azure Cosmos DB bindings and triggers.
documentDB.connectionModeenumConnectionMode to be used on the DocumentClients.
default: "Gateway"
one of: "Gateway", "Direct"
documentDB.protocolenumProtocol to be used on the DocumentClients.
default: "Https"
one of: "Https", "Tcp"
extensionBundleobjectConfiguration settings for extension bundle - a predefined set of compatible binding extensions to a function app
extensionBundle.idstringThe id of the extension bundle
default: "Microsoft.Azure.Functions.ExtensionBundle"
extensionBundle.versionstringThe version of the extension bundle.
default: "[4.*, 5.0.0)"
aggregatorobjectConfiguration settings for the function result aggregator.
aggregator.batchSizeintegerThe maximum batch size for aggregations. If this value is reached before the 'flushTimeout', all values will be flushed.
default: 1000
aggregator.flushTimeoutstringThe aggregation duration. The aggregator will flush periodically based on this value.
default: "00:00:30"
functionsarray<string>The list of functions the host should load.
functionTimeoutoneOfValue indicating the timeout duration for all functions.
healthMonitorobjectConfiguration settings for the Functions host health monitor
healthMonitor.enabledbooleanSpecifies whether the feature is enabled.
default: true
healthMonitor.healthCheckIntervalstringThe time interval between the periodic background health checks
default: "00:00:10"
healthMonitor.healthCheckWindowstringA sliding time window used in conjunction with the healthCheckThreshold setting.
default: "00:02:00"
healthMonitor.healthCheckThresholdintegerMaximum number of times the health check can fail before a host recycle is initiated.
default: 6
healthMonitor.counterThresholdnumberThe threshold at which a performance counter will be considered unhealthy.
default: 0.8
languageWorkerobjectConfiguration settings for Language Workers.
languageWorker.workersDirectorystringSpecifies full path of the directory for language workers
loggingobjectConfiguration settings for logging.
logging.logLevelobjectLog levels for specific categories.
logging.logLevel.defaultenumThe default level for logging. If a category level is not specified, this value is used.
default: "Information"
one of: "Critical", "Debug", "Error", "Information", "None", "Trace" … (+1)
logging.applicationInsightsobjectConfiguration settings for Application Insights logging.
logging.applicationInsights.samplingSettingsobjectConfiguration settings for Application Insights client-side adaptive sampling.
logging.applicationInsights.enableLiveMetricsbooleanEnables live metrics collection.
default: true
logging.applicationInsights.enableLiveMetricsFiltersbooleanEnables live metrics filters.
default: true
logging.applicationInsights.enableDependencyTrackingbooleanEnables dependency tracking
default: true
logging.applicationInsights.enablePerformanceCountersCollectionbooleanEnables Kudu performance counters collection.
default: true
logging.applicationInsights.enableMetricsCustomDimensionOptimizationbooleanEnables optimization that bypasses custom dimensions in Metrics telemetry.
default: false
logging.applicationInsights.httpAutoCollectionOptionsobject
logging.applicationInsights.snapshotConfigurationobject
logging.fileLoggingModeenumValue determining what level of file logging is enabled.
default: "debugOnly"
one of: "never", "always", "debugOnly"
managedDependencyobjectManaged dependency is a feature that is currently only supported with PowerShell based functions. It enables dependencies to be automatically managed by the service.
managedDependency.enabledbooleanIf true, the requirements.psd1 file is processed
default: true
retryobjectRetry policy of function execution failures at the app level. Retry policy applies to all the functions in the function app.
retry.strategyenumRetry strategy to use for retrying function executions
default: "exponentialBackoff"
one of: "exponentialBackof…, "fixedDelay"
retry.maxRetryCountintegerThe maximum number of retries allowed per function execution. -1 means to retry indefinitely.
retry.delayIntervaloneOfValue indicating the delayInterval for function execution retries when using FixedDelay strategy.
retry.minimumIntervaloneOfValue indicating the minimumInterval for function execution retries when using ExponentialBackoff strategy.
retry.maximumIntervaloneOfValue indicating the maximumInterval for function execution retries when using ExponentialBackoff strategy.
customHandlerobjectConfiguration settings for Custom Handler.
customHandler.descriptionobjectConfiguration settings for Custom Handler process
customHandler.description.defaultExecutablePathstringName or path to the Custom Handler process
customHandler.description.workingDirectorystringWorkingDirectory to be used by the Custom Handler process. If not set, defaults to function app root folder.
customHandler.description.argumentsarray<string>Arguments to be passed to the Custom Handler process. Can use environment variables following pattern %envVarName%
customHandler.enableForwardingHttpRequestbooleanForward HttpTrigger request to the custom handler
default: false
customHandler.enableProxyingHttpRequestbooleanProxy HttpTrigger request to the custom handler
default: false
customHandler.httpobjectHTTP configuration for the custom handler
customHandler.http.defaultAuthorizationLevelenumThe default authorization level for HTTP-triggered functions
default: "anonymous"
one of: "anonymous", "function", "admin"
customHandler.portintegerThe port on which the custom handler process listens
singletonobjectConfiguration settings for Singleton lock behavior.
singleton.lockPeriodstringThe period that function level locks are taken for (they will auto renew).
default: "00:00:15"
singleton.listenerLockPeriodstringThe period that listener locks are taken for.
default: "00:01:00"
singleton.listenerLockRecoveryPollingIntervalstringThe time interval used for listener lock recovery if a listener lock couldn't be acquired on startup.
default: "00:01:00"
singleton.lockAcquisitionTimeoutstringThe maximum amount of time the runtime will try to acquire a lock.
default: "00:01:00"
singleton.lockAcquisitionPollingIntervalstringThe interval between lock acquisition attempts.
watchDirectoriesarray<string>Set of shared code directories that should be monitored for changes to ensure that when code in these directories is changed, it is picked up by your functions
watchFilesarray<string>An array of one or more names of files that are monitored for changes that require your app to restart. This guarantees that when code in these files are changed, the updates are picked up by your functions
versionrequiredconstThe version of the Azure Functions host.json schema. This is NOT the version of the Azure Functions host.
extensionsobject
extensions.httpobjectConfiguration settings for 'http' triggers.
extensions.http.routePrefixrequiredstringDefines the default route prefix that applies to all routes. Use an empty string to remove the prefix.
default: "api"
extensions.http.maxConcurrentRequestsintegerDefines the the maximum number of http functions that will execute in parallel.
default: -1
extensions.http.maxOutstandingRequestsintegerDefines the maximum number of outstanding requests that will be held at any given time.
default: -1
extensions.http.dynamicThrottlesEnabledbooleanIndicates whether dynamic host counter checks should be enabled.
default: false
extensions.http.hstsobjectConfiguration settings for Strict-Transport-Security
extensions.http.customHeadersobjectAllows you to set custom headers in the HTTP response, ex. X-Content-Type-Options.
extensions.queuesobjectConfiguration settings for 'queue' triggers.
extensions.queues.maxPollingIntervalstringThe maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).
default: "00:00:02"
extensions.queues.visibilityTimeoutstringThe time interval between retries when processing of a message fails.
default: "00:00:00"
extensions.queues.batchSizeintegerThe number of queue messages that the Functions runtime retrieves simultaneously and processes in parallel. When the number being processed gets down to the `newBatchThreshold`, the runtime gets another batch and starts processing those
default: 16
extensions.queues.maxDequeueCountintegerThe number of times to try processing a message before moving it to the poison queue
default: 5
extensions.queues.newBatchThresholdintegerThe threshold at which a new batch of messages will be fetched. The default is batchSize/2.
extensions.queues.messageEncodingstringThis setting is only available in extension version 5.0.0 and higher. It represents the encoding format for messages.
one of: "base64", "none"
extensions.sendGridobject
extensions.sendGrid.fromstringThe sender's email address across all functions.
extensions.serviceBusoneOfConfiguration settings for 'serviceBus' triggers.
default: null
extensions.eventHubsoneOfConfiguration settings for 'eventHub' triggers.
extensions.durableTaskobjectConfiguration settings for 'orchestration'/'activity' triggers.
extensions.durableTask.hubNamestringAlternate task hub names can be used to isolate multiple Durable Functions applications from each other, even if they're using the same storage backend.
default: "DurableFunctionsHub"
extensions.durableTask.storageProviderobject
extensions.durableTask.tracingobject
extensions.durableTask.notificationsobject
extensions.durableTask.maxConcurrentActivityFunctionsintegerThe maximum number of activity functions that can be processed concurrently on a single host instance.
default: 10
extensions.durableTask.maxConcurrentOrchestratorFunctionsintegerThe maximum number of orchestrator functions that can be processed concurrently on a single host instance.
default: 10
extensions.durableTask.extendedSessionsEnabledboolean
extensions.durableTask.extendedSessionIdleTimeoutInSecondsinteger
extensions.durableTask.useAppLeasebooleanWhen set to true, apps will require acquiring an app-level blob lease before processing task hub messages.
default: true
extensions.durableTask.useGracefulShutdownbooleanEnable gracefully shutting down to reduce the chance of host shutdowns failing in-process function executions.
default: false
extensions.durableTask.maxEntityOperationBatchSizeintegerThe maximum number of entity operations that are processed as a batch. If set to 1, batching is disabled, and each operation message is processed by a separate function invocation.
default: 50
extensions.durableTask.useTablePartitionManagementboolean
default: false
extensions.cosmosDBobjectConfiguration settings for Azure Cosmos DB bindings and triggers.
extensions.cosmosDB.connectionModeenumConnectionMode to be used on the DocumentClients.
default: "Gateway"
one of: "Gateway", "Direct"
extensions.cosmosDB.protocolenumProtocol to be used on the DocumentClients.
default: "Https"
one of: "Https", "Tcp"
extensions.cosmosDB.leaseOptionsobject
extensions.blobsobject
extensions.blobs.maxDegreeOfParallelismintegerThe number of concurrent invocations allowed for each blob-triggered function.
extensions.blobs.poisonBlobThresholdintegerThe number of times to try processing a message before moving it to the poison queue.
default: 5
extensions.mcpobjectConfiguration settings for 'mcp' triggers.
extensions.mcp.instructionsstringDescribes to clients how to access the remote MCP server.
extensions.mcp.serverNamestringA friendly name for the remote MCP server.
extensions.mcp.serverVersionstringCurrent version of the remote MCP server.
extensions.mcp.encryptClientStatebooleanDetermines if client state is encrypted. Defaults to true. Setting to false may be useful for debugging and test scenarios but isn't recommended for production.
default: true
extensions.mcp.messageOptionsobjectCOptions object for the message endpoint in the SSE transport.
extensions.mcp.systemobjectCOptions object for the message endpoint in the SSE transport.
concurrencyobjectConfiguration settings for dynamic concurrency
concurrency.dynamicConcurrencyEnabledbooleanEnables or disables dynamic concurrency for function apps.
default: true
concurrency.snapshotPersistenceEnabledbooleanEnables or disables the learned concurrency values persisting in storage.
default: true
sendCanceledInvocationsToWorkerbooleanWhere the language worker supports 'Cancellation', send canceled invocations to the worker. If not set, defaults to true.
default: true
telemetryModeconstUsed to enable output of logs and traces in an OpenTelemetry output format to one or more endpoints that support OpenTelemetry.
configurationProfilestringConfiguration profile to use for the Function App. Settings defined by the configuration profile will be implicitly applied to the Function App.

What we found in this schema

Specification sections for the keywords in this schema

Keyword Document Section
$refJSON Schema Core, draft 2020-12§8.2.3.1 — Direct References with "$ref"
additionalPropertiesJSON Schema Core, draft 2020-12§10.3.2.3 — "additionalProperties"
constJSON Schema Validation, draft 2020-12§6.1.3 — "const"
defaultJSON Schema Validation, draft 2020-12§9.2 — "default"
descriptionJSON Schema Validation, draft 2020-12§9.1 — "title" and "description"
enumJSON Schema Validation, draft 2020-12§6.1.2 — "enum"
examplesJSON Schema Validation, draft 2020-12§9.5 — "examples"
itemsJSON Schema Core, draft 2020-12§10.3.1.2 — "items"
maximumJSON Schema Validation, draft 2020-12§6.2.2 — "maximum"
minLengthJSON Schema Validation, draft 2020-12§6.3.2 — "minLength"
minimumJSON Schema Validation, draft 2020-12§6.2.4 — "minimum"
oneOfJSON Schema Core, draft 2020-12§10.2.1.3 — "oneOf"
patternJSON Schema Validation, draft 2020-12§6.3.3 — "pattern"
propertiesJSON Schema Core, draft 2020-12§10.3.2.1 — "properties"
requiredJSON Schema Validation, draft 2020-12§6.5.3 — "required"
typeJSON Schema Validation, draft 2020-12§6.1.1 — "type"
uniqueItemsJSON Schema Validation, draft 2020-12§6.4.3 — "uniqueItems"

Documents

Attribution

This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.

← All schemas