> ## 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/management-ui/update-an-organization#content-area)

PATCH

/

management

/

v2.0

/

organisations

/

{organisationId}

Try it

Update an Organization

cURL

```
curl --request PATCH \
  --url https://api-trial.cognigy.ai/new/management/v2.0/organisations/{organisationId} \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "disabled": true,
  "quotaMaxProjects": 123,
  "quotaMaxUsers": 123,
  "quotaMaxChannelsPerProject": 123,
  "quotaMaxMessagesPerDay": 123,
  "quotaMaxKnowledgeChunks": 123,
  "passwordPolicy": {
    "minLength": 123,
    "maxLength": 123,
    "minAmountLowerCase": 123,
    "minAmountUpperCase": 123,
    "minAmountSpecialCharacters": 123,
    "minAmountNumbers": 123,
    "maxAmountIdenticalCharacters": 123,
    "minAmountFailedAttemptsAutoDisable": 123
  },
  "sessionStateTTLInMinutes": 123,
  "contactProfileTTLInMinutes": 123,
  "conversationTTLInMinutes": 123,
  "billingTimezone": "Europe/Berlin",
  "dataPrivacySettings": {
    "enabled": true,
    "useAnalytics": true,
    "useContactProfiles": true,
    "useConversations": true,
    "maskAnalytics": true,
    "maskLogging": true,
    "ignoreList": [\
      "<string>"\
    ]
  },
  "voiceConfigurations": {
    "enableNiceSharedProviders": true,
    "orgVoiceGatewayEnabled": true,
    "niceProvidedSpeechEntitlements": [\
      {\
        "vendor": "<string>",\
        "stt": true,\
        "tts": true\
      }\
    ]
  },
  "aiOpsCenterEnabled": true,
  "simulator": {
    "paidTier": true,
    "runsMonthlyQuota": 1
  },
  "businessUnitId": "<string>",
  "tenantId": "<string>"
}
'
```

```
import requests

url = "https://api-trial.cognigy.ai/new/management/v2.0/organisations/{organisationId}"

payload = {
    "name": "<string>",
    "disabled": True,
    "quotaMaxProjects": 123,
    "quotaMaxUsers": 123,
    "quotaMaxChannelsPerProject": 123,
    "quotaMaxMessagesPerDay": 123,
    "quotaMaxKnowledgeChunks": 123,
    "passwordPolicy": {
        "minLength": 123,
        "maxLength": 123,
        "minAmountLowerCase": 123,
        "minAmountUpperCase": 123,
        "minAmountSpecialCharacters": 123,
        "minAmountNumbers": 123,
        "maxAmountIdenticalCharacters": 123,
        "minAmountFailedAttemptsAutoDisable": 123
    },
    "sessionStateTTLInMinutes": 123,
    "contactProfileTTLInMinutes": 123,
    "conversationTTLInMinutes": 123,
    "billingTimezone": "Europe/Berlin",
    "dataPrivacySettings": {
        "enabled": True,
        "useAnalytics": True,
        "useContactProfiles": True,
        "useConversations": True,
        "maskAnalytics": True,
        "maskLogging": True,
        "ignoreList": ["<string>"]
    },
    "voiceConfigurations": {
        "enableNiceSharedProviders": True,
        "orgVoiceGatewayEnabled": True,
        "niceProvidedSpeechEntitlements": [\
            {\
                "vendor": "<string>",\
                "stt": True,\
                "tts": True\
            }\
        ]
    },
    "aiOpsCenterEnabled": True,
    "simulator": {
        "paidTier": True,
        "runsMonthlyQuota": 1
    },
    "businessUnitId": "<string>",
    "tenantId": "<string>"
}
headers = {
    "Authorization": "Basic <encoded-value>",
    "Content-Type": "application/json"
}

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

print(response.text)
```

