# Settings ## Retrieve `client.tenants.settings.retrieve(stringtenantID, RequestOptionsoptions?): SettingRetrieveResponse` **get** `/v1/tenants/{tenant_id}/settings` Returns the enrichment settings for the specified tenant_id. A tenant that has not configured any settings yet returns HTTP 200 with default (unset) values rather than 404; consumers decide the fallback behavior for unset values. Settings are tenant-scoped and never shared across tenants. ### Parameters - `tenantID: string` ### Returns - `SettingRetrieveResponse` - `settings: Settings` 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. - `tenant_id: string` Tenant ID the settings belong to ### Example ```typescript import FormbricksHub from '@formbricks/hub'; const client = new FormbricksHub({ apiKey: process.env['HUB_API_KEY'], // This is the default and can be omitted }); const setting = await client.tenants.settings.retrieve('org-123'); console.log(setting.tenant_id); ``` ## Update `client.tenants.settings.update(stringtenantID, SettingUpdateParamsbody, RequestOptionsoptions?): SettingUpdateResponse` **patch** `/v1/tenants/{tenant_id}/settings` Partially updates the enrichment settings for the specified tenant_id using RFC 7396 JSON Merge Patch semantics (media type application/merge-patch+json; application/json is also accepted). For each member: a value sets that setting, JSON null removes it (e.g. `{"target_language": null}` clears the target language), and an omitted member is left unchanged. 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"); an empty string is rejected (send null to remove 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. ### Parameters - `tenantID: string` - `body: SettingUpdateParams` - `target_language?: string | null` Target BCP-47 locale to translate into; normalized to a canonical form (e.g. "en-us" becomes "en-US"). Send null to remove it; omit to leave it unchanged. An empty string is rejected. ### Returns - `SettingUpdateResponse` - `settings: Settings` 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. - `tenant_id: string` Tenant ID the settings belong to ### Example ```typescript import FormbricksHub from '@formbricks/hub'; const client = new FormbricksHub({ apiKey: process.env['HUB_API_KEY'], // This is the default and can be omitted }); const setting = await client.tenants.settings.update('org-123'); console.log(setting.tenant_id); ```