# Изменить профиль браузера

Обновляет существующий профиль браузера. Изменяются только поля, присутствующие в запросе.
- **Предварительные условия**: профиль должен существовать в команде. Профили со сквозным шифрованием обновить нельзя. Операционную систему и тип браузера изменить нельзя. Запущенный профиль обновить можно.
- **Эффект**: записывает запись профиля, его расширенные настройки и cookie, а также объединяет расширенные настройки отпечатка (существующие значения сохраняются, если не перезаписаны).
- **Завершение**: синхронное.
- **Повтор**: безопасно повторять с тем же телом запроса. Учтите, что оптимистичной блокировки нет: при одновременных обновлениях одного профиля побеждает последняя запись, а объединение отпечатка сначала читает, потом записывает, поэтому параллельные вызовы могут потерять изменения.

Задокументированные бизнес-ошибки: `19001`, `19039`, `19104`, `19105`, `19106`, `19107`, `19108`, `19142`, `19159`, `19160`, `19175`, `19193`. Значения кодов см. в [Error Codes](../Getting%20Started/error-codes.md). Любая операция может дополнительно вернуть общие коды.

Endpoint: POST /api/env/update
Version: 2026-09-05

## Request fields (application/json):

  - `browserTypeId` (integer)
    ID типа браузера; 1=Chrome, 2=Firefox

  - `operatorSystemId` (integer)
    ID типа ОС; 1:Windows 2:macOS 3:Android 4:IOS 5:Linux

  - `isEncrypt` (integer)
    Шифровать ли профиль; 0=нет, 1=да

  - `startupParams` (array)
    Дополнительные параметры запуска браузера

  - `accountInfo` (object)

  - `accountInfo.customerUrl` (string)
    Пользовательский URL платформы — обязателен, если platformId=9999, должен быть действительным URL-адресом.

  - `accountInfo.password` (string)
    Пароль; максимальная длина: 50 символов.

  - `accountInfo.platformId` (string)
    Идентификатор платформы; используйте 9999 для пользовательского URL. См. /api/system/platform/list.

  - `accountInfo.siteId` (string)
    Идентификатор сайта; получить через API «Получить настраиваемые платформы» (/api/system/platform/list)

  - `accountInfo.username` (string)
    Имя пользователя; максимальная длина: 64 символа.

  - `advancedSetting` (object)
    Расширенные настройки идентификации браузера и его поведения.

  - `advancedSetting.ua` (string)
    Настройка User-Agent (UA) профиля. Должен соответствовать стандартному формату UA.
Доступно через API «Получить UA браузера».

  - `advancedSetting.time_zone` (object)

  - `advancedSetting.time_zone.switcher` (integer)
    Параметр часового пояса. По умолчанию: 1. 1 = Соответствие IP-адресу, 2 = Пользовательский.

  - `advancedSetting.time_zone.value` (string)
    Требуется, если switcher=2.
Идентификатор часового пояса из API «Получить список часовых поясов и языков».

  - `advancedSetting.web_rtc` (object)

  - `advancedSetting.web_rtc.switcher` (integer)
    Политика WebRTC. По умолчанию: 2. 1 = Конфиденциальность, 2 = Замена, 3 = Реальный, 4 = Отключено, 5 = Переадресация.

  - `advancedSetting.geo_location` (object)

  - `advancedSetting.geo_location.switcher` (integer)
    Политика геолокации. По умолчанию: 1. 1 = Запрос, 2 = Отключено.

  - `advancedSetting.geo_location.base_on_ip` (boolean)
    Определять местоположение по IP-адресу? По умолчанию: true. true = запрос, false = вручную.

  - `advancedSetting.geo_location.latitude` (number)
    Широта. Обязательно, если base_on_ip=false.

  - `advancedSetting.geo_location.longitude` (number)
    Долгота. Обязательно, если base_on_ip=false.

  - `advancedSetting.geo_location.accuracy` (number)
    Точность в метрах. Требуется, если base_on_ip=false.

  - `advancedSetting.language` (object)

  - `advancedSetting.language.switcher` (integer)
    Языковая политика. По умолчанию: 1. 1 = Соответствие IP-адресу, 2 = Пользовательский.

  - `advancedSetting.language.value` (string)
    Обязательно, если switcher=2.
Идентификаторы языков, разделенные запятыми, из API «Получить список часовых поясов и языков».

  - `advancedSetting.resolution` (object)

  - `advancedSetting.resolution.switcher` (integer)
    Политика разрешения. По умолчанию: 1. 1 = Реальное, 2 = Пользовательское.

  - `advancedSetting.resolution.id` (string)
    Обязательно, если switcher=2.