```
const options = {
  method: 'PATCH',
  headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    name: '<string>',
    disabled: true,
    quotaMaxProjects: 123,
    quotaMaxUsers: 123,
    quotaMaxChannelsPerProject: 123,
    quotaMaxMessagesPerDay: 123,
    quotaMaxKnowledgeChunks: 123,
    passwordPolicy: {
      minLength: 123,
      maxLength: 123,
      minAmountLowerCase: 123,
      minAmountUpperCase: 123,
      minAmountSpecialCharacters: 123,
      minAmountNumbers: 123,
      maxAmountIdenticalCharacters: 123,
      minAmountFailedAttemptsAutoDisable: 123
    },
    sessionStateTTLInMinutes: 123,
    contactProfileTTLInMinutes: 123,
    conversationTTLInMinutes: 123,
    billingTimezone: 'Europe/Berlin',
    dataPrivacySettings: {
      enabled: true,
      useAnalytics: true,
      useContactProfiles: true,
      useConversations: true,
      maskAnalytics: true,
      maskLogging: true,
      ignoreList: ['<string>']
    },
    voiceConfigurations: {
      enableNiceSharedProviders: true,
      orgVoiceGatewayEnabled: true,
      niceProvidedSpeechEntitlements: [{vendor: '<string>', stt: true, tts: true}]
    },
    aiOpsCenterEnabled: true,
    simulator: {paidTier: true, runsMonthlyQuota: 1},
    businessUnitId: '<string>',
    tenantId: '<string>'
  })
};

fetch('https://api-trial.cognigy.ai/new/management/v2.0/organisations/{organisationId}', 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/management/v2.0/organisations/{organisationId}",\
  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([\
    'name' => '<string>',\
    'disabled' => true,\
    'quotaMaxProjects' => 123,\
    'quotaMaxUsers' => 123,\
    'quotaMaxChannelsPerProject' => 123,\
    'quotaMaxMessagesPerDay' => 123,\
    'quotaMaxKnowledgeChunks' => 123,\
    'passwordPolicy' => [\
        'minLength' => 123,\
        'maxLength' => 123,\
        'minAmountLowerCase' => 123,\
        'minAmountUpperCase' => 123,\
        'minAmountSpecialCharacters' => 123,\
        'minAmountNumbers' => 123,\
        'maxAmountIdenticalCharacters' => 123,\
        'minAmountFailedAttemptsAutoDisable' => 123\
    ],\
    'sessionStateTTLInMinutes' => 123,\
    'contactProfileTTLInMinutes' => 123,\
    'conversationTTLInMinutes' => 123,\
    'billingTimezone' => 'Europe/Berlin',\
    'dataPrivacySettings' => [\
        'enabled' => true,\
        'useAnalytics' => true,\
        'useContactProfiles' => true,\
        'useConversations' => true,\
        'maskAnalytics' => true,\
        'maskLogging' => true,\
        'ignoreList' => [\
                '<string>'\
        ]\
    ],\
    'voiceConfigurations' => [\
        'enableNiceSharedProviders' => true,\
        'orgVoiceGatewayEnabled' => true,\
        'niceProvidedSpeechEntitlements' => [\
                [\
                                'vendor' => '<string>',\
                                'stt' => true,\
                                'tts' => true\
                ]\
        ]\
    ],\
    'aiOpsCenterEnabled' => true,\
    'simulator' => [\
        'paidTier' => true,\
        'runsMonthlyQuota' => 1\
    ],\
    'businessUnitId' => '<string>',\
    'tenantId' => '<string>'\
  ]),\
  CURLOPT_HTTPHEADER => [\
    "Authorization: Basic <encoded-value>",\
    "Content-Type: application/json"\
  ],\
]);

$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/management/v2.0/organisations/{organisationId}"

payload := strings.NewReader("{\n  \"name\": \"<string>\",\n  \"disabled\": true,\n  \"quotaMaxProjects\": 123,\n  \"quotaMaxUsers\": 123,\n  \"quotaMaxChannelsPerProject\": 123,\n  \"quotaMaxMessagesPerDay\": 123,\n  \"quotaMaxKnowledgeChunks\": 123,\n  \"passwordPolicy\": {\n    \"minLength\": 123,\n    \"maxLength\": 123,\n    \"minAmountLowerCase\": 123,\n    \"minAmountUpperCase\": 123,\n    \"minAmountSpecialCharacters\": 123,\n    \"minAmountNumbers\": 123,\n    \"maxAmountIdenticalCharacters\": 123,\n    \"minAmountFailedAttemptsAutoDisable\": 123\n  },\n  \"sessionStateTTLInMinutes\": 123,\n  \"contactProfileTTLInMinutes\": 123,\n  \"conversationTTLInMinutes\": 123,\n  \"billingTimezone\": \"Europe/Berlin\",\n  \"dataPrivacySettings\": {\n    \"enabled\": true,\n    \"useAnalytics\": true,\n    \"useContactProfiles\": true,\n    \"useConversations\": true,\n    \"maskAnalytics\": true,\n    \"maskLogging\": true,\n    \"ignoreList\": [\n      \"<string>\"\n    ]\n  },\n  \"voiceConfigurations\": {\n    \"enableNiceSharedProviders\": true,\n    \"orgVoiceGatewayEnabled\": true,\n    \"niceProvidedSpeechEntitlements\": [\n      {\n        \"vendor\": \"<string>\",\n        \"stt\": true,\n        \"tts\": true\n      }\n    ]\n  },\n  \"aiOpsCenterEnabled\": true,\n  \"simulator\": {\n    \"paidTier\": true,\n    \"runsMonthlyQuota\": 1\n  },\n  \"businessUnitId\": \"<string>\",\n  \"tenantId\": \"<string>\"\n}")

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

req.Header.Add("Authorization", "Basic <encoded-value>")
	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/management/v2.0/organisations/{organisationId}")
  .header("Authorization", "Basic <encoded-value>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"<string>\",\n  \"disabled\": true,\n  \"quotaMaxProjects\": 123,\n  \"quotaMaxUsers\": 123,\n  \"quotaMaxChannelsPerProject\": 123,\n  \"quotaMaxMessagesPerDay\": 123,\n  \"quotaMaxKnowledgeChunks\": 123,\n  \"passwordPolicy\": {\n    \"minLength\": 123,\n    \"maxLength\": 123,\n    \"minAmountLowerCase\": 123,\n    \"minAmountUpperCase\": 123,\n    \"minAmountSpecialCharacters\": 123,\n    \"minAmountNumbers\": 123,\n    \"maxAmountIdenticalCharacters\": 123,\n    \"minAmountFailedAttemptsAutoDisable\": 123\n  },\n  \"sessionStateTTLInMinutes\": 123,\n  \"contactProfileTTLInMinutes\": 123,\n  \"conversationTTLInMinutes\": 123,\n  \"billingTimezone\": \"Europe/Berlin\",\n  \"dataPrivacySettings\": {\n    \"enabled\": true,\n    \"useAnalytics\": true,\n    \"useContactProfiles\": true,\n    \"useConversations\": true,\n    \"maskAnalytics\": true,\n    \"maskLogging\": true,\n    \"ignoreList\": [\n      \"<string>\"\n    ]\n  },\n  \"voiceConfigurations\": {\n    \"enableNiceSharedProviders\": true,\n    \"orgVoiceGatewayEnabled\": true,\n    \"niceProvidedSpeechEntitlements\": [\n      {\n        \"vendor\": \"<string>\",\n        \"stt\": true,\n        \"tts\": true\n      }\n    ]\n  },\n  \"aiOpsCenterEnabled\": true,\n  \"simulator\": {\n    \"paidTier\": true,\n    \"runsMonthlyQuota\": 1\n  },\n  \"businessUnitId\": \"<string>\",\n  \"tenantId\": \"<string>\"\n}")
  .asString();
```

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

