# Modify browser profile

Update an existing browser profile. Only the fields present in the request are changed.

When the kernel has to be re-matched, the operating system already stored on the profile is
used. No client operating system or version is read.

Endpoint: POST /env/update
Version: 1.0.0
Security: OpenApiBearer

## Request fields (application/json):

  - `envId` (string, required)
    Profile ID. The request also accepts the field alias `id`.
    Example: 1800000000000001

  - `envName` (string)
    Profile name.
    Example: marketing-01-updated

  - `groupId` (string)
    Group ID. `0` means ungrouped.
    Example: 0

  - `groupName` (string)
    Group name. The group is looked up or created automatically when supplied.
    Example: Marketing

  - `tagIds` (array)
    Tag IDs.
    Example: ["1800000000000301"]

  - `proxyId` (string)
    Existing proxy ID. `0` means no proxy.
    Example: 0

  - `envRemark` (string)
    Profile remark.
    Example: Updated through the Open API

  - `uaVersion` (integer)
    UA major version.
    Example: 124

  - `browserCore` (integer)
    Kernel major version.
    Example: 124

  - `systemBitType` (integer)
    System bitness. Defaults to `1`:
- `0` — 32-bit
- `1` — 64-bit
    Enum: 0, 1

  - `architecture` (integer)
    CPU architecture. Defaults to `0`:
- `0` — x86
- `1` — ARM
    Enum: 0, 1

  - `accountInfo` (object)
    Platform account bound to the profile.

  - `accountInfo.username` (string)
    Platform account username.
    Example: account@example.com

  - `accountInfo.password` (string)
    Platform account password.
    Example: secret

  - `accountInfo.siteId` (string)
    Site ID.
    Example: 1800000000000201

  - `accountInfo.platformId` (string, required)
    Platform ID. `9999` means a custom platform.
    Example: 9999

  - `accountInfo.customerUrl` (string)
    Custom platform URL. Required when `platformId` is `9999`. Must be a valid URL.
    Example: https://example.com

  - `accountInfo.otpSecret` (string)
    Two-factor authentication (2FA) secret.
    Example: BASE32SECRET

  - `isShowAccount` (integer)
    Password protection switch.
    Enum: 0, 1

  - `afterStartupConfig` (object)
    Behavior applied after the browser starts.

  - `afterStartupConfig.afterStartup` (integer)
    Startup behavior. Defaults to `1`:
- `1` — reopen the pages from the last session
- `2` — open the specified pages
- `3` — open the specified pages and the platform
- `4` — reopen the last session pages and the platform
    Enum: 1, 2, 3, 4

  - `afterStartupConfig.autoOpenUrls` (array)
    Pages to open automatically. Each entry must be a valid URL.
    Example: ["https://example.com"]

  - `afterStartupConfig.stayOnCheckIPPage` (boolean)
    Whether to stay on the IP check page after startup.
    Example: false

  - `startupParams` (array)
    Example: ["--disable-notifications"]

  - `cookies` (string)
    Cookies as a JSON text payload.
    Example: [{"name":"sid","value":"abc"}]

  - `disableAudio` (integer)
    Whether to block audio playback.
    Enum: 0, 1

  - `disableVideo` (integer)
    Whether to block video loading.
    Enum: 0, 1

  - `disableImg` (integer)
    Whether to block image loading.
    Enum: 0, 1

  - `imgLimitSize` (integer)
    Maximum image size to load, in KB.
    Example: 1000

  - `hostnameSource` (integer)
    Device name source:
- `0` — custom
- `1` — real
    Enum: 0, 1

  - `hostname` (string)
    Device name. Used when `hostnameSource` is `0`.
    Example: DESKTOP-OPENAPI

  - `macAddressSource` (integer)
    MAC address source:
- `0` — custom
- `1` — real
    Enum: 0, 1

  - `macAddress` (string)
    MAC address. Used when `macAddressSource` is `0`.
    Example: 00:16:3E:12:34:56

## Response 200 fields (application/json):

  - `code` (integer, required)
    Return result code. `0` means success; other codes indicate exceptions.
    Example: 0

  - `msg` (string | null, required)
    Error message. Usually `null` on success.
    Example: null

  - `requestId` (string)
    Operation request ID. This field may be present when the request passes through the API gateway.
    Example: 1d4f3ea968664593860b94b35d4ebf5e

  - `data` (null)
    Example: null

