> ## Documentation Index
>
> Fetch the complete documentation index at: [/llms.txt](https://docs.cognigy.com/llms.txt)
>
> Use this file to discover all available pages before exploring further.

[Skip to main content](https://docs.cognigy.com/api-reference/projects/update-project-settings#content-area)

PATCH

/

v2.0

/

projects

/

{projectId}

/

settings

Try it

Update Project Settings

cURL

```
curl --request PATCH \
  --url https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "timezone": "Europe/Berlin",
  "useCaseSensitiveIntentMapping": true,
  "collectAnalytics": true,
  "trackDataOnlyInputs": true,
  "translationSettings": {
    "connections": {
      "microsoft": {
        "connecionId": "<string>",
        "retries": 1,
        "timeout": 3000,
        "cacheExpiry": 0,
        "customBaseUrl": ""
      },
      "deepl": {
        "connecionId": "<string>",
        "retries": 1,
        "timeout": 3000,
        "cacheExpiry": 0,
        "customBaseUrl": ""
      },
      "google": {
        "connecionId": "<string>",
        "retries": 1,
        "timeout": 3000,
        "cacheExpiry": 0,
        "customBaseUrl": ""
      }
    }
  },
  "audioPreviewSettings": {
    "connections": {
      "microsoft": {
        "connecionId": "<string>"
      },
      "aws": {
        "connecionId": "<string>"
      },
      "google": {
        "connecionId": "<string>"
      }
    }
  },
  "generativeAISettings": {
    "enabled": true,
    "useCasesSettings": {
      "designTimeGeneration": {
        "enabled": true,
        "largeLanguageModelId": "<string>",
        "temperature": 0
      },
      "aiEnhancedOutputs": {
        "enabled": true,
        "largeLanguageModelId": "<string>",
        "temperature": 0
      },
      "gptConversation": {
        "enabled": true,
        "largeLanguageModelId": "<string>",
        "temperature": 0
      },
      "gptPromptNode": {
        "enabled": true,
        "largeLanguageModelId": "<string>",
        "temperature": 0
      },
      "knowledgeSearch": {
        "enabled": true,
        "largeLanguageModelId": "<string>",
        "temperature": 0
      },
      "conversationAnalyzer": {
        "enabled": true,
        "largeLanguageModelId": "<string>",
        "temperature": 0
      }
    }
  },
  "currencySettings": {
    "currency": "USD"
  },
  "knowledgeAISettings": {
    "azureDIConnectionId": "f66e99eb-db8f-433c-977f-69160d9a6bdb"
  },
  "proactiveSettings": {
    "journeyId": 123,
    "journeyName": "<string>",
    "journeyStatus": "<string>",
    "flowId": "<string>",
    "flowReferenceId": "<string>",
    "endpointId": "<string>",
    "contactAction": {
      "id": 123,
      "name": "<string>"
    },
    "integrationPoint": {
      "id": 123,
      "name": "<string>"
    },
    "taskId": "<string>"
  },
  "intentThreshold": {
    "lower": 0.4,
    "upper": 0.5
  },
  "learnNewExampleSentences": true,
  "learnNewExampleSentencesThreshold": 123,
  "negativeConfirmationWords": [\
    "<string>"\
  ],
  "positiveConfirmationWords": [\
    "<string>"\
  ],
  "systemSlots": {
    "useAgeSlots": true,
    "useDateSlots": true,
    "useDistanceSlots": true,
    "useDurationSlots": true,
    "useEmailSlots": true,
    "useMoneySlots": true,
    "useNumberSlots": true,
    "usePercentageSlots": true,
    "useTemperatureSlots": true,
    "useURLSlots": true
  },
  "yesNoIntentThreshold": 123
}
'
```

```
import requests

url = "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings"

payload = {
    "timezone": "Europe/Berlin",
    "useCaseSensitiveIntentMapping": True,
    "collectAnalytics": True,
    "trackDataOnlyInputs": True,
    "translationSettings": { "connections": {
            "microsoft": {
                "connecionId": "<string>",
                "retries": 1,
                "timeout": 3000,
                "cacheExpiry": 0,
                "customBaseUrl": ""
            },
            "deepl": {
                "connecionId": "<string>",
                "retries": 1,
                "timeout": 3000,
                "cacheExpiry": 0,
                "customBaseUrl": ""
            },
            "google": {
                "connecionId": "<string>",
                "retries": 1,
                "timeout": 3000,
                "cacheExpiry": 0,
                "customBaseUrl": ""
            }
        } },
    "audioPreviewSettings": { "connections": {
            "microsoft": { "connecionId": "<string>" },
            "aws": { "connecionId": "<string>" },
            "google": { "connecionId": "<string>" }
        } },
    "generativeAISettings": {
        "enabled": True,
        "useCasesSettings": {
            "designTimeGeneration": {
                "enabled": True,
                "largeLanguageModelId": "<string>",
                "temperature": 0
            },
            "aiEnhancedOutputs": {
                "enabled": True,
                "largeLanguageModelId": "<string>",
                "temperature": 0
            },
            "gptConversation": {
                "enabled": True,
                "largeLanguageModelId": "<string>",
                "temperature": 0
            },
            "gptPromptNode": {
                "enabled": True,
                "largeLanguageModelId": "<string>",
                "temperature": 0
            },
            "knowledgeSearch": {
                "enabled": True,
                "largeLanguageModelId": "<string>",
                "temperature": 0
            },
            "conversationAnalyzer": {
                "enabled": True,
                "largeLanguageModelId": "<string>",
                "temperature": 0
            }
        }
    },
    "currencySettings": { "currency": "USD" },
    "knowledgeAISettings": { "azureDIConnectionId": "f66e99eb-db8f-433c-977f-69160d9a6bdb" },
    "proactiveSettings": {
        "journeyId": 123,
        "journeyName": "<string>",
        "journeyStatus": "<string>",
        "flowId": "<string>",
        "flowReferenceId": "<string>",
        "endpointId": "<string>",
        "contactAction": {
            "id": 123,
            "name": "<string>"
        },
        "integrationPoint": {
            "id": 123,
            "name": "<string>"
        },
        "taskId": "<string>"
    },
    "intentThreshold": {
        "lower": 0.4,
        "upper": 0.5
    },
    "learnNewExampleSentences": True,
    "learnNewExampleSentencesThreshold": 123,
    "negativeConfirmationWords": ["<string>"],
    "positiveConfirmationWords": ["<string>"],
    "systemSlots": {
        "useAgeSlots": True,
        "useDateSlots": True,
        "useDistanceSlots": True,
        "useDurationSlots": True,
        "useEmailSlots": True,
        "useMoneySlots": True,
        "useNumberSlots": True,
        "usePercentageSlots": True,
        "useTemperatureSlots": True,
        "useURLSlots": True
    },
    "yesNoIntentThreshold": 123
}
headers = {
    "X-API-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
```

```
const options = {
  method: 'PATCH',
  headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    timezone: 'Europe/Berlin',
    useCaseSensitiveIntentMapping: true,
    collectAnalytics: true,
    trackDataOnlyInputs: true,
    translationSettings: {
      connections: {
        microsoft: {
          connecionId: '<string>',
          retries: 1,
          timeout: 3000,
          cacheExpiry: 0,
          customBaseUrl: ''
        },
        deepl: {
          connecionId: '<string>',
          retries: 1,
          timeout: 3000,
          cacheExpiry: 0,
          customBaseUrl: ''
        },
        google: {
          connecionId: '<string>',
          retries: 1,
          timeout: 3000,
          cacheExpiry: 0,
          customBaseUrl: ''
        }
      }
    },
    audioPreviewSettings: {
      connections: {
        microsoft: {connecionId: '<string>'},
        aws: {connecionId: '<string>'},
        google: {connecionId: '<string>'}
      }
    },
    generativeAISettings: {
      enabled: true,
      useCasesSettings: {
        designTimeGeneration: {enabled: true, largeLanguageModelId: '<string>', temperature: 0},
        aiEnhancedOutputs: {enabled: true, largeLanguageModelId: '<string>', temperature: 0},
        gptConversation: {enabled: true, largeLanguageModelId: '<string>', temperature: 0},
        gptPromptNode: {enabled: true, largeLanguageModelId: '<string>', temperature: 0},
        knowledgeSearch: {enabled: true, largeLanguageModelId: '<string>', temperature: 0},
        conversationAnalyzer: {enabled: true, largeLanguageModelId: '<string>', temperature: 0}
      }
    },
    currencySettings: {currency: 'USD'},
    knowledgeAISettings: {azureDIConnectionId: 'f66e99eb-db8f-433c-977f-69160d9a6bdb'},
    proactiveSettings: {
      journeyId: 123,
      journeyName: '<string>',
      journeyStatus: '<string>',
      flowId: '<string>',
      flowReferenceId: '<string>',
      endpointId: '<string>',
      contactAction: {id: 123, name: '<string>'},
      integrationPoint: {id: 123, name: '<string>'},
      taskId: '<string>'
    },
    intentThreshold: {lower: 0.4, upper: 0.5},
    learnNewExampleSentences: true,
    learnNewExampleSentencesThreshold: 123,
    negativeConfirmationWords: ['<string>'],
    positiveConfirmationWords: ['<string>'],
    systemSlots: {
      useAgeSlots: true,
      useDateSlots: true,
      useDistanceSlots: true,
      useDurationSlots: true,
      useEmailSlots: true,
      useMoneySlots: true,
      useNumberSlots: true,
      usePercentageSlots: true,
      useTemperatureSlots: true,
      useURLSlots: true
    },
    yesNoIntentThreshold: 123
  })
};

fetch('https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

```
<?php

$curl = curl_init();

curl_setopt_array($curl, [\
  CURLOPT_URL => "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings",\
  CURLOPT_RETURNTRANSFER => true,\
  CURLOPT_ENCODING => "",\
  CURLOPT_MAXREDIRS => 10,\
  CURLOPT_TIMEOUT => 30,\
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
  CURLOPT_CUSTOMREQUEST => "PATCH",\
  CURLOPT_POSTFIELDS => json_encode([\
    'timezone' => 'Europe/Berlin',\
    'useCaseSensitiveIntentMapping' => true,\
    'collectAnalytics' => true,\
    'trackDataOnlyInputs' => true,\
    'translationSettings' => [\
        'connections' => [\
                'microsoft' => [\
                                'connecionId' => '<string>',\
                                'retries' => 1,\
                                'timeout' => 3000,\
                                'cacheExpiry' => 0,\
                                'customBaseUrl' => ''\
                ],\
                'deepl' => [\
                                'connecionId' => '<string>',\
                                'retries' => 1,\
                                'timeout' => 3000,\
                                'cacheExpiry' => 0,\
                                'customBaseUrl' => ''\
                ],\
                'google' => [\
                                'connecionId' => '<string>',\
                                'retries' => 1,\
                                'timeout' => 3000,\
                                'cacheExpiry' => 0,\
                                'customBaseUrl' => ''\
                ]\
        ]\
    ],\
    'audioPreviewSettings' => [\
        'connections' => [\
                'microsoft' => [\
                                'connecionId' => '<string>'\
                ],\
                'aws' => [\
                                'connecionId' => '<string>'\
                ],\
                'google' => [\
                                'connecionId' => '<string>'\
                ]\
        ]\
    ],\
    'generativeAISettings' => [\
        'enabled' => true,\
        'useCasesSettings' => [\
                'designTimeGeneration' => [\
                                'enabled' => true,\
                                'largeLanguageModelId' => '<string>',\
                                'temperature' => 0\
                ],\
                'aiEnhancedOutputs' => [\
                                'enabled' => true,\
                                'largeLanguageModelId' => '<string>',\
                                'temperature' => 0\
                ],\
                'gptConversation' => [\
                                'enabled' => true,\
                                'largeLanguageModelId' => '<string>',\
                                'temperature' => 0\
                ],\
                'gptPromptNode' => [\
                                'enabled' => true,\
                                'largeLanguageModelId' => '<string>',\
                                'temperature' => 0\
                ],\
                'knowledgeSearch' => [\
                                'enabled' => true,\
                                'largeLanguageModelId' => '<string>',\
                                'temperature' => 0\
                ],\
                'conversationAnalyzer' => [\
                                'enabled' => true,\
                                'largeLanguageModelId' => '<string>',\
                                'temperature' => 0\
                ]\
        ]\
    ],\
    'currencySettings' => [\
        'currency' => 'USD'\
    ],\
    'knowledgeAISettings' => [\
        'azureDIConnectionId' => 'f66e99eb-db8f-433c-977f-69160d9a6bdb'\
    ],\
    'proactiveSettings' => [\
        'journeyId' => 123,\
        'journeyName' => '<string>',\
        'journeyStatus' => '<string>',\
        'flowId' => '<string>',\
        'flowReferenceId' => '<string>',\
        'endpointId' => '<string>',\
        'contactAction' => [\
                'id' => 123,\
                'name' => '<string>'\
        ],\
        'integrationPoint' => [\
                'id' => 123,\
                'name' => '<string>'\
        ],\
        'taskId' => '<string>'\
    ],\
    'intentThreshold' => [\
        'lower' => 0.4,\
        'upper' => 0.5\
    ],\
    'learnNewExampleSentences' => true,\
    'learnNewExampleSentencesThreshold' => 123,\
    'negativeConfirmationWords' => [\
        '<string>'\
    ],\
    'positiveConfirmationWords' => [\
        '<string>'\
    ],\
    'systemSlots' => [\
        'useAgeSlots' => true,\
        'useDateSlots' => true,\
        'useDistanceSlots' => true,\
        'useDurationSlots' => true,\
        'useEmailSlots' => true,\
        'useMoneySlots' => true,\
        'useNumberSlots' => true,\
        'usePercentageSlots' => true,\
        'useTemperatureSlots' => true,\
        'useURLSlots' => true\
    ],\
    'yesNoIntentThreshold' => 123\
  ]),\
  CURLOPT_HTTPHEADER => [\
    "Content-Type: application/json",\
    "X-API-Key: <api-key>"\
  ],\
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

```
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

url := "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings"

payload := strings.NewReader("{\n  \"timezone\": \"Europe/Berlin\",\n  \"useCaseSensitiveIntentMapping\": true,\n  \"collectAnalytics\": true,\n  \"trackDataOnlyInputs\": true,\n  \"translationSettings\": {\n    \"connections\": {\n      \"microsoft\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      },\n      \"deepl\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      },\n      \"google\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      }\n    }\n  },\n  \"audioPreviewSettings\": {\n    \"connections\": {\n      \"microsoft\": {\n        \"connecionId\": \"<string>\"\n      },\n      \"aws\": {\n        \"connecionId\": \"<string>\"\n      },\n      \"google\": {\n        \"connecionId\": \"<string>\"\n      }\n    }\n  },\n  \"generativeAISettings\": {\n    \"enabled\": true,\n    \"useCasesSettings\": {\n      \"designTimeGeneration\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"aiEnhancedOutputs\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"gptConversation\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"gptPromptNode\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"knowledgeSearch\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"conversationAnalyzer\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      }\n    }\n  },\n  \"currencySettings\": {\n    \"currency\": \"USD\"\n  },\n  \"knowledgeAISettings\": {\n    \"azureDIConnectionId\": \"f66e99eb-db8f-433c-977f-69160d9a6bdb\"\n  },\n  \"proactiveSettings\": {\n    \"journeyId\": 123,\n    \"journeyName\": \"<string>\",\n    \"journeyStatus\": \"<string>\",\n    \"flowId\": \"<string>\",\n    \"flowReferenceId\": \"<string>\",\n    \"endpointId\": \"<string>\",\n    \"contactAction\": {\n      \"id\": 123,\n      \"name\": \"<string>\"\n    },\n    \"integrationPoint\": {\n      \"id\": 123,\n      \"name\": \"<string>\"\n    },\n    \"taskId\": \"<string>\"\n  },\n  \"intentThreshold\": {\n    \"lower\": 0.4,\n    \"upper\": 0.5\n  },\n  \"learnNewExampleSentences\": true,\n  \"learnNewExampleSentencesThreshold\": 123,\n  \"negativeConfirmationWords\": [\n    \"<string>\"\n  ],\n  \"positiveConfirmationWords\": [\n    \"<string>\"\n  ],\n  \"systemSlots\": {\n    \"useAgeSlots\": true,\n    \"useDateSlots\": true,\n    \"useDistanceSlots\": true,\n    \"useDurationSlots\": true,\n    \"useEmailSlots\": true,\n    \"useMoneySlots\": true,\n    \"useNumberSlots\": true,\n    \"usePercentageSlots\": true,\n    \"useTemperatureSlots\": true,\n    \"useURLSlots\": true\n  },\n  \"yesNoIntentThreshold\": 123\n}")

req, _ := http.NewRequest("PATCH", url, payload)

req.Header.Add("X-API-Key", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
HttpResponse<String> response = Unirest.patch("https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings")
  .header("X-API-Key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"timezone\": \"Europe/Berlin\",\n  \"useCaseSensitiveIntentMapping\": true,\n  \"collectAnalytics\": true,\n  \"trackDataOnlyInputs\": true,\n  \"translationSettings\": {\n    \"connections\": {\n      \"microsoft\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      },\n      \"deepl\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      },\n      \"google\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      }\n    }\n  },\n  \"audioPreviewSettings\": {\n    \"connections\": {\n      \"microsoft\": {\n        \"connecionId\": \"<string>\"\n      },\n      \"aws\": {\n        \"connecionId\": \"<string>\"\n      },\n      \"google\": {\n        \"connecionId\": \"<string>\"\n      }\n    }\n  },\n  \"generativeAISettings\": {\n    \"enabled\": true,\n    \"useCasesSettings\": {\n      \"designTimeGeneration\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"aiEnhancedOutputs\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"gptConversation\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"gptPromptNode\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"knowledgeSearch\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"conversationAnalyzer\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      }\n    }\n  },\n  \"currencySettings\": {\n    \"currency\": \"USD\"\n  },\n  \"knowledgeAISettings\": {\n    \"azureDIConnectionId\": \"f66e99eb-db8f-433c-977f-69160d9a6bdb\"\n  },\n  \"proactiveSettings\": {\n    \"journeyId\": 123,\n    \"journeyName\": \"<string>\",\n    \"journeyStatus\": \"<string>\",\n    \"flowId\": \"<string>\",\n    \"flowReferenceId\": \"<string>\",\n    \"endpointId\": \"<string>\",\n    \"contactAction\": {\n      \"id\": 123,\n      \"name\": \"<string>\"\n    },\n    \"integrationPoint\": {\n      \"id\": 123,\n      \"name\": \"<string>\"\n    },\n    \"taskId\": \"<string>\"\n  },\n  \"intentThreshold\": {\n    \"lower\": 0.4,\n    \"upper\": 0.5\n  },\n  \"learnNewExampleSentences\": true,\n  \"learnNewExampleSentencesThreshold\": 123,\n  \"negativeConfirmationWords\": [\n    \"<string>\"\n  ],\n  \"positiveConfirmationWords\": [\n    \"<string>\"\n  ],\n  \"systemSlots\": {\n    \"useAgeSlots\": true,\n    \"useDateSlots\": true,\n    \"useDistanceSlots\": true,\n    \"useDurationSlots\": true,\n    \"useEmailSlots\": true,\n    \"useMoneySlots\": true,\n    \"useNumberSlots\": true,\n    \"usePercentageSlots\": true,\n    \"useTemperatureSlots\": true,\n    \"useURLSlots\": true\n  },\n  \"yesNoIntentThreshold\": 123\n}")
  .asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"timezone\": \"Europe/Berlin\",\n  \"useCaseSensitiveIntentMapping\": true,\n  \"collectAnalytics\": true,\n  \"trackDataOnlyInputs\": true,\n  \"translationSettings\": {\n    \"connections\": {\n      \"microsoft\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      },\n      \"deepl\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      },\n      \"google\": {\n        \"connecionId\": \"<string>\",\n        \"retries\": 1,\n        \"timeout\": 3000,\n        \"cacheExpiry\": 0,\n        \"customBaseUrl\": \"\"\n      }\n    }\n  },\n  \"audioPreviewSettings\": {\n    \"connections\": {\n      \"microsoft\": {\n        \"connecionId\": \"<string>\"\n      },\n      \"aws\": {\n        \"connecionId\": \"<string>\"\n      },\n      \"google\": {\n        \"connecionId\": \"<string>\"\n      }\n    }\n  },\n  \"generativeAISettings\": {\n    \"enabled\": true,\n    \"useCasesSettings\": {\n      \"designTimeGeneration\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"aiEnhancedOutputs\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"gptConversation\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"gptPromptNode\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"knowledgeSearch\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      },\n      \"conversationAnalyzer\": {\n        \"enabled\": true,\n        \"largeLanguageModelId\": \"<string>\",\n        \"temperature\": 0\n      }\n    }\n  },\n  \"currencySettings\": {\n    \"currency\": \"USD\"\n  },\n  \"knowledgeAISettings\": {\n    \"azureDIConnectionId\": \"f66e99eb-db8f-433c-977f-69160d9a6bdb\"\n  },\n  \"proactiveSettings\": {\n    \"journeyId\": 123,\n    \"journeyName\": \"<string>\",\n    \"journeyStatus\": \"<string>\",\n    \"flowId\": \"<string>\",\n    \"flowReferenceId\": \"<string>\",\n    \"endpointId\": \"<string>\",\n    \"contactAction\": {\n      \"id\": 123,\n      \"name\": \"<string>\"\n    },\n    \"integrationPoint\": {\n      \"id\": 123,\n      \"name\": \"<string>\"\n    },\n    \"taskId\": \"<string>\"\n  },\n  \"intentThreshold\": {\n    \"lower\": 0.4,\n    \"upper\": 0.5\n  },\n  \"learnNewExampleSentences\": true,\n  \"learnNewExampleSentencesThreshold\": 123,\n  \"negativeConfirmationWords\": [\n    \"<string>\"\n  ],\n  \"positiveConfirmationWords\": [\n    \"<string>\"\n  ],\n  \"systemSlots\": {\n    \"useAgeSlots\": true,\n    \"useDateSlots\": true,\n    \"useDistanceSlots\": true,\n    \"useDurationSlots\": true,\n    \"useEmailSlots\": true,\n    \"useMoneySlots\": true,\n    \"useNumberSlots\": true,\n    \"usePercentageSlots\": true,\n    \"useTemperatureSlots\": true,\n    \"useURLSlots\": true\n  },\n  \"yesNoIntentThreshold\": 123\n}"

response = http.request(request)
puts response.read_body
```

400

401

402

403

404

405

409

413

500

501

502

503

504

```
{
  "type": "Bad Request",
  "title": "Bad Request Error",
  "status": 400,
  "detail": "Validation failed. Missing payload.",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Unauthorized",
  "title": "Unauthorized Error",
  "status": 401,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 401,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Payment Required",
  "title": "Payment Required Error",
  "status": 402,
  "detail": "Validation failed. Missing payload.",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 402,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Forbidden",
  "title": "Forbidden Error",
  "status": 403,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Not Found",
  "title": "Not Found Error",
  "status": 404,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {},
  "logLevel": "error"
}
```

```
{
  "type": "Method Not Allowed",
  "title": "Method Not Allowed Error",
  "status": 405,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Conflict",
  "title": "Conflict Error",
  "status": 409,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1004,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Payload Too Large",
  "title": "Payload Too Large Error",
  "status": 413,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Internal Server Error",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Not Implemented",
  "title": "Not Implemented Error",
  "status": 501,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1009,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Bad Gateway",
  "title": "Bad Gateway Error",
  "status": 502,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Service Unavailable",
  "title": "Service Unavailable Error",
  "status": 503,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 503,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

```
{
  "type": "Gateway Timeout",
  "title": "Gateway Timeout Error",
  "status": 504,
  "detail": "<string>",
  "instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
  "code": 1000,
  "traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
  "details": {}
}
```

#### Authorizations

APIKeyHeaderAPIKeyQueryParamCXoneTokenHeaderOAuth2APIKeyHeaderAPIKeyQueryParamCXoneTokenHeaderOAuth2

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#authorization-x-api-key)

X-API-Key

string

header

required

Supply the API Key in the HTTP-Header

#### Headers

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#parameter-accept)

Accept

enum<string>

The `Accept` header specifies the media type that the client expects in the response. Available options: `application/json`, `application/hal+json`, `application/xml`, `text/xml`, `text/csv`. The default value is `application/json`.

Available options:

`application/json`,

`application/hal+json`,

`application/xml`,

`text/xml`,

`text/csv`

#### Path Parameters

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#parameter-project-id)

projectId

string

required

The unique identifier for the Project.

Required string length: `24`

Pattern: `^[a-z0-9]{24}$`

#### Body

application/json

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-timezone)

timezone

enum<string>

Timezone according to IANA Timezone Database (2020a)

Available options:

`Africa/Abidjan`,

`Africa/Accra`,

`Africa/Addis_Ababa`,

`Africa/Algiers`,

`Africa/Asmara`,

`Africa/Asmera`,

`Africa/Bamako`,

`Africa/Bangui`,

`Africa/Banjul`,

`Africa/Bissau`,

`Africa/Blantyre`,

`Africa/Brazzaville`,

`Africa/Bujumbura`,

`Africa/Cairo`,

`Africa/Casablanca`,

`Africa/Ceuta`,

`Africa/Conakry`,

`Africa/Dakar`,

`Africa/Dar_es_Salaam`,

`Africa/Djibouti`,

`Africa/Douala`,

`Africa/El_Aaiun`,

`Africa/Freetown`,

`Africa/Gaborone`,

`Africa/Harare`,

`Africa/Johannesburg`,

`Africa/Juba`,

`Africa/Kampala`,

`Africa/Khartoum`,

`Africa/Kigali`,

`Africa/Kinshasa`,

`Africa/Lagos`,

`Africa/Libreville`,

`Africa/Lome`,

`Africa/Luanda`,

`Africa/Lubumbashi`,

`Africa/Lusaka`,

`Africa/Malabo`,

`Africa/Maputo`,

`Africa/Maseru`,

`Africa/Mbabane`,

`Africa/Mogadishu`,

`Africa/Monrovia`,

`Africa/Nairobi`,

`Africa/Ndjamena`,

`Africa/Niamey`,

`Africa/Nouakchott`,

`Africa/Ouagadougou`,

`Africa/Porto-Novo`,

`Africa/Sao_Tome`,

`Africa/Timbuktu`,

`Africa/Tripoli`,

`Africa/Tunis`,

`Africa/Windhoek`,

`America/Adak`,

`America/Anchorage`,

`America/Anguilla`,

`America/Antigua`,

`America/Araguaina`,

`America/Argentina/Buenos_Aires`,

`America/Argentina/Catamarca`,

`America/Argentina/ComodRivadavia`,

`America/Argentina/Cordoba`,

`America/Argentina/Jujuy`,

`America/Argentina/La_Rioja`,

`America/Argentina/Mendoza`,

`America/Argentina/Rio_Gallegos`,

`America/Argentina/Salta`,

`America/Argentina/San_Juan`,

`America/Argentina/San_Luis`,

`America/Argentina/Tucuman`,

`America/Argentina/Ushuaia`,

`America/Aruba`,

`America/Asuncion`,

`America/Atikokan`,

`America/Atka`,

`America/Bahia`,

`America/Bahia_Banderas`,

`America/Barbados`,

`America/Belem`,

`America/Belize`,

`America/Blanc-Sablon`,

`America/Boa_Vista`,

`America/Bogota`,

`America/Boise`,

`America/Buenos_Aires`,

`America/Cambridge_Bay`,

`America/Campo_Grande`,

`America/Cancun`,

`America/Caracas`,

`America/Catamarca`,

`America/Cayenne`,

`America/Cayman`,

`America/Chicago`,

`America/Chihuahua`,

`America/Coral_Harbour`,

`America/Cordoba`,

`America/Costa_Rica`,

`America/Creston`,

`America/Cuiaba`,

`America/Curacao`,

`America/Danmarkshavn`,

`America/Dawson`,

`America/Dawson_Creek`,

`America/Denver`,

`America/Detroit`,

`America/Dominica`,

`America/Edmonton`,

`America/Eirunepe`,

`America/El_Salvador`,

`America/Ensenada`,

`America/Fort_Nelson`,

`America/Fort_Wayne`,

`America/Fortaleza`,

`America/Glace_Bay`,

`America/Godthab`,

`America/Goose_Bay`,

`America/Grand_Turk`,

`America/Grenada`,

`America/Guadeloupe`,

`America/Guatemala`,

`America/Guayaquil`,

`America/Guyana`,

`America/Halifax`,

`America/Havana`,

`America/Hermosillo`,

`America/Indiana/Indianapolis`,

`America/Indiana/Knox`,

`America/Indiana/Marengo`,

`America/Indiana/Petersburg`,

`America/Indiana/Tell_City`,

`America/Indiana/Vevay`,

`America/Indiana/Vincennes`,

`America/Indiana/Winamac`,

`America/Indianapolis`,

`America/Inuvik`,

`America/Iqaluit`,

`America/Jamaica`,

`America/Jujuy`,

`America/Juneau`,

`America/Kentucky/Louisville`,

`America/Kentucky/Monticello`,

`America/Knox_IN`,

`America/Kralendijk`,

`America/La_Paz`,

`America/Lima`,

`America/Los_Angeles`,

`America/Louisville`,

`America/Lower_Princes`,

`America/Maceio`,

`America/Managua`,

`America/Manaus`,

`America/Marigot`,

`America/Martinique`,

`America/Matamoros`,

`America/Mazatlan`,

`America/Mendoza`,

`America/Menominee`,

`America/Merida`,

`America/Metlakatla`,

`America/Mexico_City`,

`America/Miquelon`,

`America/Moncton`,

`America/Monterrey`,

`America/Montevideo`,

`America/Montreal`,

`America/Montserrat`,

`America/Nassau`,

`America/New_York`,

`America/Nipigon`,

`America/Nome`,

`America/Noronha`,

`America/North_Dakota/Beulah`,

`America/North_Dakota/Center`,

`America/North_Dakota/New_Salem`,

`America/Ojinaga`,

`America/Panama`,

`America/Pangnirtung`,

`America/Paramaribo`,

`America/Phoenix`,

`America/Port-au-Prince`,

`America/Port_of_Spain`,

`America/Porto_Acre`,

`America/Porto_Velho`,

`America/Puerto_Rico`,

`America/Punta_Arenas`,

`America/Rainy_River`,

`America/Rankin_Inlet`,

`America/Recife`,

`America/Regina`,

`America/Resolute`,

`America/Rio_Branco`,

`America/Rosario`,

`America/Santa_Isabel`,

`America/Santarem`,

`America/Santiago`,

`America/Santo_Domingo`,

`America/Sao_Paulo`,

`America/Scoresbysund`,

`America/Shiprock`,

`America/Sitka`,

`America/St_Barthelemy`,

`America/St_Johns`,

`America/St_Kitts`,

`America/St_Lucia`,

`America/St_Thomas`,

`America/St_Vincent`,

`America/Swift_Current`,

`America/Tegucigalpa`,

`America/Thule`,

`America/Thunder_Bay`,

`America/Tijuana`,

`America/Toronto`,

`America/Tortola`,

`America/Vancouver`,

`America/Virgin`,

`America/Whitehorse`,

`America/Winnipeg`,

`America/Yakutat`,

`America/Yellowknife`,

`Antarctica/Casey`,

`Antarctica/Davis`,

`Antarctica/DumontDUrville`,

`Antarctica/Macquarie`,

`Antarctica/Mawson`,

`Antarctica/McMurdo`,

`Antarctica/Palmer`,

`Antarctica/Rothera`,

`Antarctica/South_Pole`,

`Antarctica/Syowa`,

`Antarctica/Troll`,

`Antarctica/Vostok`,

`Arctic/Longyearbyen`,

`Asia/Aden`,

`Asia/Almaty`,

`Asia/Amman`,

`Asia/Anadyr`,

`Asia/Aqtau`,

`Asia/Aqtobe`,

`Asia/Ashgabat`,

`Asia/Ashkhabad`,

`Asia/Atyrau`,

`Asia/Baghdad`,

`Asia/Bahrain`,

`Asia/Baku`,

`Asia/Bangkok`,

`Asia/Barnaul`,

`Asia/Beirut`,

`Asia/Bishkek`,

`Asia/Brunei`,

`Asia/Calcutta`,

`Asia/Chita`,

`Asia/Choibalsan`,

`Asia/Chongqing`,

`Asia/Chungking`,

`Asia/Colombo`,

`Asia/Dacca`,

`Asia/Damascus`,

`Asia/Dhaka`,

`Asia/Dili`,

`Asia/Dubai`,

`Asia/Dushanbe`,

`Asia/Famagusta`,

`Asia/Gaza`,

`Asia/Harbin`,

`Asia/Hebron`,

`Asia/Ho_Chi_Minh`,

`Asia/Hong_Kong`,

`Asia/Hovd`,

`Asia/Irkutsk`,

`Asia/Istanbul`,

`Asia/Jakarta`,

`Asia/Jayapura`,

`Asia/Jerusalem`,

`Asia/Kabul`,

`Asia/Kamchatka`,

`Asia/Karachi`,

`Asia/Kashgar`,

`Asia/Kathmandu`,

`Asia/Katmandu`,

`Asia/Khandyga`,

`Asia/Kolkata`,

`Asia/Krasnoyarsk`,

`Asia/Kuala_Lumpur`,

`Asia/Kuching`,

`Asia/Kuwait`,

`Asia/Macao`,

`Asia/Macau`,

`Asia/Magadan`,

`Asia/Makassar`,

`Asia/Manila`,

`Asia/Muscat`,

`Asia/Nicosia`,

`Asia/Novokuznetsk`,

`Asia/Novosibirsk`,

`Asia/Omsk`,

`Asia/Oral`,

`Asia/Phnom_Penh`,

`Asia/Pontianak`,

`Asia/Pyongyang`,

`Asia/Qatar`,

`Asia/Qyzylorda`,

`Asia/Rangoon`,

`Asia/Riyadh`,

`Asia/Saigon`,

`Asia/Sakhalin`,

`Asia/Samarkand`,

`Asia/Seoul`,

`Asia/Shanghai`,

`Asia/Singapore`,

`Asia/Srednekolymsk`,

`Asia/Taipei`,

`Asia/Tashkent`,

`Asia/Tbilisi`,

`Asia/Tehran`,

`Asia/Tel_Aviv`,

`Asia/Thimbu`,

`Asia/Thimphu`,

`Asia/Tokyo`,

`Asia/Tomsk`,

`Asia/Ujung_Pandang`,

`Asia/Ulaanbaatar`,

`Asia/Ulan_Bator`,

`Asia/Urumqi`,

`Asia/Ust-Nera`,

`Asia/Vientiane`,

`Asia/Vladivostok`,

`Asia/Yakutsk`,

`Asia/Yangon`,

`Asia/Yekaterinburg`,

`Asia/Yerevan`,

`Atlantic/Azores`,

`Atlantic/Bermuda`,

`Atlantic/Canary`,

`Atlantic/Cape_Verde`,

`Atlantic/Faeroe`,

`Atlantic/Faroe`,

`Atlantic/Jan_Mayen`,

`Atlantic/Madeira`,

`Atlantic/Reykjavik`,

`Atlantic/South_Georgia`,

`Atlantic/St_Helena`,

`Atlantic/Stanley`,

`Australia/ACT`,

`Australia/Adelaide`,

`Australia/Brisbane`,

`Australia/Broken_Hill`,

`Australia/Canberra`,

`Australia/Currie`,

`Australia/Darwin`,

`Australia/Eucla`,

`Australia/Hobart`,

`Australia/LHI`,

`Australia/Lindeman`,

`Australia/Lord_Howe`,

`Australia/Melbourne`,

`Australia/NSW`,

`Australia/North`,

`Australia/Perth`,

`Australia/Queensland`,

`Australia/South`,

`Australia/Sydney`,

`Australia/Tasmania`,

`Australia/Victoria`,

`Australia/West`,

`Australia/Yancowinna`,

`Brazil/Acre`,

`Brazil/DeNoronha`,

`Brazil/East`,

`Brazil/West`,

`CET`,

`CST6CDT`,

`Canada/Atlantic`,

`Canada/Central`,

`Canada/Eastern`,

`Canada/Mountain`,

`Canada/Newfoundland`,

`Canada/Pacific`,

`Canada/Saskatchewan`,

`Canada/Yukon`,

`Chile/Continental`,

`Chile/EasterIsland`,

`Cuba`,

`EET`,

`EST`,

`EST5EDT`,

`Egypt`,

`Eire`,

`Etc/GMT`,

`Etc/GMT+0`,

`Etc/GMT+1`,

`Etc/GMT+10`,

`Etc/GMT+11`,

`Etc/GMT+12`,

`Etc/GMT+2`,

`Etc/GMT+3`,

`Etc/GMT+4`,

`Etc/GMT+5`,

`Etc/GMT+6`,

`Etc/GMT+7`,

`Etc/GMT+8`,

`Etc/GMT+9`,

`Etc/GMT-0`,

`Etc/GMT-1`,

`Etc/GMT-10`,

`Etc/GMT-11`,

`Etc/GMT-12`,

`Etc/GMT-13`,

`Etc/GMT-14`,

`Etc/GMT-2`,

`Etc/GMT-3`,

`Etc/GMT-4`,

`Etc/GMT-5`,

`Etc/GMT-6`,

`Etc/GMT-7`,

`Etc/GMT-8`,

`Etc/GMT-9`,

`Etc/GMT0`,

`Etc/Greenwich`,

`Etc/UCT`,

`Etc/UTC`,

`Etc/Universal`,

`Etc/Zulu`,

`Europe/Amsterdam`,

`Europe/Andorra`,

`Europe/Astrakhan`,

`Europe/Athens`,

`Europe/Belfast`,

`Europe/Belgrade`,

`Europe/Berlin`,

`Europe/Bratislava`,

`Europe/Brussels`,

`Europe/Bucharest`,

`Europe/Budapest`,

`Europe/Busingen`,

`Europe/Chisinau`,

`Europe/Copenhagen`,

`Europe/Dublin`,

`Europe/Gibraltar`,

`Europe/Guernsey`,

`Europe/Helsinki`,

`Europe/Isle_of_Man`,

`Europe/Istanbul`,

`Europe/Jersey`,

`Europe/Kaliningrad`,

`Europe/Kiev`,

`Europe/Kirov`,

`Europe/Lisbon`,

`Europe/Ljubljana`,

`Europe/London`,

`Europe/Luxembourg`,

`Europe/Madrid`,

`Europe/Malta`,

`Europe/Mariehamn`,

`Europe/Minsk`,

`Europe/Monaco`,

`Europe/Moscow`,

`Europe/Nicosia`,

`Europe/Oslo`,

`Europe/Paris`,

`Europe/Podgorica`,

`Europe/Prague`,

`Europe/Riga`,

`Europe/Rome`,

`Europe/Samara`,

`Europe/San_Marino`,

`Europe/Sarajevo`,

`Europe/Saratov`,

`Europe/Simferopol`,

`Europe/Skopje`,

`Europe/Sofia`,

`Europe/Stockholm`,

`Europe/Tallinn`,

`Europe/Tirane`,

`Europe/Tiraspol`,

`Europe/Ulyanovsk`,

`Europe/Uzhgorod`,

`Europe/Vaduz`,

`Europe/Vatican`,

`Europe/Vienna`,

`Europe/Vilnius`,

`Europe/Volgograd`,

`Europe/Warsaw`,

`Europe/Zagreb`,

`Europe/Zaporozhye`,

`Europe/Zurich`,

`GB`,

`GB-Eire`,

`GMT`,

`GMT+0`,

`GMT-0`,

`GMT0`,

`Greenwich`,

`HST`,

`Hongkong`,

`Iceland`,

`Indian/Antananarivo`,

`Indian/Chagos`,

`Indian/Christmas`,

`Indian/Cocos`,

`Indian/Comoro`,

`Indian/Kerguelen`,

`Indian/Mahe`,

`Indian/Maldives`,

`Indian/Mauritius`,

`Indian/Mayotte`,

`Indian/Reunion`,

`Iran`,

`Israel`,

`Jamaica`,

`Japan`,

`Kwajalein`,

`Libya`,

`MET`,

`MST`,

`MST7MDT`,

`Mexico/BajaNorte`,

`Mexico/BajaSur`,

`Mexico/General`,

`NZ`,

`NZ-CHAT`,

`Navajo`,

`PRC`,

`PST8PDT`,

`Pacific/Apia`,

`Pacific/Auckland`,

`Pacific/Bougainville`,

`Pacific/Chatham`,

`Pacific/Chuuk`,

`Pacific/Easter`,

`Pacific/Efate`,

`Pacific/Enderbury`,

`Pacific/Fakaofo`,

`Pacific/Fiji`,

`Pacific/Funafuti`,

`Pacific/Galapagos`,

`Pacific/Gambier`,

`Pacific/Guadalcanal`,

`Pacific/Guam`,

`Pacific/Honolulu`,

`Pacific/Johnston`,

`Pacific/Kiritimati`,

`Pacific/Kosrae`,

`Pacific/Kwajalein`,

`Pacific/Majuro`,

`Pacific/Marquesas`,

`Pacific/Midway`,

`Pacific/Nauru`,

`Pacific/Niue`,

`Pacific/Norfolk`,

`Pacific/Noumea`,

`Pacific/Pago_Pago`,

`Pacific/Palau`,

`Pacific/Pitcairn`,

`Pacific/Pohnpei`,

`Pacific/Ponape`,

`Pacific/Port_Moresby`,

`Pacific/Rarotonga`,

`Pacific/Saipan`,

`Pacific/Samoa`,

`Pacific/Tahiti`,

`Pacific/Tarawa`,

`Pacific/Tongatapu`,

`Pacific/Truk`,

`Pacific/Wake`,

`Pacific/Wallis`,

`Pacific/Yap`,

`Poland`,

`Portugal`,

`ROC`,

`ROK`,

`Singapore`,

`Turkey`,

`UCT`,

`US/Alaska`,

`US/Aleutian`,

`US/Arizona`,

`US/Central`,

`US/East-Indiana`,

`US/Eastern`,

`US/Hawaii`,

`US/Indiana-Starke`,

`US/Michigan`,

`US/Mountain`,

`US/Pacific`,

`US/Pacific-New`,

`US/Samoa`,

`UTC`,

`Universal`,

`W-SU`,

`WET`,

`Zulu`

Example:

`"Europe/Berlin"`

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-use-case-sensitive-intent-mapping)

useCaseSensitiveIntentMapping

boolean

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-collect-analytics)

collectAnalytics

boolean

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-track-data-only-inputs)

trackDataOnlyInputs

boolean

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-translation-settings)

translationSettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-audio-preview-settings)

audioPreviewSettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-generative-ai-settings)

generativeAISettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-currency-settings)

currencySettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-knowledge-ai-settings)

knowledgeAISettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-pii-data-redaction-settings)

piiDataRedactionSettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-proactive-settings)

proactiveSettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-intent-threshold)

intentThreshold

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-learn-new-example-sentences)

learnNewExampleSentences

boolean

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-learn-new-example-sentences-threshold)

learnNewExampleSentencesThreshold

integer

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-negative-confirmation-words)

negativeConfirmationWords

string\[\]

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-positive-confirmation-words)

positiveConfirmationWords

string\[\]

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-system-slots)

systemSlots

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-yes-no-logic)

yesNoLogic

enum<string>

Available options:

`yesNoIntents`,

`yesNoIntentsWithRules`,

`confirmationWords`

[​](https://docs.cognigy.com/api-reference/projects/update-project-settings#body-yes-no-intent-threshold)

yesNoIntentThreshold

integer

#### Response

204

Project settings successfully updated.

Last modified onJuly 8, 2026

[Previous](https://docs.cognigy.com/api-reference/projects/get-project-settings) [Set Up Proactive Follow-UpProvisions a Proactive tenant, creates a journey, and generates a follow-up flow.\\
\\
Next](https://docs.cognigy.com/api-reference/projects/set-up-proactive-follow-up)

Ctrl+I

Update Project Settings

cURL

```
import requests

url = "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings"

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
```

```
<?php

$curl = curl_init();

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

```
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

url := "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings"

req, _ := http.NewRequest("PATCH", url, payload)

req.Header.Add("X-API-Key", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
require 'uri'
require 'net/http'

url = URI("https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/settings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

response = http.request(request)
puts response.read_body
```

400

401

402

403

404

405

409

413

500

501

502

503

504

ChatVoice

Click the call button to start talking.

Cognigy AssistantReady to talk

Connecting…

Powered by [Cognigy.AI](/content/site-root.html)

### Cookie Consent

We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for.

With your consent, you're helping us make our documentation better.
To find out more about the cookies we use, see our
[Privacy Policy](/content/privacy-policy/index.html).

Accept

';
 cachedClickBlockingCode = css + js;
 return cachedClickBlockingCode;
 }

// Helper: Inject click-blocking code into iframe
 function injectClickBlocking(iframeDoc) {
 if (!iframeDoc \|\| !iframeDoc.head) return false;

try {
 const style = iframeDoc.createElement('style');
 style.textContent = 'a,button,input,select,textarea,\[onclick\],\[role="button"\],input\[type="button"\],input\[type="submit"\],\[href\],\[tabindex\]:not(\[tabindex="-1"\]){pointer-events:none!important;cursor:default!important}a:hover,button:hover{cursor:default!important;opacity:0.7!important}';
 iframeDoc.head.appendChild(style);

const script = iframeDoc.createElement('script');
 script.textContent = '(function(){var preventClick=function(e){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();return false;};document.addEventListener("click",preventClick,true);document.addEventListener("mousedown",preventClick,true);document.addEventListener("mouseup",preventClick,true);document.addEventListener("touchstart",preventClick,true);document.addEventListener("touchend",preventClick,true);document.addEventListener("contextmenu",preventClick,true);window.addEventListener("beforeunload",function(e){e.preventDefault();e.returnValue="";return "";},true);try{Object.defineProperty(window,"location",{value:{href:"#",replace:function(){},assign:function(){}},writable:false,configurable:false});}catch(e){}var originalPushState=history.pushState;history.pushState=function(){return false;};var originalReplaceState=history.replaceState;history.replaceState=function(){return false;};var originalOpen=window.open;window.open=function(){return null;};var allElements=document.querySelectorAll("\*");for(var i=0;i 0 \|\| replacedViewers.length > 0) {
 const currentUrl = window.location.href;
 if (!processedUrls.has(currentUrl)) {
 processedUrls.add(currentUrl);
 lastUrl = currentUrl;
 }
 return;
 }

const currentUrl = window.location.href;
 if (currentUrl === lastUrl && lastUrl !== null && processedUrls.has(currentUrl)) {
 return;
 }

// Optimized: Use cached viewer query
 const viewers = getUninitializedViewers();

if (viewers.length === 0) {
 if (periodicCheckInterval) {
 clearInterval(periodicCheckInterval);
 periodicCheckInterval = null;
 }
 return;
 }

// Final safety check
 if (viewers.length > 0) {
 if (currentUrl === lastUrl && lastUrl !== null && processedUrls.has(currentUrl)) {
 viewers.forEach(function(viewer) {
 viewer.setAttribute('data-initialized', 'true');
 });
 return;
 }

if (currentUrl === lastUrl && lastUrl !== null) {
 if (existingContainers.length > 0) {
 processedUrls.add(currentUrl);
 viewers.forEach(function(viewer) {
 viewer.setAttribute('data-initialized', 'true');
 });
 return;
 }
 }
 }

isInitializing = true;
 let processedAny = false;

// Optimized: Process viewers in batch
 viewers.forEach(function(viewer) {
 if (processedElements.has(viewer) \|\| viewer.hasAttribute('data-initialized')) {
 return;
 }

if (viewer.closest('.single-page-viewer-container')) {
 return;
 }

if (!viewer.parentNode) {
 return;
 }

const isInContentArea = contentArea === document.body \|\| contentArea.contains(viewer);
 if (!isInContentArea) {
 return;
 }

const src = viewer.getAttribute('data-src');
 const hint = viewer.getAttribute('data-hint') \|\| '';
 const defaultZoom = parseFloat(viewer.getAttribute('data-zoom')) \|\| DEFAULT\_ZOOM;
 const dataHeight = viewer.getAttribute('data-height');
 const height = dataHeight ? parseFloat(dataHeight) : null;

if (!src) {
 // Don't set isInitializing = false here - it affects all viewers in the loop
 return;
 }

processedElements.add(viewer);
 viewer.setAttribute('data-initialized', 'true');

let zoom = defaultZoom;

// Optimized: Use document fragment for DOM construction
 const fragment = document.createDocumentFragment();
 const container = document.createElement('div');
 container.className = 'single-page-viewer-container';

const wrapper = document.createElement('div');
 wrapper.className = 'single-page-viewer-wrapper';

const controlsBar = document.createElement('div');
 controlsBar.className = 'single-page-viewer-controls';

if (hint) {
 const hintDiv = document.createElement('div');
 hintDiv.className = 'single-page-viewer-hint';
 hintDiv.innerHTML = '' \+ hint + '';
 controlsBar.appendChild(hintDiv);
 }

const iframeWrapper = document.createElement('div');
 iframeWrapper.className = 'single-page-viewer-iframe-wrapper';
 iframeWrapper.\_scrollHandlerAdded = false;

// Optimized: Get height without temporary DOM manipulation
 const baseHeightFromCSS = height \|\| NORMAL\_HEIGHT;

const scaleDiv = document.createElement('div');
 scaleDiv.className = 'single-page-viewer-scale';
 const initialHeight = baseHeightFromCSS;
 scaleDiv.style.cssText = 'transform: scale(' + zoom + '); transform-origin: top left; width: ' + (100 / zoom) + '%; height: ' + initialHeight + 'px; transition: transform 0.2s ease;';

const iframe = document.createElement('iframe');
 let iframeSrc = src;
 if (iframeSrc && !iframeSrc.startsWith('http') && !iframeSrc.startsWith('//')) {
 if (!iframeSrc.startsWith('/')) {
 iframeSrc = '/' + iframeSrc;
 }
 }

iframe.title = 'Single Page Viewer';
 iframe.className = 'single-page-viewer-iframe';
 iframe.style.width = '100%';
 iframe.style.height = initialHeight + 'px';
 iframe.loading = 'lazy';
 iframe.setAttribute('scrolling', 'no');
 iframe.setAttribute('sandbox', 'allow-same-origin allow-scripts allow-forms allow-popups allow-modals');

const clickBlocker = document.createElement('div');
 clickBlocker.className = 'single-page-viewer-click-blocker';

if (iframeSrc.endsWith('.html') && !iframeSrc.startsWith('http')) {
 fetch(iframeSrc)
 .then(function(response) {
 return response.text().then(function(htmlContent) {
 if (htmlContent.includes('Page Not Found') \|\|
 (htmlContent.includes('\_\_next') && htmlContent.includes('mintlify') && !htmlContent.includes('Page saved with SingleFile'))) {
 throw new Error('Received 404 page instead of HTML file.');
 }
 const blockingCode = getClickBlockingCode();
 if (htmlContent.includes('')) {
 htmlContent = htmlContent.replace('', blockingCode + '');
 } else if (htmlContent.includes('')) {
 htmlContent = htmlContent.replace('', '' + blockingCode);
 } else {
 if (htmlContent.includes('')) {
 htmlContent = htmlContent.replace('', '' + blockingCode + '');
 } else {
 htmlContent = blockingCode + htmlContent;
 }
 }
 iframe.srcdoc = htmlContent;
 });
 });
 } else {
 iframe.src = iframeSrc;
 }

iframe.addEventListener('load', function() {
 setTimeout(function() {
 updateIframeDimensions(iframeWrapper, scaleDiv, iframe, zoom);
 }, 100);

try {
 const iframeDoc = iframe.contentDocument \|\| iframe.contentWindow.document;
 injectClickBlocking(iframeDoc);
 } catch (e) {
 // Cross-origin iframe - cannot block clicks
 }
 }, { once: true });

iframe.addEventListener('error', function() {
 // Iframe failed to load - error handling is silent
 }, { once: true });

scaleDiv.appendChild(iframe);
 iframeWrapper.appendChild(scaleDiv);
 if (!iframeSrc.endsWith('.html') \|\| iframeSrc.startsWith('http')) {
 iframeWrapper.appendChild(clickBlocker);
 }

if (hint) {
 wrapper.appendChild(controlsBar);
 }
 wrapper.appendChild(iframeWrapper);
 container.appendChild(wrapper);
 fragment.appendChild(container);

try {
 if (viewer.parentNode) {
 if (viewer === contentArea \|\| viewer.id === 'content-area') {
 isInitializing = false;
 return;
 }

const viewerId = 'viewer-' + Date.now() + '-' + Math.random().toString(36).slice(2, 11);
 viewer.id = viewerId;
 viewer.setAttribute('data-viewer-id', viewerId);
 container.setAttribute('data-viewer-id', viewerId);

// Optimized: Single DOM insertion using fragment
 if (viewer.nextSibling) {
 viewer.parentNode.insertBefore(fragment, viewer.nextSibling);
 } else {
 viewer.parentNode.appendChild(fragment);
 }

// Batch style updates
 Object.assign(viewer.style, {
 display: 'none',
 visibility: 'hidden',
 position: 'absolute',
 width: '1px',
 height: '1px',
 overflow: 'hidden',
 opacity: '0',
 pointerEvents: 'none',
 margin: '0',
 padding: '0'
 });

viewer.setAttribute('data-initialized', 'true');
 viewer.setAttribute('data-viewer-replaced', 'true');

processedAny = true;
 invalidateQueryCache();

requestAnimationFrame(function() {
 updateIframeDimensions(iframeWrapper, scaleDiv, iframe, zoom);
 });
 }
 } catch (e) {
 isInitializing = false;
 return;
 }
 });

if (processedAny) {
 const currentUrl = window.location.href;
 processedUrls.add(currentUrl);
 lastUrl = currentUrl;
 invalidateQueryCache();
 }

isInitializing = false;
 }

// Wait for content area to be available
 function waitForContentArea(callback, maxAttempts, attempt) {
 attempt = attempt \|\| 0;
 maxAttempts = maxAttempts \|\| 20;

const contentArea = document.querySelector('#content-area') \|\| document.querySelector('.mdx-content');

if (contentArea && document.contains(contentArea)) {
 cachedContentArea = contentArea;
 callback();
 } else if (attempt < maxAttempts) {
 setTimeout(function() {
 waitForContentArea(callback, maxAttempts, attempt + 1);
 }, 500);
 } else {
 cachedContentArea = document.body;
 callback();
 }
 }

// Optimized: Initialize with better state management
 function initialize() {
 const currentUrl = window.location.href;
 if (lastUrl !== currentUrl && lastUrl !== null) {
 lastUrl = currentUrl;
 processedUrls.clear();
 invalidateQueryCache();
 }

if (typeof window !== 'undefined') {
 window.\_\_lastFullUrl = window.location.href;
 }

if (lastThemeClass === null && document.documentElement) {
 lastThemeClass = document.documentElement.className;
 }

if (!themeObserver && document.documentElement) {
 themeObserver = new MutationObserver(function(mutations) {
 for (let i = 0; i < mutations.length; i++) {
 const mutation = mutations\[i\];
 if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
 const currentThemeClass = document.documentElement.className;
 if (lastThemeClass !== null && lastThemeClass !== currentThemeClass) {
 themeToggleInProgress = true;

// Optimized: Lock containers synchronously
 const contentArea = getContentArea();
 if (contentArea) {
 const containers = getContainers(true);
 containers.forEach(function(container) {
 if (container.getAttribute('data-position-locked') !== 'true') {
 const rect = container.getBoundingClientRect();
 Object.assign(container.style, {
 position: 'fixed',
 top: rect.top + 'px',
 left: rect.left + 'px',
 width: rect.width + 'px',
 zIndex: '9999',
 margin: '0'
 });
 container.setAttribute('data-position-locked', 'true');
 containerPositions.set(container, {
 top: rect.top,
 left: rect.left,
 width: rect.width,
 height: rect.height
 });
 }
 });
 }

let repositionAttempts = 0;
 const maxRepositionAttempts = 30;

const repositionInterval = setInterval(function() {
 repositionAttempts++;
 repositionContainersAfterThemeToggleCore(); // Use core function for immediate repositioning
 if (repositionAttempts >= maxRepositionAttempts) {
 clearInterval(repositionInterval);
 }
 }, 100);

setTimeout(function() {
 clearInterval(repositionInterval);
 themeToggleInProgress = false;
 repositionContainersAfterThemeToggleCore(); // Use core function for final repositioning
 unlockContainers();
 }, 3000);
 }
 lastThemeClass = currentThemeClass;
 }
 }
 });

themeObserver.observe(document.documentElement, {
 attributes: true,
 attributeFilter: \['class'\]
 });
 }

if (typeof MutationObserver !== 'undefined') {
 setupObserver();
 }

waitForContentArea(function() {
 setTimeout(function() {
 initSinglePageViewers();
 setTimeout(function() {
 const remaining = getUninitializedViewers(true);
 if (remaining.length > 0) {
 initSinglePageViewers();
 }
 }, INIT\_DELAY);
 }, INIT\_DELAY);
 });
 }

// Optimized: Lock/unlock containers
 function lockContainersInPlace() {
 const contentArea = getContentArea();
 if (!contentArea) return;

const containers = getContainers(true);
 containerPositions.clear();

requestAnimationFrame(function() {
 containers.forEach(function(container) {
 if (container.getAttribute('data-position-locked') !== 'true') {
 const rect = container.getBoundingClientRect();
 Object.assign(container.style, {
 position: 'fixed',
 top: rect.top + 'px',
 left: rect.left + 'px',
 width: rect.width + 'px',
 zIndex: '9999',
 margin: '0'
 });
 container.setAttribute('data-position-locked', 'true');
 containerPositions.set(container, {
 top: rect.top,
 left: rect.left,
 width: rect.width,
 height: rect.height
 });
 }
 });
 });
 }

function unlockContainers() {
 const contentArea = getContentArea();
 if (!contentArea) return;

const containers = Array.from(
 contentArea.querySelectorAll('.single-page-viewer-container\[data-position-locked="true"\]')
 );

containers.forEach(function(container) {
 Object.assign(container.style, {
 position: '',
 top: '',
 left: '',
 width: '',
 zIndex: '',
 margin: ''
 });
 container.removeAttribute('data-position-locked');
 // Clean up container position from Map to prevent memory leak
 containerPositions.delete(container);
 });

containerPositions.clear();
 }

// Optimized: Reposition containers with better DOM operations
 // Core repositioning function (not debounced for immediate use)
 function repositionContainersAfterThemeToggleCore() {
 const contentArea = getContentArea();
 if (!contentArea) return;

const containers = getContainers(true);

containers.forEach(function(container) {
 const viewerId = container.getAttribute('data-viewer-id');
 if (!viewerId) return;

let viewer = document.getElementById(viewerId);

if (!viewer) {
 const iframe = container.querySelector('iframe');
 if (iframe && iframe.src) {
 const allViewers = contentArea.querySelectorAll('\[data-single-page-viewer\]');
 for (let i = 0; i < allViewers.length; i++) {
 const v = allViewers\[i\];
 if (v.getAttribute('data-src') === iframe.src) {
 viewer = v;
 viewer.id = viewerId;
 viewer.setAttribute('data-viewer-id', viewerId);
 Object.assign(viewer.style, {
 display: 'none',
 visibility: 'hidden',
 position: 'absolute',
 width: '1px',
 height: '1px',
 overflow: 'hidden',
 opacity: '0',
 pointerEvents: 'none',
 margin: '0',
 padding: '0'
 });
 viewer.setAttribute('data-initialized', 'true');
 viewer.setAttribute('data-viewer-replaced', 'true');
 break;
 }
 }
 }
 }

if (viewer && viewer.parentNode) {
 if (container.getAttribute('data-position-locked') === 'true') {
 unlockContainers();
 }

const viewerIndex = Array.from(viewer.parentNode.children).indexOf(viewer);
 const containerIndex = Array.from(viewer.parentNode.children).indexOf(container);

if (containerIndex !== viewerIndex + 1) {
 // CRITICAL: Check if container is actually a child before removing
 if (container.parentNode && container.parentNode.contains(container)) {
 try {
 container.parentNode.removeChild(container);
 } catch (e) {
 return; // Skip repositioning if removal failed
 }
 }
 if (viewer.nextSibling) {
 viewer.parentNode.insertBefore(container, viewer.nextSibling);
 } else {
 viewer.parentNode.appendChild(container);
 }
 } else if (container.parentNode !== viewer.parentNode) {
 // CRITICAL: Check if container is actually a child before removing
 if (container.parentNode && container.parentNode.contains(container)) {
 try {
 container.parentNode.removeChild(container);
 } catch (e) {
 return; // Skip repositioning if removal failed
 }
 }
 if (viewer.nextSibling) {
 viewer.parentNode.insertBefore(container, viewer.nextSibling);
 } else {
 viewer.parentNode.appendChild(container);
 }
 }
 }
 });

invalidateQueryCache();
 }

// Debounced version for non-critical repositioning
 const repositionContainersAfterThemeToggle = debounce(repositionContainersAfterThemeToggleCore, REPOSITION\_DEBOUNCE);

// Optimized: Observer setup with better filtering
 let observer = null;
 let containerPositionObserver = null;
 let fallbackObserver = null; // Track fallback observer for cleanup

function setupContainerPositionObserver() {
 if (typeof MutationObserver === 'undefined') return;

const contentArea = getContentArea();
 if (!contentArea \|\| !document.contains(contentArea)) {
 setTimeout(setupContainerPositionObserver, 500);
 return;
 }

if (containerPositionObserver) {
 containerPositionObserver.disconnect();
 }

containerPositionObserver = new MutationObserver(function(mutations) {
 if (themeToggleInProgress) {
 // Use core function (not debounced) for immediate repositioning during theme toggle
 requestAnimationFrame(repositionContainersAfterThemeToggleCore);
 return;
 }

let needsReposition = false;
 for (let i = 0; i < mutations.length && !needsReposition; i++) {
 if (mutations\[i\].type === 'childList') {
 needsReposition = true;
 }
 }

if (needsReposition) {
 clearTimeout(containerPositionObserver.\_timeout);
 containerPositionObserver.\_timeout = setTimeout(repositionContainersAfterThemeToggle, REPOSITION\_DEBOUNCE);
 }
 });

containerPositionObserver.observe(contentArea, {
 childList: true,
 subtree: true,
 attributes: false,
 characterData: false
 });

containerPositionObserver.\_timeout = null;
 }

// Optimized: Main observer with better early exits
 function setupObserver() {
 if (typeof MutationObserver === 'undefined') return;

const contentArea = getContentArea();
 if (!contentArea \|\| !document.contains(contentArea)) {
 setTimeout(setupObserver, 500);
 return;
 }

if (contentArea === document.documentElement \|\| contentArea === document.body) {
 return;
 }

if (observer) {
 const currentObserved = observer.\_observedElement;
 if (currentObserved === contentArea && document.contains(contentArea)) {
 return;
 }
 if (currentObserved) {
 observer.disconnect();
 }
 observer = null;
 }

observer = new MutationObserver(function(mutations) {
 if (themeToggleInProgress) return;

let hasNewViewer = false;
 for (let i = 0; i < mutations.length && !hasNewViewer; i++) {
 const mutation = mutations\[i\];
 if (mutation.addedNodes && mutation.addedNodes.length > 0) {
 for (let j = 0; j < mutation.addedNodes.length && !hasNewViewer; j++) {
 const node = mutation.addedNodes\[j\];
 if (node.nodeType === 1 &&
 node.hasAttribute &&
 node.hasAttribute('data-single-page-viewer') &&
 !node.hasAttribute('data-initialized') &&
 !node.hasAttribute('data-viewer-replaced')) {
 hasNewViewer = true;
 }
 }
 }
 }

if (hasNewViewer) {
 // Use core function for immediate repositioning when new viewer detected
 repositionContainersAfterThemeToggleCore();
 setTimeout(repositionContainersAfterThemeToggleCore, 10);
 setTimeout(repositionContainersAfterThemeToggleCore, 50);
 setTimeout(repositionContainersAfterThemeToggleCore, 200);
 }

clearTimeout(observerTimeout);
 observerTimeout = setTimeout(function() {
 if (themeToggleInProgress) return;

let hasNewViewer = false;
 for (let i = 0; i < mutations.length && !hasNewViewer; i++) {
 const mutation = mutations\[i\];

if (mutation.target === document.documentElement \|\| mutation.target === document.body) {
 continue;
 }

if (mutation.type === 'attributes' &&
 mutation.attributeName === 'class' &&
 mutation.target === document.documentElement) {
 continue;
 }

if (mutation.type === 'attributes' && mutation.attributeName === 'data-initialized') {
 const target = mutation.target;
 if (target && target.hasAttribute &&
 target.hasAttribute('data-single-page-viewer') &&
 !target.hasAttribute('data-initialized')) {
 hasNewViewer = true;
 }
 }

if (mutation.addedNodes && mutation.addedNodes.length > 0) {
 for (let j = 0; j < mutation.addedNodes.length && !hasNewViewer; j++) {
 const node = mutation.addedNodes\[j\];
 if (node.nodeType === 1 &&
 node.hasAttribute &&
 node.hasAttribute('data-single-page-viewer') &&
 !node.hasAttribute('data-initialized')) {
 hasNewViewer = true;
 }
 }
 }
 }

if (hasNewViewer) {
 invalidateQueryCache();
 initSinglePageViewers();
 }
 }, OBSERVER\_DEBOUNCE);
 });

observer.observe(contentArea, {
 childList: true,
 subtree: true,
 attributes: true,
 attributeFilter: \['data-initialized'\],
 characterData: false
 });

observer.\_observedElement = contentArea;
 setupContainerPositionObserver();
 }

function start() {
 setupObserver();
 initialize();
 }

function checkAndInitialize() {
 if (isInitializing) return;

const currentUrl = window.location.href;
 if (currentUrl === lastUrl && lastUrl !== null) {
 return;
 }

const contentArea = document.querySelector('#content-area') \|\| document.querySelector('.mdx-content');
 if (contentArea) {
 const viewers = getUninitializedViewers(true);
 if (viewers.length > 0) {
 cachedContentArea = contentArea;
 setupObserver();
 initialize();
 }
 }
 }

if (document.readyState === 'loading') {
 document.addEventListener('DOMContentLoaded', start);
 } else {
 setTimeout(start, 100);
 }

if (typeof window !== 'undefined' && window.next) {
 let initialLoadAttempts = 0;
 const maxInitialAttempts = 4;
 const attemptDelays = \[200, 500, 1000, 2000\];
 const initialUrl = window.location.href;

attemptDelays.forEach(function(delay) {
 setTimeout(function() {
 if (initialLoadAttempts < maxInitialAttempts) {
 initialLoadAttempts++;
 if (window.location.href === initialUrl) {
 checkAndInitialize();
 }
 }
 }, delay);
 });
 }

window.addEventListener('popstate', function(e) {
 const currentUrl = window.location.href;
 if (currentUrl !== lastUrl) {
 handleNavigation();
 }
 });

if (typeof window !== 'undefined') {
 if (window.next && window.next.router && window.next.router.events) {
 window.next.router.events.on('routeChangeComplete', function(url) {
 lastUrl = window.location.href;
 isInitializing = false;
 pendingInitCall = false;
 if (navigationTimeout) {
 clearTimeout(navigationTimeout);
 navigationTimeout = null;
 }
 invalidateContentAreaCache();
 invalidateQueryCache();
 setTimeout(function() {
 setupObserver();
 initialize();
 }, 300);
 });

window.next.router.events.on('routeChangeStart', function(url) {
 isInitializing = false;
 pendingInitCall = false;
 });
 }

if (!window.next \|\| !window.next.router) {
 const originalPushState = history.pushState;
 const originalReplaceState = history.replaceState;

history.pushState = function() {
 originalPushState.apply(history, arguments);
 setTimeout(function() {
 if (window.location.href !== lastUrl) {
 handleNavigation();
 }
 }, 0);
 };

history.replaceState = function() {
 originalReplaceState.apply(history, arguments);
 setTimeout(function() {
 if (window.location.href !== lastUrl) {
 handleNavigation();
 }
 }, 0);
 };
 }
 }

document.addEventListener('visibilitychange', function() {
 if (!document.hidden) {
 isInitializing = false;
 startPeriodicCheck();
 if (!pendingInitCall) {
 pendingInitCall = true;
 setTimeout(function() {
 pendingInitCall = false;
 initSinglePageViewers();
 }, INIT\_DELAY / 2);
 }
 }
 });

function startPeriodicCheck() {
 if (periodicCheckInterval) return;

periodicCheckInterval = setInterval(function() {
 const uninitialized = getUninitializedViewers(true);
 if (uninitialized.length === 0) {
 clearInterval(periodicCheckInterval);
 periodicCheckInterval = null;
 } else if (!isInitializing) {
 initSinglePageViewers();
 }
 }, 2000);
 }

setTimeout(startPeriodicCheck, INIT\_DELAY \* 2);

window.\_\_singlePageViewerInit = function() {
 const currentUrl = window.location.href;
 if (currentUrl === lastUrl) {
 return;
 }

isInitializing = false;
 pendingInitCall = false;
 lastUrl = currentUrl;
 invalidateContentAreaCache();
 invalidateQueryCache();
 setupObserver();
 initialize();
 };

window.\_\_singlePageViewerCheck = function() {
 invalidateQueryCache();
 initSinglePageViewers();
 };
})();