url = URI("https://api-trial.cognigy.ai/new/management/v2.0/organisations/{organisationId}")

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

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"<string>\",\n  \"disabled\": true,\n  \"quotaMaxProjects\": 123,\n  \"quotaMaxUsers\": 123,\n  \"quotaMaxChannelsPerProject\": 123,\n  \"quotaMaxMessagesPerDay\": 123,\n  \"quotaMaxKnowledgeChunks\": 123,\n  \"passwordPolicy\": {\n    \"minLength\": 123,\n    \"maxLength\": 123,\n    \"minAmountLowerCase\": 123,\n    \"minAmountUpperCase\": 123,\n    \"minAmountSpecialCharacters\": 123,\n    \"minAmountNumbers\": 123,\n    \"maxAmountIdenticalCharacters\": 123,\n    \"minAmountFailedAttemptsAutoDisable\": 123\n  },\n  \"sessionStateTTLInMinutes\": 123,\n  \"contactProfileTTLInMinutes\": 123,\n  \"conversationTTLInMinutes\": 123,\n  \"billingTimezone\": \"Europe/Berlin\",\n  \"dataPrivacySettings\": {\n    \"enabled\": true,\n    \"useAnalytics\": true,\n    \"useContactProfiles\": true,\n    \"useConversations\": true,\n    \"maskAnalytics\": true,\n    \"maskLogging\": true,\n    \"ignoreList\": [\n      \"<string>\"\n    ]\n  },\n  \"voiceConfigurations\": {\n    \"enableNiceSharedProviders\": true,\n    \"orgVoiceGatewayEnabled\": true,\n    \"niceProvidedSpeechEntitlements\": [\n      {\n        \"vendor\": \"<string>\",\n        \"stt\": true,\n        \"tts\": true\n      }\n    ]\n  },\n  \"aiOpsCenterEnabled\": true,\n  \"simulator\": {\n    \"paidTier\": true,\n    \"runsMonthlyQuota\": 1\n  },\n  \"businessUnitId\": \"<string>\",\n  \"tenantId\": \"<string>\"\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

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#authorization-authorization)