Идентификатор разрешения из API «Получить список разрешений».

  - `advancedSetting.font` (object)

  - `advancedSetting.font.switcher` (integer)
    Политика шрифтов. По умолчанию: 1. 1 = Настоящий, 2 = Пользовательский.

  - `advancedSetting.font.value` (string)
    Названия пользовательских шрифтов, разделённые запятыми (обязательно, если switcher=2).

  - `advancedSetting.canvas` (object)

  - `advancedSetting.canvas.switcher` (integer)
    Политика Canvas. По умолчанию: 1. 1 = Шум, 2 = Реальный.

  - `advancedSetting.webgl_image` (object)

  - `advancedSetting.webgl_image.switcher` (integer)
    Политика обработки изображений WebGL. По умолчанию: 1. 1 = Шум, 2 = Реальный.

  - `advancedSetting.webgl_metadata` (object)

  - `advancedSetting.webgl_metadata.switcher` (integer)
    Политика метаданных WebGL. По умолчанию: 3. 1 = Реальное ускорение, 2 = Отключить аппаратное ускорение, 3 = Пользовательское ускорение.

  - `advancedSetting.webgl_metadata.provider` (string)
    Строка сервиса WebGL (например, "Google Inc.")

  - `advancedSetting.webgl_metadata.render` (string)
    Строка рендеринга WebGL (например, "ANGLE (...)")

  - `advancedSetting.audio_context` (object)

  - `advancedSetting.audio_context.switcher` (integer)
    Политика AudioContext. По умолчанию: 1. 1 = Шум, 2 = Реалистичный.

  - `advancedSetting.media_device` (object)

  - `advancedSetting.media_device.switcher` (integer)
    Политика медиаустройства. По умолчанию: 1. 1 = Шум, 2 = Реальный.

  - `advancedSetting.client_rects` (object)

  - `advancedSetting.client_rects.switcher` (integer)
    Политика ClientRects. По умолчанию: 1. 1 = Шум, 2 = Реальный.

  - `advancedSetting.speech_voise` (object)

  - `advancedSetting.speech_voise.switcher` (integer)
    Политика SpeechVoices. По умолчанию: 1. 1 = Конфиденциальность, 2 = Реальность

  - `advancedSetting.hardware_concurrency` (integer)
    Имитируемое количество логических ядер ЦП.
По умолчанию: 4. Варианты: 0 (реальное), 2, 3, 4, 6, 8, 10, 12.

  - `advancedSetting.memery_device` (integer)
    Имитируемая память устройства (ГБ).
По умолчанию: 8. Варианты: 0 (реальное значение), 2, 4, 6, 8.

  - `advancedSetting.do_not_track` (integer)
    Настройка «Не отслеживать». Значение по умолчанию: 2. 1 = включено, 2 = выключено.

  - `advancedSetting.bluetooth` (object)

  - `advancedSetting.bluetooth.switcher` (integer)
    Политика Bluetooth. По умолчанию: 1. 1 = Конфиденциальность, 2 = Аутентичность.

  - `advancedSetting.battery` (object)

  - `advancedSetting.battery.switcher` (integer)
    Политика использования батареи. По умолчанию: 1. 1 = Конфиденциальность, 2 = Подлинность.

  - `advancedSetting.port_scan_protection` (object)

  - `advancedSetting.port_scan_protection.switcher` (integer)
    Защита от сканирования портов. По умолчанию: 1. 1 = Вкл., 2 = Выкл.

  - `advancedSetting.port_scan_protection.value` (string)
    Разрешено подключение локальных сетевых портов (разделенных запятыми).

  - `advancedSetting.os_version` (string)
    Версия системы macOS (например, macOS 12, macOS 13, macOS 14).

  - `advancedSetting.web_gpu` (object)

  - `advancedSetting.web_gpu.switcher` (integer)
    Политика WebGPU. По умолчанию: 1. 1 = сопоставление на основе WebGL, 2 = истинно, 3 = отключено.

  - `advancedSetting.ciphers` (object)

  - `advancedSetting.ciphers.switcher` (integer)
    Политика шифрования TLS. По умолчанию: 1. 1 = По умолчанию, 2 = Пользовательская.

  - `advancedSetting.ciphers.value` (string)
    Обязательно, если switcher=2.
Список протоколов TLS, разделенных запятыми, для отключения (например, "TLSv1,TLSv1.1").

  - `advancedSetting.mobile_device` (string)
    Идентификатор модели телефона (в виде строки). Получить с помощью API "Получить список моделей телефонов".
Пример: "1826502391344832512"

  - `afterStartupConfig` (object)

  - `afterStartupConfig.afterStartup` (integer)
    Действие после запуска. По умолчанию: 1.
1 = Продолжить просмотр последней страницы,
2 = Открыть указанные URL-адреса,
3 = Открыть URL-адреса + платформа,
4 = Продолжить просмотр последней страницы + платформа.

  - `afterStartupConfig.autoOpenUrls` (array)
    Список допустимых URL-адресов для автоматического открытия (обязательно для вариантов 2–3).

  - `browserCore` (integer)
    Версия ядра; по умолчанию: 0 (автоподбор). Доступные версии можно получить через `/api/env/advanced/ua/versions`.

  - `cookies` (string)
    Строка cookie для предварительной загрузки (необязательно)

  - `envName` (string)
    Название окружения

  - `envRemark` (string)
    Примечание к окружению; максимальная длина: 1500 символов

  - `groupId` (string)
    ID группы окружений; по умолчанию: без группы (0)

  - `groupName` (string)
    Название группы (макс. 50 символов). Если указано, система сначала проверяет groupId: если найдена действительная группа, она используется; в противном случае выполняется поиск по groupName. Если группа с таким именем существует, она используется; если нет — создаётся новая. Каждая команда ограничена 1 000 группами.

  - `proxyId` (string)
    ID прокси; по умолчанию: 0

  - `tagIds` (array)
    ID меток; по умолчанию: нет

  - `uaVersion` (integer)
    Предустановленная версия UA; по умолчанию: 0 (все)

  - `disableAudio` (integer)
    Отключить звук: 0 = нет, 1 = да

  - `disableImg` (integer)
    Отключить загрузку изображений: 0 = нет, 1 = да

  - `disableVideo` (integer)
    Отключить загрузку видео: 0 = нет, 1 = да

  - `imgLimitSize` (integer)
    Максимальный размер изображения (КБ)

  - `envId` (string, required)
    Идентификатор окружения

## Response 200:

  - `200` (unknown)
    Успех. `data` для этой операции всегда null; результат передаётся через `code`.

## Response 200 fields (application/json):

  - `code` (integer, required)

  - `msg` (string | null, required)

  - `data` (null, required)

  - `requestId` (string, required)

