---
title: "Update tenant settings"
method: PUT
path: "/v1/tenants/{tenant_id}/settings"
tags: ["Tenant Settings"]
---

# Update tenant settings

`PUT /v1/tenants/{tenant_id}/settings`

Creates or replaces the enrichment settings for the specified tenant_id (full replace of the
settings object). The tenant_id is taken from the path, so a request can only ever modify its own
tenant's settings. target_language is normalized to a canonical BCP-47 locale (e.g. "en-us" becomes
"en-US"); send an empty string to clear it. While a tenant data purge runs for the same tenant_id,
this write is rejected with HTTP 409 (code `tenant_write_conflict`) and may be retried.

## Path parameters

- `tenant_id` string, required

## Request body

- UpdateTenantSettingsInputBody — Full replacement of a tenant's enrichment settings.
  - `target_language` string — Target BCP-47 locale to translate into; normalized to a canonical form (e.g. "en-us" becomes "en-US"). Send an empty string to clear it.
  - `sentiment_enabled` boolean — Enable or disable sentiment enrichment for this tenant. As a full replace, omitting it clears the setting back to the default (enabled).
  - `emotions_enabled` boolean — Enable or disable emotion enrichment for this tenant. As a full replace, omitting it clears the setting back to the default (enabled).

## Response `200`

Updated tenant settings

- TenantSettingsOutputBody
  - `tenant_id` string, required — Tenant ID the settings belong to
  - `settings` EnrichmentSettings, required — Tenant-scoped enrichment configuration. Fields are optional; absent fields use server defaults.
    - `target_language` string — Normalized BCP-47 locale (e.g. "en-US") that language enrichment translates feedback records and topic labels into. Absent or empty means not configured.
    - `sentiment_enabled` boolean — Per-directory switch for sentiment enrichment. Absent means the default (enabled), so a tenant is enriched unless it has explicitly set this to false. The deployment-level sentiment provider/model gate applies on top of this.
    - `emotions_enabled` boolean — Per-directory switch for emotion enrichment. Absent means the default (enabled), so a tenant is enriched unless it has explicitly set this to false. The deployment-level emotions provider/model gate applies on top of this.

## Other responses

- `400` — Bad Request (e.g. invalid tenant_id or target_language)
- `409` — Conflict – a tenant data purge for the same tenant_id is in progress (code `tenant_write_conflict`). No settings were written; retry later.
- `413` — Request body exceeds the maximum allowed size.
- `default` — Error

---

[API](https://skmtc.net/formbricks/apis/formbricks-hub-api.md) · [All operations](https://skmtc.net/formbricks/apis/formbricks-hub-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/formbricks/formbricks-hub-api/revisions/113a9be98fc1/schema)
