Browser Window API
This article details the cloud management API for browser windows, covering creation, editing, deletion, batch operations, proxy configuration, and more, along with the unified request/response format and permission requirements, suitable for developer integration.
Browser Window Local API Documentation
Open Window
Title
Open Window
Brief Description
Open a browser window by window ID or window UUID.
Request URL
http://127.0.0.1:54345/browser/open
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
id | Yes, either this or uuid | number/string | Window ID |
uuid | Yes, either this or id | string | Window UUID, config_uuid also accepted |
Success Response Example
{
"code": 0,
"msg": "Browser opened",
"data": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"browserId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"opened": true
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.id | string | Window UUID |
data.browserId | string | Window UUID |
data.uuid | string | Window UUID |
data.opened | boolean | Whether the window is open |
Notes
Only one window can be opened at a time. The interface only listens on 127.0.0.1; open and log in to the client before calling.
Close Window
Title
Close Window
Brief Description
Close a browser window by window ID or window UUID.
Request URL
http://127.0.0.1:54345/browser/close
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
id | Yes, either this or uuid | number/string | Window ID |
uuid | Yes, either this or id | string | Window UUID, config_uuid also accepted |
Success Response Example
{
"code": 0,
"msg": "Browser closed",
"data": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"browserId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"opened": false,
"close": true
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.id | string | Window UUID |
data.browserId | string | Window UUID |
data.uuid | string | Window UUID |
data.opened | boolean | Whether the window is open |
data.close | boolean | Whether the close operation was executed |
Notes
Only one window can be closed at a time. The interface only listens on 127.0.0.1; open and log in to the client before calling.
Create or Edit Window
Title
Create or Edit Window
Brief Description
When no window identifier is passed, a window is created; when an identifier is passed, the window is edited. When editing, config must be provided; first retrieve the current window configuration via /browser/detail and return it as-is.
Two creation modes are supported:
| Mode | Applicable Scenario | Description |
|---|---|---|
| Minimal field creation | When you only want to pass a few fields like window name, group, etc. | Do not pass config. Local API first reads the client's "System Settings - Create Window Template (Common Settings)" and "Create Window Template (Fingerprint Settings)" as defaults, then overrides them with the request body; missing fields such as User Agent, WebGL vendor/renderer, device name, MAC, Canvas/WebGL/Audio/ClientRects noise are auto-generated or randomized according to the manual creation flow |
| Full configuration creation | When you need full control over all fields | Pass a complete config object. Local API preserves the incoming configuration, only performing field compatibility and forwarding, and no longer randomly fills missing fields as in minimal field mode |
Invocation Mode Determination
| Scenario | Rule | Description |
|---|---|---|
| Create window | Do not pass id / browserId / browser_id / uuid / browserUuid / browser_uuid / config_uuid in the request body | When creating, do not include placeholder UUIDs (e.g., from Postman). Empty strings are ignored, but it is recommended to delete these fields outright |
| Edit window | Pass a real existing window identifier such as id or uuid | uuid is recommended to obtain from data.list[].uuid in /browser/list response |
If the request body contains a placeholder UUID like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, the Local API will treat it as an "edit window" request and may return {"code":211,"msg":"UUID invalid","data":{}}.
Request URL
http://127.0.0.1:54345/browser/update
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
name / browser_name | Recommended when creating | string | Window name, compatible with browserName |
id | When editing, either this or uuid | number/string | Window ID. Do not pass when creating |
uuid | When editing, either this or id | string | Window UUID, config_uuid also accepted. Do not pass placeholder values when creating |
group_id | No | number/string | Group ID, default 0, compatible with groupId |
tag_ids | No | array/string | Tag ID array, comma-separated string also accepted, compatible with tagIds |
remark | No | string | Window remark |
platform_url | No | string | Account platform or website, compatible with platform |
platform_username | No | string | Platform account, compatible with userName / platformUsername |
platform_password | No | string | Platform password, compatible with platformPassword |
check_duplicate_username | No | number/boolean | Whether to check for duplicate platform account, compatible with checkDuplicateUsername |
url | No | string | Open specified URL(s), separate multiple by commas |
cookie | No | string/array | Cookie, supports JSON string or array |
proxy_id | No | number/string | Proxy ID from proxy IP management, compatible with proxyId |
proxy_method | No | string | Proxy method: 2 custom, 3 API extraction, 4 proxy IP management, compatible with proxyMethod |
proxy_type | No | string | Proxy type: noproxy / http / https / socks5 / ssh, compatible with proxyType |
host | No | string | Proxy host |
port | No | number/string | Proxy port |
username | No | string | Proxy username, also compatible with proxy_user_name / proxyUserName |
password | No | string | Proxy password, also compatible with proxy_password / proxyPassword |
refresh_url | No | string | Refresh proxy URL, compatible with refreshProxyUrl |
extract_url | No | string | When proxy_method=3, the extraction URL, compatible with dynamicIpUrl / extractUrl |
api_provider | No | string | Extraction link provider, default can be general, compatible with dynamicIpChannel |
ip_lookup_channel | No | string | IP lookup channel, compatible with ipCheckService |
udp_enabled | No | number/boolean | Socks5 UDP switch, compatible with enableSocks5Udp |
cache_storage_mode | No | string | Window cache storage method: local local server, custom custom server, official official server, compatible with cacheStorageMode / storage_mode. If not passed, system settings are used when creating |
cache_server_base_url | No | string | Local/custom cache server address, compatible with cacheServerBaseUrl |
cache_server_api_key | No | string | Local/custom cache server ApiKey, compatible with cacheServerApiKey |
cache_server_local_upload_dir | No | string | Local server upload directory, compatible with cacheServerLocalUploadDir |
browserFingerPrint | No | object | Fingerprint configuration. In minimal field creation, the system fingerprint template from settings is used as base, only passed fields override corresponding items, others are auto-generated or randomized |
config | Required when editing, optional when creating | object | Complete window configuration. Passing it when creating means full configuration creation; not passing means minimal field creation. When editing, a JSON object must be passed, otherwise code: 211 is returned. See below for config field descriptions |
Minimal Field Creation Request Example
{
"name": "Local API minimal field window"
}
Full Configuration Creation Request Example
{
"name": "Local API full config window",
"group_id": 0,
"config": {
"browser_type": "firefox",
"name": "Local API full config window",
"browser_name": "Local API full config window",
"group_id": 0,
"proxy": {
"type": "direct"
},
"fingerprint": {
"noise_seed": "A1B2C3D4E5F60708",
"canvas": { "mode": "on" },
"audio_context": { "mode": "on" },
"webgl_image": { "mode": "on" },
"webgl_metadata": {
"mode": "real",
"vendor": "",
"renderer": ""
},
"fonts": {
"mode": "random",
"font_list": [],
"client_rects": true
}
},
"navigator": {
"user_agent": "",
"cpu": { "mode": "custom", "value": 8 },
"ram": { "mode": "custom", "value": 8 },
"do_not_track": true
},
"webrtc": { "mode": "relay" },
"geo": {
"timezone": { "mode": "auto" },
"geolocation": { "mode": "auto", "permission": "allow" },
"language": { "mode": "auto", "values": [] }
},
"resolution": {
"mode": "random",
"width": 1920,
"height": 1080
},
"cookies": { "mode": "merge", "items": [] },
"launch_args": [],
"extensions": [],
"startup_pages": [],
"raw": {
"name": "Local API full config window",
"browser_name": "Local API full config window",
"group_id": 0,
"proxy_method": "2",
"proxy_type": "noproxy"
}
}
}
config Full Window Configuration Field Descriptions
When editing a window, it is recommended to first call /browser/detail to obtain data.config, modify the fields you need to change, and then pass it back as-is. The following tables are for understanding or manually constructing the full config object; different client/server versions may return additional extension fields – it is recommended to keep unrecognized fields.
#### config Top-Level Fields
| Field Path | Type | Required | Description |
|---|---|---|---|
browser_type | string | No | Browser engine type, usually firefox |
name | string | No | Window name |
browser_name | string | No | Redundant window name field, usually identical to name |
group_id / groupId | number/string | No | Group ID |
tag_ids / tagIds | array | No | Tag ID array |
remark | string | No | Window remark |
user_agent | string | No | User-Agent shortcut, usually matches navigator.user_agent |
language | string | No | Language shortcut, usually takes geo.language.values[0] |
timezone | string | No | Timezone shortcut, usually takes geo.timezone.value |
resolution | object | No | Resolution configuration, see config.resolution |
touch_simulation_enabled | boolean | No | Whether touch simulation is enabled, default enabled for Android / iOS |
proxy | object | No | Proxy configuration, see config.proxy |
fingerprint | object | No | Fingerprint low-level configuration, see config.fingerprint |
navigator | object | No | Navigator / device info configuration, see config.navigator |
webrtc | object | No | WebRTC configuration, see config.webrtc |
geo | object | No | Timezone, geolocation, language configuration, see config.geo |
media_devices | object | No | Media device count configuration |
browser_api | object | No | Browser API simulation configuration |
tls | object | No | TLS/SSL fingerprint configuration |
cookies | object | No | Cookie import configuration |
launch_args | array | No | Browser launch arguments array |
extensions | array | No | List of bound/loaded extensions |
startup_pages | array | No | Startup page URL list |
credentials | object | No | Platform account credentials |
syncConfig | object | No | Cache, sync, launch protection etc. common settings |
raw | object | No | Original form field snapshot; client edit backfill depends on this field, see config.raw |
cache_storage | object | No | Cache storage configuration, returned in some versions |
cacheStorage | object | No | CamelCase compatible field for cache_storage, returned in some versions |
#### config.cache_storage Cache Storage Configuration
| Field Path | Type | Required | Description |
|---|---|---|---|
cache_storage.storage_mode | string | No | Cache storage mode: local local server, custom custom server, official official server. Legacy value remote is treated as custom |
cache_storage.base_url | string | Recommended for local/custom | Local/custom cache server address |
cache_storage.api_key | string | No | Local/custom cache server ApiKey |
cache_storage.local_upload_dir | string | Optional for local | Local server upload directory |
#### config.proxy Proxy Configuration
| Field Path | Type | Required | Description |
|---|---|---|---|
proxy.type | string | No | Proxy type: direct / http / https / socks5. noproxy in request is converted to direct, ssh to socks5 |
proxy.host | string | Required when using proxy | Proxy host |
proxy.port | number | Required when using proxy | Proxy port |
proxy.username | string | No | Proxy username |
proxy.password | string | No | Proxy password |
proxy.refresh_url | string | No | Refresh proxy URL |
proxy.udp_enabled | number/boolean | No | Socks5 UDP switch |
proxy.ip_lookup_channel | string | No | IP lookup channel |
proxy.proxy_id | number/string | May exist when proxy_method=4 | Proxy ID from proxy IP management |
proxy.api_provider | string | No | API extraction provider identifier |
proxy.extract_url | string | May exist when proxy_method=3 | API extraction proxy URL |
#### config.fingerprint Fingerprint Low-Level Configuration
| Field Path | Type | Required | Description |
|---|---|---|---|
fingerprint.noise_seed | string | No | Noise seed for Canvas / WebGL / Audio etc. |
fingerprint.canvas.mode | string | No | Canvas fingerprint mode: on enable noise, off use real value |
fingerprint.audio_context.mode | string | No | AudioContext fingerprint mode: on enable noise, off use real value |
fingerprint.webgl_image.mode | string | No | WebGL image fingerprint mode: on enable noise, off use real value |
fingerprint.webgl_metadata.mode | string | No | WebGL metadata mode: custom custom, real use real value |
fingerprint.webgl_metadata.vendor | string | No | WebGL vendor |
fingerprint.webgl_metadata.renderer | string | No | WebGL renderer |
fingerprint.fonts.mode | string | No | Font mode: default default, random random, some versions support custom |
fingerprint.fonts.font_list | array | No | Font list |
fingerprint.fonts.client_rects | boolean | No | Whether to enable ClientRects noise |
fingerprint.firefox_specific.override_build_id | boolean | No | Whether to override Firefox Build ID |
fingerprint.firefox_specific.reduce_timer_precision | boolean | No | Whether to reduce timer precision |
fingerprint.firefox_specific.timer_precision_us | number | No | Timer precision in microseconds |
#### config.navigator Navigator and Device Info Configuration
| Field Path | Type | Required | Description |
|---|---|---|---|
navigator.user_agent | string | No | User-Agent |
navigator.firefox_version.override | boolean | No | Whether to override Firefox version |
navigator.firefox_version.version | string | No | Firefox version number |
navigator.firefox_version.build_id | string | No | Firefox Build ID, default 20100101 |
navigator.cpu.mode | string | No | CPU core count mode: real / custom |
navigator.cpu.value | number | Fill when cpu.mode=custom | CPU core count |
navigator.ram.mode | string | No | Memory mode: real / custom |
navigator.ram.value | number | Fill when ram.mode=custom | Device memory in GB |
navigator.device_name.mode | string | No | Device name mode: real / custom |
navigator.device_name.value | string | Fill when device_name.mode=custom | Device name |
navigator.mac_address.mode | string | No | MAC address mode: real / custom |
navigator.mac_address.value | string | Fill when mac_address.mode=custom | MAC address |
navigator.touch_simulation_enabled | boolean | No | Whether touch simulation is enabled |
navigator.hardware_acceleration | string | No | Hardware acceleration: default / enabled / disabled, exact values depend on client version |
navigator.do_not_track | boolean | No | Whether to enable Do Not Track |
#### config.webrtc, config.geo, config.resolution
| Field Path | Type | Required | Description |
|---|---|---|---|
webrtc.mode | string | No | WebRTC mode: spoof replace with proxy IP, real use real IP, disabled disable, relay block IP fetching |
geo.timezone.mode | string | No | Timezone mode: auto based on IP, custom custom, real use local machine |
geo.timezone.value | string | Fill when timezone.mode=custom | Timezone, e.g., Asia/Shanghai |
geo.geolocation.mode | string | No | Geolocation mode: auto based on IP, custom custom, disabled disable |
geo.geolocation.permission | string | No | Geolocation permission: prompt / allow |
geo.geolocation.lat | number | Fill when geolocation.mode=custom | Latitude |
geo.geolocation.lng | number | Fill when geolocation.mode=custom | Longitude |
geo.language.mode | string | No | Language mode: auto based on IP, custom custom, real use local machine |
geo.language.values | array | Fill when language.mode=custom | Language array, e.g., ["zh-CN","zh"] |
resolution.mode | string | No | Resolution mode: predefined default, custom custom, random random |
resolution.width | number | Fillable when resolution.mode=custom/random | Resolution width |
resolution.height | number | Fillable when resolution.mode=custom/random | Resolution height |
#### config.cookies, config.credentials, config.syncConfig
| Field Path | Type | Required | Description |
|---|---|---|---|
cookies.mode | string | No | Cookie import mode, usually merge |
cookies.items | array | No | Cookie list |
cookies.items[].name | string | No | Cookie name |
cookies.items[].value | string | No | Cookie value |
cookies.items[].domain | string | No | Cookie domain |
cookies.items[].path | string | No | Cookie path |
cookies.items[].expires | number/string | No | Expiry time |
cookies.items[].httpOnly | boolean | No | Whether HttpOnly |
cookies.items[].secure | boolean | No | Whether Secure |
cookies.items[].sameSite | string | No | SameSite policy |
credentials.items | array | No | Platform account/password list |
credentials.items[].url | string | No | Platform URL |
credentials.items[].username | string | No | Platform account |
credentials.items[].password | string | No | Platform password |
syncConfig.stopWhileNetError | boolean | No | Stop opening on network error |
syncConfig.stopWhileIpChange | boolean | No | Stop opening if IP changes |
syncConfig.stopWhileCountryChange | boolean | No | Stop opening if IP country/region changes |
syncConfig.syncTabs | boolean | No | Sync tabs |
syncConfig.syncCookies | boolean | No | Sync cookies |
syncConfig.syncIndexedDb | boolean | No | Sync IndexedDB |
syncConfig.syncLocalStorage | boolean | No | Sync LocalStorage |
syncConfig.syncBookmarks | boolean | No | Sync bookmarks |
syncConfig.syncAuthorization | boolean | No | Sync login authorization info |
syncConfig.syncHistory | boolean | No | Sync history |
syncConfig.syncExtensions | boolean | No | Sync extensions |
syncConfig.syncExtensionSettings | boolean | No | Sync extension settings |
syncConfig.syncPermissions | boolean | No | Sync site permissions |
syncConfig.syncSiteData | boolean | No | Sync site data |
syncConfig.syncPreferences | boolean | No | Sync preferences |
syncConfig.syncContainers | boolean | No | Sync containers |
syncConfig.clearCacheFilesBeforeLaunch | boolean | No | Clear cache files before launch |
syncConfig.randomFingerprint | boolean | No | Randomize fingerprint on launch |
#### Other Configuration Objects
| Field Path | Type | Required | Description |
|---|---|---|---|
media_devices.audio_input | number | No | Number of simulated audio input devices |
media_devices.video_input | number | No | Number of simulated video input devices |
media_devices.audio_output | number | No | Number of simulated audio output devices |
browser_api.battery.enabled | boolean | No | Enable battery API simulation |
browser_api.battery.is_charging | boolean | No | Whether charging |
browser_api.battery.charging_time | number | No | Charging time remaining |
browser_api.battery.discharging_time | number | No | Discharging time remaining |
browser_api.battery.level | number | No | Battery level, usually 0 to 1 |
tls.randomization | string | No | TLS fingerprint randomization: enabled / disabled |
tls.disabled_ciphers | array | No | Disabled TLS cipher list |
launch_args | array | No | Launch arguments array, e.g., ["--mute-audio"] |
extensions | array | No | Extension list |
startup_pages | array | No | Startup page list |
#### config.raw Original Form Fields
raw is used to store original client form fields; recommended to keep when editing windows. Many fields map to config top-level, proxy, fingerprint.
| Field Path | Type | Required | Description |
|---|---|---|---|
raw.id | number/string | No | Window ID |
raw.uuid | string | No | Window UUID |
raw.config_uuid | string | No | Window config UUID, usually same as uuid |
raw.name | string | No | Window name |
raw.browser_name / raw.browserName | string | No | Window name compatibility field |
raw.group_id / raw.groupId | number/string | No | Group ID |
raw.tag_ids / raw.tagIds | array | No | Tag ID array |
raw.platform_url / raw.platform | string | No | Account platform or website |
raw.platform_username / raw.userName / raw.username / raw.platformUsername | string | No | Platform account |
raw.platform_password / raw.password / raw.platformPassword | string | No | Platform password |
raw.check_duplicate_username / raw.isValidUsername / raw.checkDuplicateUsername | boolean | No | Whether to check duplicate account |
raw.remark | string | No | Remark |
raw.cookie | string/array | No | Cookie |
raw.otherCookie | string/array | No | Other cookies |
raw.url | string | No | Open specified URL(s), comma separated |
raw.proxy_method / raw.proxyMethod | string | No | Proxy method: 2 custom, 3 API extraction, 4 proxy IP management |
raw.proxy_type / raw.proxyType | string | No | Proxy type: noproxy / http / https / socks5 / ssh |
raw.host | string | No | Proxy host |
raw.port | number/string | No | Proxy port |
raw.proxy_user_name / raw.proxyUserName | string | No | Proxy username |
raw.proxy_password / raw.proxyPassword | string | No | Proxy password |
raw.refresh_url / raw.refreshProxyUrl | string | No | Refresh proxy URL |
raw.extract_url / raw.dynamicIpUrl | string | No | API extraction proxy URL |
raw.api_provider / raw.dynamicIpChannel | string | No | API extraction proxy provider |
raw.ip_lookup_channel / raw.ipCheckService | string | No | IP lookup channel |
raw.udp_enabled / raw.enableSocks5Udp | number/boolean | No | Socks5 UDP switch |
raw.cache_storage_mode / raw.cacheStorageMode / raw.storage_mode | string | No | Cache storage mode. Local API prioritizes top-level cache_storage_mode, then config.cache_storage.storage_mode, and finally this field |
raw.cache_server_base_url / raw.cacheServerBaseUrl | string | No | Local/custom cache server address |
raw.cache_server_api_key / raw.cacheServerApiKey | string | No | Local/custom cache server ApiKey |
raw.cache_server_local_upload_dir / raw.cacheServerLocalUploadDir | string | No | Local server upload directory |
raw.browserFingerPrint | object | No | Form-level fingerprint configuration, see raw.browserFingerPrint |
raw.workbench | boolean | No | Workbench related settings, used per client logic |
raw.abortImage | boolean | No | Whether to block image loading |
raw.abortImageMaxSize | number | No | Image size threshold for blocking |
raw.abortMedia | boolean | No | Whether to block media loading |
raw.muteAudio | boolean | No | Mute audio |
raw.disableTranslatePopup | boolean | No | Disable translate popup |
raw.disableNotifications | boolean | No | Disable notifications |
raw.disableClipboard | boolean | No | Disable clipboard |
raw.disableGpu | boolean | No | Disable GPU related features |
raw.clearCacheFilesBeforeLaunch | boolean | No | Clear cache files before launch |
raw.clearCacheWithoutExtensions | boolean | No | Keep extensions when clearing cache |
raw.clearCookiesBeforeLaunch | boolean | No | Clear cookies before launch |
raw.clearHistoriesBeforeLaunch | boolean | No | Clear history before launch |
#### raw.browserFingerPrint Form-Level Fingerprint Fields
| Field Path | Type | Required | Description |
|---|---|---|---|
raw.browserFingerPrint.coreVersion | string | No | Browser engine version |
raw.browserFingerPrint.ostype | string | No | Device type: PC / Android / IOS |
raw.browserFingerPrint.os | string | No | Operating system, e.g., Windows / MacIntel / Linux i686 / iPhone |
raw.browserFingerPrint.osVersion | string/array | No | OS version |
raw.browserFingerPrint.version | string | No | Browser version |
raw.browserFingerPrint.userAgent | string | No | User-Agent |
raw.browserFingerPrint.isIpCreateLanguage | boolean | No | Generate browser language based on IP |
raw.browserFingerPrint.languages | string/array | No | Browser language |
raw.browserFingerPrint.isIpCreateDisplayLanguage | boolean | No | Generate UI language based on IP |
raw.browserFingerPrint.displayLanguages | string/array | No | UI language |
raw.browserFingerPrint.isIpCreateTimeZone | boolean | No | Generate timezone based on IP |
raw.browserFingerPrint.timeZone | string | No | Custom timezone |
raw.browserFingerPrint.webRTC | string | No | WebRTC: 0 replace with proxy IP, 1 real IP, 2 disabled, 3 block IP fetching |
raw.browserFingerPrint.ignoreHttpsErrors | boolean | No | Ignore HTTPS certificate errors |
raw.browserFingerPrint.position | string | No | Geolocation permission: 0 prompt, 1 allow, 2 block |
raw.browserFingerPrint.isIpCreatePosition | boolean | No | Generate geolocation based on IP |
raw.browserFingerPrint.lat | number/string | No | Latitude |
raw.browserFingerPrint.lng | number/string | No | Longitude |
raw.browserFingerPrint.precisionData | number/string | No | Geolocation precision in meters |
raw.browserFingerPrint.openWidth | number/string | No | Window width |
raw.browserFingerPrint.openHeight | number/string | No | Window height |
raw.browserFingerPrint.resolutionType | string | No | Resolution type: 0 default, 1 custom, 2 random |
raw.browserFingerPrint.resolution | string | No | Resolution, e.g., 1920x1080 |
raw.browserFingerPrint.windowSizeLimit | boolean | No | Limit window size to resolution |
raw.browserFingerPrint.webPageZoom | string/number | No | Page zoom ratio |
raw.browserFingerPrint.devicePixelRatio | string/number | No | Device pixel ratio |
raw.browserFingerPrint.fontType | string | No | Font type: 0 default, 1 custom, 2 random |
raw.browserFingerPrint.font | string/array | No | Font list |
raw.browserFingerPrint.canvas | string | No | Canvas: 0 enable noise, 1 use real value |
raw.browserFingerPrint.canvasValue | number/string | No | Canvas noise value |
raw.browserFingerPrint.webGL | string | No | WebGL image: 0 enable noise, 1 use real value |
raw.browserFingerPrint.webGLValue | number/string | No | WebGL noise value |
raw.browserFingerPrint.webGLMeta | string | No | WebGL metadata: 0 custom, 1 use real value |
raw.browserFingerPrint.webGLManufacturer | string | No | WebGL vendor |
raw.browserFingerPrint.webGLRender | string | No | WebGL renderer |
raw.browserFingerPrint.webgpu | object | No | WebGPU config, structure as returned by client |
raw.browserFingerPrint.audioContext | string | No | AudioContext: 0 enable noise, 1 use real value |
raw.browserFingerPrint.audioContextValue | number/string | No | AudioContext noise value |
raw.browserFingerPrint.speechVoices | string | No | Speech Voices fingerprint mode |
raw.browserFingerPrint.doNotTrack | string/boolean | No | Do Not Track switch |
raw.browserFingerPrint.clientRectNoiseEnabled | boolean | No | Enable ClientRects noise |
raw.browserFingerPrint.clientRectNoiseValue | number/string | No | ClientRects noise value |
raw.browserFingerPrint.deviceInfoEnabled | boolean | No | Customize device info |
raw.browserFingerPrint.computerName | string | No | Device name |
raw.browserFingerPrint.macAddr | string | No | MAC address |
raw.browserFingerPrint.portScanProtect | string/boolean | No | Port scan protection |
raw.browserFingerPrint.portWhiteList | string | No | Port scan whitelist, comma separated |
raw.browserFingerPrint.disableSslCipherSuitesFlag | boolean | No | Enable SSL Cipher fingerprint settings |
raw.browserFingerPrint.disableSslCipherSuites | string/array | No | Disabled SSL cipher list |
raw.browserFingerPrint.enablePlugins | string/boolean | No | Customize plugin fingerprint |
raw.browserFingerPrint.plugins | string/array | No | Plugin fingerprint info |
raw.browserFingerPrint.hardwareConcurrency | number/string | No | CPU core count |
raw.browserFingerPrint.deviceMemory | number/string | No | Device memory GB |
raw.browserFingerPrint.args | string/array | No | Browser launch arguments |
raw.browserFingerPrint.touchSimulationEnabled | boolean | No | Enable touch simulation |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"id": 10001,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Test window",
"group_id": 0,
"cache_storage_mode": "local"
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.id | number/string | Window ID |
data.uuid | string | Window UUID |
data.name | string | Window name |
data.group_id / data.groupId | number/string | Group ID |
data.cache_storage_mode | string | Cache storage method |
Create Window Request Example
{
"name": "Test window",
"group_id": 0,
"remark": "Created by Local API",
"cache_storage_mode": "local",
"proxy_method": "2",
"proxy_type": "noproxy"
}
Edit Window Request Example
Before editing, call /browser/list to get the real uuid, then /browser/detail to get data.config, and finally return the complete config as-is.
{
"uuid": "real window UUID",
"name": "New window name",
"remark": "Edited by Local API",
"cache_storage_mode": "local",
"config": {
"...": "put the complete data.config object from /browser/detail here"
}
}
Postman Usage Tips
After importing LOCAL_API.postman_collection.json:
- To create a window, use
Browser / Create Browserand do not adduuidoridin the body. - To edit a window, first run
Browser / List Browsersto get the realbrowser_uuid. - Then run
Browser / Get Browser Detailand savebrowser_config. - Finally run
Browser / Update Existing Browser - Requires Real UUID And Detail Config.
Notes
When creating a window with a proxy, pass fields like proxy_method, proxy_type, host, port according to proxy type. For no proxy, pass {"proxy_method":"2","proxy_type":"noproxy"}. Legacy fields proxyMethod / proxyType are still compatible.
Batch Create Windows
Title
Batch Create Windows
Brief Description
Batch create browser windows by quantity or a list of window configurations.
Batch creation also supports two modes:
| Mode | Applicable Scenario | Description |
|---|---|---|
| Minimal field batch creation | Only pass creation quantity or per-window names | Do not pass config / items[].config. Local API first reads the client's create window templates, then for each window separately fills in name, proxy, cache, fingerprint etc., and randomly generates missing fields |
| Full configuration batch creation | Each window needs completely custom configuration | Use items and pass full config in each items[] entry. Each window can have different config |
Request URL
http://127.0.0.1:54345/browser/create/batch
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
create_count / count | Yes, either this or items | number | Number of windows to create, compatible with createCount |
items | Yes, either this or create_count | array | Configuration list for each window. When using items, it's recommended to provide name for each item |
name_prefix | Required when using create_count, recommended when using items | string | Window name prefix, generates names like prefix1, prefix2. Some server versions also validate this field in items mode, compatible with namePrefix |
group_id | No | number/string | Group ID, compatible with groupId |
tag_ids | No | array/string | Tag IDs, compatible with tagIds |
remark | No | string | Remark |
window_platform | No | string | The client platform the window belongs to, default current client platform, can be windows / mac / linux, compatible with windowPlatform |
proxy_method | No | string | Proxy method, default 2. For no proxy, pass 2, compatible with proxyMethod |
proxy_type | No | string | Proxy type, default noproxy. For no proxy, pass noproxy, compatible with proxyType |
host | Required when using proxy | string | Proxy host. Do not pass when proxy_type=noproxy |
port | Required when using proxy | number/string | Proxy port. Do not pass when proxy_type=noproxy |
cache_storage_mode | No | string | Common cache storage mode: local / custom / official, compatible with cacheStorageMode / storage_mode. If not passed, system settings are used |
config | No | object | Common full window configuration. Only recommended when all batch windows share the same full config; for per-window customization, use items[].config |
items[].name | Required when using items | string | Single window name |
items[].group_id | No | number/string | Single window group ID, overrides outer group_id if not passed, compatible with items[].groupId |
items[].tag_ids | No | array/string | Single window tag IDs, overrides outer tag_ids, compatible with items[].tagIds |
items[].remark | No | string | Single window remark |
items[].proxy_method | No | string | Single window proxy method, overrides outer proxy_method, compatible with items[].proxyMethod |
items[].proxy_type | No | string | Single window proxy type, overrides outer proxy_type, compatible with items[].proxyType |
items[].cache_storage_mode | No | string | Single window cache storage mode, overrides outer cache_storage_mode or system settings |
items[].browserFingerPrint | No | object | Single window fingerprint fields. In minimal field mode, only covers provided fields, rest from system template and auto-generated/randomized as per manual creation flow |
items[].config | No | object | Single window full configuration; if passed, that item enters full config mode; otherwise auto-generates and randomizes missing fields |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"total": 2,
"list": [
{
"id": 10001,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx1",
"name": "Postman batch window-1"
},
{
"id": 10002,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx2",
"name": "Postman batch window-2"
}
]
}
}
Minimal Field Batch Creation by Count Request Example
{
"create_count": 2,
"name_prefix": "Postman batch window-"
}
Minimal Field Batch Creation by List Request Example
{
"name_prefix": "Postman list window-",
"items": [
{
"name": "Postman list window-1",
"group_id": 0
},
{
"name": "Postman list window-2",
"group_id": 0,
"browserFingerPrint": {
"webRTC": "3",
"resolutionType": "2"
}
}
]
}
Full Configuration Batch Creation by List Request Example
{
"name_prefix": "Postman full config window-",
"items": [
{
"name": "Postman full config window-1",
"group_id": 0,
"config": {
"browser_type": "firefox",
"name": "Postman full config window-1",
"browser_name": "Postman full config window-1",
"group_id": 0,
"proxy": { "type": "direct" },
"fingerprint": {
"noise_seed": "A1B2C3D4E5F60708",
"canvas": { "mode": "on" },
"audio_context": { "mode": "on" },
"webgl_image": { "mode": "on" },
"webgl_metadata": {
"mode": "real",
"vendor": "",
"renderer": ""
},
"fonts": {
"mode": "random",
"font_list": [],
"client_rects": true
}
},
"navigator": {
"user_agent": "",
"cpu": { "mode": "custom", "value": 8 },
"ram": { "mode": "custom", "value": 8 }
},
"webrtc": { "mode": "relay" },
"geo": {
"timezone": { "mode": "auto" },
"geolocation": { "mode": "auto", "permission": "allow" },
"language": { "mode": "auto", "values": [] }
},
"resolution": { "mode": "random" },
"cookies": { "mode": "merge", "items": [] },
"raw": {
"name": "Postman full config window-1",
"browser_name": "Postman full config window-1",
"group_id": 0,
"proxy_method": "2",
"proxy_type": "noproxy"
}
}
}
]
}
Common Errors
If creating with items returns {"code":211,"msg":"name prefix required","data":{}}, add name_prefix at the top level of the request body, not just in items[].name.
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.total | number | Number of successfully created windows |
data.list | array | List of successfully created windows |
data.list[].id | number/string | Window ID |
data.list[].uuid | string | Window UUID |
data.list[].name | string | Window name |
Notes
Equivalent paths also available: /browser/batch-create, /browser/createBatch. To create in a specific group with tags, first call group and tag list endpoints to get real IDs. When proxy_method / proxy_type are not passed, Local API defaults to proxy_method=2, proxy_type=noproxy. create_count is suitable when all windows share the same top-level parameters; for per-window full customization, use items[].config.
Batch Update Window Configurations
Title
Batch Update Window Configurations
Brief Description
Batch modify configuration fields of multiple windows, can also synchronize group, tags, or remark.
Request URL
http://127.0.0.1:54345/browser/update/partial
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
ids | Yes, either this or uuids | array/string | Array of window IDs, comma-separated string also accepted |
uuids | Yes, either this or ids | array/string | Array of window UUIDs |
config | No | object | Configuration fields to modify. Can be omitted when only modifying outer fields like group_id, tag_ids, remark |
configFields | Recommended required | array | Field paths being modified this time |
updateFields | Recommended required | array | Same as configFields |
checkedFields | Recommended required | array | Same as configFields |
group_id | No | number/string | Simultaneously modify group, compatible with groupId |
tag_ids | No | array/string | Simultaneously modify tags, compatible with tagIds |
remark | No | string | Simultaneously modify remark |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"ids": [10001, 10002],
"updated": 2
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.ids | array | Window IDs that were modified |
data.updated | number | Number of successful modifications |
Notes
Example config: {"config":{"syncCookies":true,"browserFingerPrint":{"webRTC":"3"}},"configFields":["syncCookies","browserFingerPrint.webRTC"]}. To batch update only remarks, pass {"ids":[10001],"remark":"new remark"}.
Query Window List
Title
Query Window List
Brief Description
Paginated window list query, supports filtering by group, name, remark, and status.
Request URL
http://127.0.0.1:54345/browser/list
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
page | No | number | Page number, default 1 |
page_size | No | number | Page size, default 20, compatible with pageSize |
scope | No | string | Scope, default all |
group_id | No | number/string | Filter by group, compatible with groupId |
tag_ids | No | array/string | Filter by tags, compatible with tagIds |
browser_name | No | string | Search by window name, compatible with name / browserName / keyword |
remark_keyword | No | string | Search by remark, compatible with remark / remarkKeyword |
opened_status | No | number/string | Filter by open status, compatible with openedStatus |
current_platform | No | string | Current client platform, default current client platform, compatible with currentPlatform |
lite | No | number/string | Whether to use lightweight list, default 1. Pass 0 to fallback to full list |
include_config | No | number/boolean | Backend lightweight switch compatibility, 0 equivalent to lightweight list |
status | No | number/string | Status, default 1 |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"list": [
{
"id": 10001,
"backend_id": 10001,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Test window",
"group_id": 0,
"remark": "Created by Local API",
"cache_storage_mode": "local"
}
],
"total": 1,
"page": 1,
"page_size": 20
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.list | array | Window list |
data.list[].id | number/string | Window ID |
data.list[].backend_id | number/string | Backend window ID, preferred for batch operations |
data.list[].uuid | string | Window UUID |
data.list[].name | string | Window name |
data.list[].group_id / data.list[].groupId | number/string | Group ID |
data.list[].remark | string | Remark |
data.list[].cache_storage_mode | string | Cache storage method: local local server, custom custom server, official official server |
data.total | number | Total count |
data.page | number | Current page |
data.page_size | number | Page size |
Notes
Local API by default sends lite=1 to the cloud list, so lightweight list does not return full config. When editing, copying, or viewing full configuration, call /browser/detail again. Return fields may increase with server version. For batch modifying window group, remark, or proxy, prefer using backend_id / browserId from the list response as ids.
Query Window Detail
Title
Query Window Detail
Brief Description
Query window details by window UUID or window ID.
Request URL
http://127.0.0.1:54345/browser/detail
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
uuid | Yes, either this or id | string | Window UUID, config_uuid also accepted. Obtain from uuid in /browser/list |
id | Yes, either this or uuid | number/string | Window numeric ID. Prefer passing uuid |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"id": 10001,
"uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Test window",
"group_id": 0,
"remark": "Created by Local API",
"cache_storage_mode": "local",
"config": {}
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.id | number/string | Window ID |
data.uuid | string | Window UUID |
data.name | string | Window name |
data.group_id / data.groupId | number/string | Group ID |
data.remark | string | Remark |
data.cache_storage_mode | string | Cache storage method |
data.config | object | Window full configuration |
Notes
It is recommended to use uuid for detail queries; if only numeric ID is provided, Local API will first resolve the list to find the corresponding UUID.
Delete Window
Title
Delete Window
Brief Description
Delete one or multiple windows.
Request URL
http://127.0.0.1:54345/browser/delete
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
id | Yes, either this or ids / uuid | number/string | Single window ID |
ids | Yes, either this or id / uuid | array/string | Multiple window IDs or UUIDs |
uuid | Yes, either this or id / ids | string | Window UUID |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"ids": [10001]
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.ids | array | Deleted window IDs or UUIDs |
Notes
This endpoint moves windows to recycle bin / performs deletion logic, specific behavior depends on current client and server configuration.
Batch Delete Windows
Title
Batch Delete Windows
Brief Description
Batch delete windows by array of window IDs.
Request URL
http://127.0.0.1:54345/browser/delete/ids
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
ids | Yes | array/string | Array of window IDs, comma-separated string also accepted |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"ids": [10001, 10002]
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.ids | array | Deleted window IDs |
Notes
To delete a single window, you can also use /browser/delete.
Batch Update Window Group
Title
Batch Update Window Group
Brief Description
Move multiple windows to a specified group.
Request URL
http://127.0.0.1:54345/browser/group/update
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
ids | Yes, either this or uuids | array/string | Array of backend numeric window IDs, also accepts browser_ids / browserIds or comma-separated string |
uuids | Yes, either this or ids | array/string | Array of window UUIDs, also accepts browser_uuids / browserUuids |
group_id | Yes | number/string | Target group ID, pass 0 for no group, compatible with groupId |
current_platform | No | string | Current client platform, default current client platform, compatible with currentPlatform |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"ids": [10001, 10002],
"group_id": 123
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.ids | array | Window IDs that were modified |
data.group_id / data.groupId | number/string | Target group ID |
Notes
When fetching window identifiers from /browser/list, prefer using backend_id / browserId in the response as ids; if only uuid / config_uuid is available, pass uuids.
Batch Update Window Remark
Title
Batch Update Window Remark
Brief Description
Batch modify the remark of multiple windows.
Request URL
http://127.0.0.1:54345/browser/remark/update
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
ids | Yes, either this or uuids | array/string | Array of backend numeric window IDs, also accepts browser_ids / browserIds or comma-separated string |
uuids | Yes, either this or ids | array/string | Array of window UUIDs, also accepts browser_uuids / browserUuids |
remark | Yes | string | New remark, pass empty string "" to clear |
current_platform | No | string | Current client platform, default current client platform, compatible with currentPlatform |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"ids": [10001, 10002],
"remark": "Batch remark"
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.ids | array | Window IDs that were modified |
data.remark | string | New remark |
Notes
When fetching window identifiers from /browser/list, prefer using backend_id / browserId as ids; if only uuid / config_uuid is available, pass uuids.
Query Proxy List
Title
Query Proxy List
Brief Description
Paginated query of proxies from proxy IP management, supports filtering by name, proxy method, proxy type, owning user, region, and check status.
Request URL
http://127.0.0.1:54345/proxy/list
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
page | No | number | Page number, default 1 |
page_size | No | number | Page size, default 20, compatible with pageSize |
id | No | number/string | Query by proxy ID |
keyword / proxy_name | No | string | Search by proxy name, compatible with proxyName / name |
proxy_method | No | string | Filter by proxy method: 2 / custom custom proxy, 3 / api_link API extraction proxy, compatible with proxyMethod |
proxy_type | No | string | Filter by proxy type: http / https / socks5 / ssh / direct, compatible with proxyType |
proxy_protocol | No | string | Filter by proxy protocol, compatible with proxyProtocol |
ip_protocol | No | string | Filter by IP protocol: ipv4 / ipv6, compatible with ipProtocol |
api_provider | No | string | API extraction provider, compatible with apiProvider / provider |
extract_method | No | string | Filter by extraction method, compatible with extractMethod |
owner_uid | No | number/string | Owner UID, compatible with ownerUid |
owner_account | No | string | Owner account, compatible with ownerAccount / account |
country | No | string | Filter by country/region |
region | No | string | Filter by province/region |
check_status | No | number/string | Check status, compatible with checkStatus |
is_shared | No | number/boolean | Whether shared, compatible with isShared |
allow_member_edit | No | number/boolean | Allow member edit/delete, compatible with allowMemberEdit / allowDeleteModify |
host | No | string | Filter by proxy host |
port | No | number/string | Filter by proxy port |
username | No | string | Filter by proxy username, compatible with proxy_user_name / proxyUserName |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"list": [
{
"id": 1,
"proxy_name": "Test proxy",
"proxy_method": "custom",
"proxy_type": "http",
"host": "127.0.0.1",
"port": 7890,
"username": "",
"country": "CN",
"region": "Shanghai",
"check_status": 1
}
],
"total": 1,
"page": 1,
"page_size": 20
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.list | array | Proxy list |
data.list[].id | number/string | Proxy ID, can be used as proxy_id in /browser/proxy/update |
data.list[].proxy_name / data.list[].proxyName | string | Proxy name |
data.list[].proxy_method / data.list[].proxyMethod | string | Proxy method |
data.list[].proxy_type / data.list[].proxyType | string | Proxy type |
data.list[].host | string | Proxy host |
data.list[].port | number/string | Proxy port |
data.list[].username / data.list[].proxy_user_name | string | Proxy username |
data.list[].check_status / data.list[].checkStatus | number/string | Check status |
data.total / data.totalNum | number | Total count |
data.page | number | Current page |
data.page_size | number | Page size |
Notes
This endpoint forwards locally to backend /api/browser/proxies/list. Local paths /browser/proxy/list and /browser/proxies/list are also compatible. Return fields may increase with server version.
Batch Update Window Proxy
Title
Batch Update Window Proxy
Brief Description
Batch modify proxy configuration for multiple windows.
Request URL
http://127.0.0.1:54345/browser/proxy/update
Request Method
POST
Header
| Parameter | Required | Example | Description |
|---|---|---|---|
Content-Type | Yes | application/json | Request body format |
X-Cos-Local-Token | Yes | YOUR_LOCAL_TOKEN | Local access token, viewable in the client under "Settings - Local API" |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
ids | Yes, either this or uuids | array/string | Array of backend numeric window IDs, also accepts browser_ids / browserIds |
uuids | Yes, either this or ids | array/string | Array of window UUIDs, also accepts browser_uuids / browserUuids |
proxy_method | Yes | string | Proxy method: 2 custom, 3 API extraction, 4 proxy IP management, compatible with proxyMethod |
proxy_type | Required when proxy_method=2 | string | noproxy / direct / http / https / socks5 / ssh, compatible with proxyType |
host | Required when proxy_method=2 and using proxy | string | Proxy host |
port | Required when proxy_method=2 and using proxy | number/string | Proxy port |
username | No | string | Proxy username, compatible with proxy_user_name / proxyUserName |
password | No | string | Proxy password, compatible with proxy_password / proxyPassword |
refresh_url | No | string | Refresh proxy URL, compatible with refreshProxyUrl |
extract_url | Required when proxy_method=3 | string | Extraction URL, compatible with dynamicIpUrl / extractUrl |
api_provider | No | string | Extraction link provider, compatible with dynamicIpChannel |
proxy_id | Required when proxy_method=4 | number/string | Proxy ID from proxy IP management, compatible with proxyId |
ip_lookup_channel | No | string | IP lookup channel, compatible with ipCheckService |
udp_enabled | No | number/boolean | Socks5 UDP switch, compatible with enableSocks5Udp |
current_platform | No | string | Current client platform, default current client platform, compatible with currentPlatform |
Success Response Example
{
"code": 0,
"msg": "success",
"data": {
"ids": [10001, 10002],
"proxy_method": "2",
"proxy_type": "noproxy"
}
}
Success Response Parameter Descriptions
| Parameter | Type | Description |
|---|---|---|
code | number | 0 indicates success |
msg | string | Response message |
data.ids | array | Window IDs that were modified |
data.proxy_method / data.proxyMethod | string | Proxy method |
data.proxy_type / data.proxyType | string | Proxy type |
Notes
When fetching window identifiers from /browser/list, prefer using backend_id / browserId as ids; if only uuid / config_uuid is available, pass uuids. For no proxy, pass: {"proxy_method":"2","proxy_type":"noproxy"}.