Skip to main content
The Tenant Settings API provides granular control over platform behavior for each tenant. Settings are stored as a JSON object on the tenant record and support partial updates (only changed keys need to be sent).

Base path


Get tenant settings

Returns the current tenant settings object. If no settings have been configured, returns an empty object.

Response 200

flowIrEnabled, requirePublishApproval, and aiAutopilot are stored as real columns on the tenant_settings table (not in the tenant settings JSONB), but the GET response merges all sources into a single object so callers read and write one shape.

Update tenant settings

Partially updates tenant settings. Only the provided keys are changed; all other settings are preserved. Nested objects (e.g., mlWorker) are deep-merged.

Request body

All fields are optional. Only include the settings you want to change.

ML Worker settings

AI Autopilot settings

Controls the agentic-AI autonomy level. Read by the ai-autopilot and ai-sentinel cron jobs. aiAutopilot is deep-merged: sending only { "mode": "auto_gated" } preserves the existing sentinelAutoPause.

Fairness policy settings

Opt-in pre-publish fairness hard-gate. When enabled is true and any configured threshold is breached, POST /api/v1/decision-flows/publish returns 422 and refuses to publish.

Report guardrails settings

Example request

Response 200

Returns the full merged settings object after the update.

Error codes

The schema uses strict validation. Any unrecognized keys in the request body will cause a 400 error. Only the documented fields above are accepted.

Role requirements

Settings

Learn more about tenant configuration in the platform UI.