# Пакетное изменение профилей через прокси

Привязывает прокси к нескольким профилям браузера.
- **Предварительные условия**: укажите хотя бы одно из `envIds` или `uniqueIds`. Если вы указываете `proxyId`, он уже должен существовать в команде, иначе вызов отклоняется, а не создаёт прокси.
- **Эффект**: записывает `proxyId` в каждый профиль. Если `proxyId` опущен или равен `0`, повторно используется существующий прокси с полностью совпадающими данными подключения, а если совпадений нет, **в вызывающей команде создаётся новая запись прокси**.
- **Завершение**: синхронное. Запущенные браузеры сохраняют тот прокси, с которым были запущены.
- **Повтор**: повторная привязка того же `proxyId` идемпотентна, но повторение вызова с «сырыми» данными подключения может каждый раз создавать ещё одну запись прокси, когда дедупликация не срабатывает.

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

Endpoint: POST /api/env/setProxy/batch
Version: 2026-09-05

## Request fields (application/json):

  - `envIds` (array)
    Выберите один из вариантов с серийными номерами (необходимо указать один из них).

  - `proxy` (object, required)
    Используется для изменения привязанного прокси для различных сред. Если указан proxyId, выполняется привязка к прокси, представленному этим ID; в противном случае — привязка к вновь добавленному прокси. Если информация о прокси остается неизменной, повторная привязка не происходит (любое изменение proxyIp, proxyPort, proxyType или proxyProvider считается новым прокси, и повторная привязка выполняется успешно).

  - `proxy.city` (string, required)
    Город

  - `proxy.state` (string, required)
    Штат/Провинция

  - `proxy.country` (string, required)
    Страна (конкретные коды стран см. в приложении). Обязательно, если proxyProvider равен 16/17/18.

  - `proxy.encryptionType` (integer, required)
    Метод шифрования. Не может быть пустым, если proxyProvider равен 11. 1: aes-128-gcm, 2: aes-192-gcm, 3: aes-256-gcm, 4: aes-128-cfb, 5: aes-192-cfb, 6: aes-256-cfb, 7: aes-128-ctr, 8: aes-192-ctr, 9: aes-256-ctr, 10: rc4-md5, 11: chacha20-ietf, 12: xchacha20, 13: chacha20-ietf-poly1305, 14: xchacha20-ietf-poly1305

  - `proxy.proxyId` (string, required)
    Идентификатор прокси

  - `proxy.proxyIp` (string, required)
    IP-адрес прокси. Может быть пустым, если proxyProvider равен 16/17/18; для других значений требуется.

  - `proxy.proxyPort` (integer, required)
    Порт прокси (допускаются только номера от 1 до 65535). Может быть пустым, если proxyProvider равен 16/17/18; для других портов он обязателен.

  - `proxy.proxyType` (integer, required)
    Тип прокси: 0 — http, 1 — https. Не может быть пустым, если proxyProvider равен 7/8.

  - `proxy.proxyProvider` (string, required)
    Прокси-Сервисы: 0: http, 1: https, 2: socks5, 3: ssh, 4: Oxylabs, 5: Proxys.io, 7: Luminati, 8: Lumauto, 9: Oxylabsauto, 10: Trojan, 11: Shadowsocks, 13: ABCPROXY, 14: LunaProxy, 15: IPHTML, 16: PiaProxy, 17: 922S5, 18: 360Proxy

  - `proxy.proxyName` (string, required)
    Название прокси (максимум 600 символов)

  - `proxy.password` (string, required)
    Пароль (максимум 100 символов)

  - `proxy.refreshUrl` (string, required)
    Обновить URL

  - `proxy.ipMonitor` (boolean, required)
    Включить мониторинг изменений IP-адреса? true: Вкл., false: Выкл.

  - `proxy.ipChangeAction` (integer, required)
    Мониторинг изменения IP-адреса: 0: Блокировка доступа, 1: Предупреждение

  - `proxy.username` (string, required)
    Имя пользователя (максимум 200 символов)

  - `uniqueIds` (array)
    Выберите один из вариантов, указав идентификатор среды (необходимо заполнить одно поле).

## Response 200:

  - `200` (unknown)
    Успех. `data` — одно значение типа boolean.

## Response 200 fields (application/json):

  - `code` (integer)

  - `msg` (string | null)

  - `data` (boolean)

  - `requestId` (string, required)

