# Refresh fingerprint

Regenerate the fingerprint of a browser profile.
- **Preconditions**: identify the profile by `envId` or `uniqueId`. Encrypted profiles are rejected. A running profile is not blocked, but the new fingerprint applies from the next start.
- **Effect**: generates a fresh fingerprint, randomises host name and MAC address, and re-matches the browser kernel. Values supplied in the request win over the generated ones.
- **Completion**: synchronous.
- **Retry**: **never retry automatically.** Each call produces a different random fingerprint, so a blind retry after a timeout changes the profile a second time. Compare `/env/detail` first.

Documented business errors: `19039`, `19104`, `19105`, `19106`, `19107`, `19108`, `19111`, `19142`, `19193`. See [Error Codes](../Getting%20Started/error-codes.md) for what each code means. Any operation can additionally return the common codes.

Endpoint: POST /api/env/fingerprint/refresh
Version: 2026-09-05

## Request fields (application/json):

  - `envId` (string, required)
    Profile ID (environment ID). Exactly one of `envId` or `uniqueId` must be provided.

  - `uniqueId` (string)
    Profile serial number (unique ID). Exactly one of `envId` or `uniqueId` must be provided.

  - `uaVersion` (integer)
    Target User-Agent version (e.g., Chrome 129). 
If omitted, uses the current UA version from the profile.
    Example: 129

  - `browserTypeId` (integer)
    Browser type. 1 = Chrome, 2 = Firefox.
    Enum: 1, 2

  - `operatorSystemId` (integer)
    Operating system type. 1 = Windows, 2 = macOS, 3 = Android, 4 = iOS.
    Enum: 1, 2, 3, 4

  - `advancedSetting` (object)
    Advanced browser fingerprint and behavior configuration.

  - `advancedSetting.ua` (string)
    Customize the profile User-Agent (UA). Must follow standard UA format.
Available via the “Get Browser UA” API.

  - `advancedSetting.time_zone` (object)

  - `advancedSetting.time_zone.switcher` (integer)
    Timezone option. Default:1. 1 = Match IP, 2 = Custom.

  - `advancedSetting.time_zone.value` (string)
    Required when switcher=2.
Timezone ID from “Get Timezone & Language List” API.

  - `advancedSetting.web_rtc` (object)

  - `advancedSetting.web_rtc.switcher` (integer)
    WebRTC policy. Default:2. 1 = Privacy, 2 = Replacement, 3 = Real, 4 = Disabled, 5 = Forwarding.

  - `advancedSetting.geo_location` (object)

  - `advancedSetting.geo_location.switcher` (integer)
    Geolocation policy. Default:1. 1 = Prompt, 2 = Disabled.

  - `advancedSetting.geo_location.base_on_ip` (boolean)
    Generate location based on IP? Default:true. true = prompt, false = manual.

  - `advancedSetting.geo_location.latitude` (number)
    Latitude. Required if base_on_ip=false.

  - `advancedSetting.geo_location.longitude` (number)
    Longitude. Required if base_on_ip=false.

  - `advancedSetting.geo_location.accuracy` (number)
    Accuracy in meters. Required if base_on_ip=false.

  - `advancedSetting.language` (object)

  - `advancedSetting.language.switcher` (integer)
    Language policy. Default:1. 1 = Match IP, 2 = Custom.

  - `advancedSetting.language.value` (string)
    Required when switcher=2.
Comma-separated language IDs from “Get Timezone & Language List” API.

  - `advancedSetting.resolution` (object)

  - `advancedSetting.resolution.switcher` (integer)
    Resolution policy. Default:1. 1 = Real, 2 = Custom.

  - `advancedSetting.resolution.id` (string)
    Required when switcher=2.
Resolution ID from “Get Resolution List” API.

  - `advancedSetting.font` (object)

  - `advancedSetting.font.switcher` (integer)
    Font policy. Default:1. 1 = Real, 2 = Custom.

  - `advancedSetting.font.value` (string)
    Comma-separated custom font names (required if switcher=2).

  - `advancedSetting.canvas` (object)

  - `advancedSetting.canvas.switcher` (integer)
    Canvas policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.webgl_image` (object)

  - `advancedSetting.webgl_image.switcher` (integer)
    WebGL image policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.webgl_metadata` (object)

  - `advancedSetting.webgl_metadata.switcher` (integer)
    WebGL metadata policy. Default:3. 1 = Real, 2 = Disable HW acceleration, 3 = Custom.

  - `advancedSetting.webgl_metadata.provider` (string)
    WebGL renderer brand string (e.g., "Google Inc.")

  - `advancedSetting.webgl_metadata.render` (string)
    WebGL renderer string (e.g., "ANGLE (...)")

  - `advancedSetting.audio_context` (object)

  - `advancedSetting.audio_context.switcher` (integer)
    AudioContext policy. Default:1. 1 = Noise, 2 = Realistic.

  - `advancedSetting.media_device` (object)

  - `advancedSetting.media_device.switcher` (integer)
    Media device policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.client_rects` (object)

  - `advancedSetting.client_rects.switcher` (integer)
    ClientRects policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.speech_voise` (object)

  - `advancedSetting.speech_voise.switcher` (integer)
    SpeechVoices policy. Default:1. 1 = Privacy, 2 = Real

  - `advancedSetting.hardware_concurrency` (integer)
    Simulated number of logical CPU cores.
default:4. Options: 0 (real), 2, 3, 4, 6, 8, 10, 12.

  - `advancedSetting.memery_device` (integer)
    Simulated device memory (GB).
default:8. Options: 0 (real), 2, 4, 6, 8.

  - `advancedSetting.do_not_track` (integer)
    Do Not Track setting. Default:2. 1 = on, 2 = off.

  - `advancedSetting.bluetooth` (object)

  - `advancedSetting.bluetooth.switcher` (integer)
    Bluetooth policy. Default:1. 1 = Privacy, 2 = Authenticity.

  - `advancedSetting.battery` (object)

  - `advancedSetting.battery.switcher` (integer)
    Battery policy. Default:1. 1 = Privacy, 2 = Authenticity.

  - `advancedSetting.port_scan_protection` (object)

  - `advancedSetting.port_scan_protection.switcher` (integer)
    Port scan protection. Default:1. 1 = On, 2 = Off.

  - `advancedSetting.port_scan_protection.value` (string)
    Allowed local network ports to connect (comma-separated).

  - `advancedSetting.os_version` (string)
    macOS system version (e.g., macOS 12, macOS 13, macOS 14).

  - `advancedSetting.web_gpu` (object)

  - `advancedSetting.web_gpu.switcher` (integer)
    WebGPU policy. Default:1. 1 = WebGL-based matching, 2 = true, 3 = disabled.

  - `advancedSetting.ciphers` (object)

  - `advancedSetting.ciphers.switcher` (integer)
    TLS cipher policy. Default:1. 1 = Default, 2 = Custom.

  - `advancedSetting.ciphers.value` (string)
    Required when switcher=2.
Comma-separated list of TLS protocols to disable (e.g., "TLSv1,TLSv1.1").

  - `advancedSetting.mobile_device` (string)
    Phone model ID (as string). Obtain via "Get Phone Model List" API.
Example: "1826502391344832512"

## Response 200:

  - `200` (unknown)
    Success. `data` is always null for this operation; the outcome is carried by `code`.

## Response 200 fields (application/json):

  - `code` (integer)

  - `msg` (string | null)

  - `data` (null)

  - `requestId` (string)