Authorization

string

header

required

Basic Authentication used by routes designed for the Management-UI.

#### Headers

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#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/management-ui/update-an-organization#parameter-organisation-id)

organisationId

string

required

The Id of the Organisation

Required string length: `24`

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

#### Body

application/json

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-name)

name

string

The name of this organisation

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-disabled)

disabled

boolean

Flag whether this organisation is currently disabled

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-quota-max-projects)

quotaMaxProjects

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-quota-max-users)

quotaMaxUsers

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-quota-max-channels-per-project)

quotaMaxChannelsPerProject

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-quota-max-messages-per-day)

quotaMaxMessagesPerDay

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-quota-max-knowledge-chunks)

quotaMaxKnowledgeChunks

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-password-policy)

passwordPolicy

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-session-state-ttl-in-minutes)

sessionStateTTLInMinutes

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-contact-profile-ttl-in-minutes)

contactProfileTTLInMinutes

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-conversation-ttl-in-minutes)

conversationTTLInMinutes

number

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-billing-timezone)

billingTimezone

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/management-ui/update-an-organization#body-data-privacy-settings)

dataPrivacySettings

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-voice-configurations)

voiceConfigurations

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-ai-ops-center-enabled)

aiOpsCenterEnabled

boolean

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-simulator)

simulator

object

Showchild attributes

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-business-unit-id)

businessUnitId

string

The business unit ID

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#body-tenant-id)

tenantId

string

The tenant ID

#### Response

400

application/json

The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-type)

type

string

Example:

`"Bad Request"`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-title)

title

string

Example:

`"Bad Request Error"`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-status)

status

number

Example:

`400`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-detail)

detail

string

Example:

`"Validation failed. Missing payload."`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-instance)

instance

string

Example:

`"/v2.0/flows/5ce7c2d833ea1e04d7e6c432"`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-code)

code

string

Example:

`1000`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-trace-id)

traceId

string

Example:

`"api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f"`

[​](https://docs.cognigy.com/api-reference/management-ui/update-an-organization#response-details)

details

object

Example:

```
{}
```

Last modified onJuly 8, 2026

[Previous](https://docs.cognigy.com/api-reference/management-ui/delete-an-organization) [Create an API KeyCreates an API Key with admin permissions. The API Key is valid for 15 minutes. To activate this feature, set the FEATURE\_USE\_SUPERAPIKEY\_API to "true".\\
\\
Next](https://docs.cognigy.com/api-reference/management-ui/create-an-api-key)

Ctrl+I

Update an Organization

cURL

```
import requests

url = "https://api-trial.cognigy.ai/new/management/v2.0/organisations/{organisationId}"

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/management/v2.0/organisations/{organisationId}"

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

req.Header.Add("Authorization", "Basic <encoded-value>")
	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/management/v2.0/organisations/{organisationId}")

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 });
 }
 });
 }
 }
})();
