---
title: Configuration Schema
description: Canonical configuration keys, defaults, and field-level behavior.
order: 71
available_in: [dotnet, nodejs]
---

# Configuration Schema

Use this page as the canonical map of the `DurableStack` configuration object.

## Root shape

```text
DurableStack
  StorageProvider
  WorkerName
  DatabaseTablePrefix
  PollIntervalSeconds
  PollJitterEnabled
  PollJitterRatio
  BatchSize
  MaxConcurrentRuns
  LeaseDurationSeconds
  RetryDelay
  RetryMaxDelay
  RetryJitterEnabled
  RetryJitterRatio
  JobActivation
  Postgres.ConnectionString
  SqlServer.ConnectionString
  Sqlite.ConnectionString
  MySql.ConnectionString
  Recurring.CatchUpPolicy
  Recurring.RegistrationSync.ExistingJobBehavior
  Recurring.RegistrationSync.OrphanedJobBehavior
  Retention.Enabled
  Retention.RunRetentionSeconds
  Retention.SweepIntervalSeconds
  Retention.DeleteBatchSize
  JobRegistration.AutoDiscoverJobsFromAssembly (.NET only)
  Eventing.TenantId
  Eventing.ClientSecret
  Eventing.IngestionApiBaseUrl
  Eventing.IngestionPath
  Eventing.IngestionMaxBatchSize
  Eventing.IngestionMaxRequestBodyBytes
  Eventing.IngestionMaxRetryAttempts
  Eventing.IngestionFlushIntervalSeconds
  Eventing.IncludeErrorDetail
  Eventing.MaxErrorDetailLength
```

## Notes

- Prefer explicit, runtime-native startup configuration for operational clarity.
- Use provider-specific helpers in each runtime (`AddDurableStackPostgres` in .NET, `createDurableStackPostgres(...)` in Node.js).
- Keep secret values (connection strings, tenant/client secret) in secure secret stores.

For defaults and detailed semantics, see [Configuration options](configuration-options).
