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

Оновлює наявний профіль браузера. Змінюються лише поля, присутні в запиті.
- **Передумови**: профіль має існувати в команді. Профілі з наскрізним (end-to-end) шифруванням оновити неможливо. Операційну систему й тип браузера змінити неможливо. Запущений профіль оновити можна.
- **Ефект**: записує запис профілю, його розширені налаштування й 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 «Get Browser 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)
    Політика полотна. За замовчуванням: 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 = true, 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)