// Optimized: Second IIFE for navigation handling
(function() {
 'use strict';

let lastPathname = window.location.pathname;
 let lastInitializedPathname = window.location.pathname;

function checkAndInit() {
 const currentPathname = window.location.pathname;
 if (currentPathname === lastInitializedPathname) {
 return;
 }

lastInitializedPathname = currentPathname;
 if (typeof window !== 'undefined') {
 window.\_\_lastFullUrl = window.location.href;
 }

if (window.\_\_singlePageViewerInit) {
 window.\_\_singlePageViewerInit();
 }
 }

function runInit() {
 if (window.\_\_singlePageViewerInit) {
 setTimeout(checkAndInit, 100);
 } else {
 let attempts = 0;
 const maxAttempts = 50;
 const checkInterval = setInterval(function() {
 attempts++;
 if (window.\_\_singlePageViewerInit) {
 clearInterval(checkInterval);
 setTimeout(checkAndInit, 100);
 } else if (attempts >= maxAttempts) {
 clearInterval(checkInterval);
 }
 }, 100);
 }
 }

if (document.readyState === 'loading') {
 document.addEventListener('DOMContentLoaded', runInit);
 } else {
 setTimeout(runInit, 100);
 }

if (typeof window !== 'undefined' && window.next && window.next.router && window.next.router.events) {
 window.next.router.events.on('routeChangeComplete', function(url) {
 lastPathname = window.location.pathname;
 setTimeout(checkAndInit, 300);
 });
 }

setInterval(function() {
 const currentPathname = window.location.pathname;
 if (currentPathname !== lastPathname) {
 lastPathname = currentPathname;
 setTimeout(checkAndInit, 300);
 }
 }, 500);

if (typeof MutationObserver !== 'undefined') {
 let fallbackObserverTimeout = null;
 // Store in outer scope for cleanup tracking
 fallbackObserver = new MutationObserver(function(mutations) {
 if (fallbackObserverTimeout) {
 clearTimeout(fallbackObserverTimeout);
 }
 fallbackObserverTimeout = setTimeout(function() {
 const contentArea = document.querySelector('#content-area');
 if (contentArea) {
 const uninitialized = contentArea.querySelectorAll(
 '\[data-single-page-viewer\]:not(\[data-initialized\]):not(.single-page-viewer-container \[data-single-page-viewer\])'
 );
 if (uninitialized.length > 0) {
 const currentPathname = window.location.pathname;
 if (currentPathname !== lastInitializedPathname) {
 setTimeout(checkAndInit, 200);
 }
 }
 }
 }, 500);
 });

if (document.body) {
 fallbackObserver.observe(document.body, { childList: true, subtree: true });
 } else {
 document.addEventListener('DOMContentLoaded', function() {
 if (document.body) {
 fallbackObserver.observe(document.body, { childList: true, subtree: true });
 }
 });
 }
 }
})();
