# Browser Profiles

### Create a browser profile, the fingerprint object is mandatory. &#x20;

{% hint style="info" %}
When creating a profile with a random fingerprint object, simply pass an empty object {} and leave the fingerprint values empty to generate them randomly.
{% endhint %}

<mark style="color:green;">`POST`</mark> `/browser/update`

Note: Windows 7/8/Win Server 2012 no longer support kernel versions 109 and above. Therefore, for the aforementioned systems, please specify coreVersion as kernel version 104 to prevent issues where the profile cannot be opened when specifying kernel version 112.

#### Request Body

| Name                                                 | Type    | Description                                                                                                 |
| ---------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| groupId                                              | String  | when add browsers by a sub user, groupId is required.                                                       |
| platform<mark style="color:red;">\*</mark>           | String  | a url, eg: <https://www.facebook.com>                                                                       |
| platformIcon<mark style="color:red;">\*</mark>       | String  | default is hostname of platform url.                                                                        |
| url<mark style="color:red;">\*</mark>                | String  | open urls when launch, multiple separated by commas                                                         |
| name<mark style="color:red;">\*</mark>               | String  | browser name                                                                                                |
| remark<mark style="color:red;">\*</mark>             | String  | remarks                                                                                                     |
| userName<mark style="color:red;">\*</mark>           | String  | platform user name                                                                                          |
| password<mark style="color:red;">\*</mark>           | String  | platform user password                                                                                      |
| cookie                                               | String  | json string cookies                                                                                         |
| proxyMethod<mark style="color:red;">\*</mark>        | Int     | proxy method, default is 2, 3 is extract ip                                                                 |
| proxyType<mark style="color:red;">\*</mark>          | String  | proxy type, one of \['noproxy', 'http', 'https', 'socks5', 'ssh']                                           |
| host                                                 | String  | Host                                                                                                        |
| port                                                 | Int     | Port                                                                                                        |
| proxyUserName                                        | String  | proxy user name                                                                                             |
| proxyPassword                                        | String  | proxy user password                                                                                         |
| ip                                                   | String  | ip                                                                                                          |
| country                                              | String  | country code                                                                                                |
| province                                             | String  | state/provice code                                                                                          |
| city                                                 | String  | city code                                                                                                   |
| browserFingerPrint<mark style="color:red;">\*</mark> | Obect   | browser fingerprint object, [refer to](#browserfingerprint-zhi-wen-dui-xiang)                               |
| abortImage                                           | Boolean | not loading img, default is false.                                                                          |
| stopWhileNetError                                    | Boolean | stop opening while net error, default is false                                                              |
| dynamicIpUrl                                         |         | while proxyMethod is 3, provide a extract url                                                               |
| dynamicIpChannel                                     | String  | rola \| 922 \| doveip \| cloudam \| luna \| ipidea \| pias5 \| common                                       |
| isDynamicIpChangeIp                                  | Boolean | default is false                                                                                            |
| syncTabs                                             | Boolean | Sync browser tabs, default is true                                                                          |
| syncCookies                                          | Boolean | Sync cookies, default is true.                                                                              |
| syncIndexedDb                                        | Boolean | Sync IndexedDb, default is false.                                                                           |
| syncBookmarks                                        | Boolean | default is false                                                                                            |
| syncAuthorization                                    | Boolean | Sync saved passwords, default is false                                                                      |
| syncHistory                                          | Boolean | default is false                                                                                            |
| ipCheckService                                       | String  | ip lookup service, default is ip-api.  options: ip-api \| ip123in \| luminati，luminati is just for luminati |
| allowedSignin                                        | Boolean | Allow sign in to browser, default is true.                                                                  |
| clearCacheFilesBeforeLaunch                          | Boolean | Default is false                                                                                            |
| clearCookiesBeforeLaunch                             | Boolean | Default is false                                                                                            |
| clearHistoriesBeforeLaunch                           | Boolean | Default is false                                                                                            |
| randomFingerprint                                    | Boolean | Random browser fingerprint before launch each time.                                                         |
| disableGpu                                           | Boolean | Default is false                                                                                            |
| muteAudio                                            | Boolean | Default is false                                                                                            |
| abortMedia                                           | Boolean | not autoplay and payload videos, default is false                                                           |
| workbench                                            | String  | localserver or disable，default is localserver                                                               |
| isIpv6                                               | Boolean | IPv6 or not, default is false.                                                                              |
| isGlobalProxyInfo                                    | Boolean | use global settings of these proxy. iphtml，oxylabs，lumauto，ipidea                                           |
| syncExtensions                                       | Boolean | default is false                                                                                            |
| syncUserExtensions                                   | Boolean | Sync extensions data accross browsers.                                                                      |
| credentialsEnableService                             | Boolean | not pop up autofill anymore, default is false                                                               |
| syncLocalStorage                                     | Boolean | default is false                                                                                            |
| refreshProxyUrl                                      | String  | proxy rotate url                                                                                            |
| isValidUsername                                      | Boolean | According to the platform, username, password, check for duplicates, it's valid at the time of creation.    |
| disableTranslatePopup                                | Boolean | Disable browser pop-up for Google Translate, default is false.                                              |
| abortImageMaxSize                                    | Int     | While abortImage is true, set to prohibit loading images larger than a specified size.                      |
| stopWhileIpChange                                    | Boolean | Stop opening while ip changed, default to false.                                                            |
| stopWhileCountryChange                               | Boolean | Stop opening while the ip country changed, default to false.                                                |
| disableNotifications                                 | Boolean | Disable notifications popup, default to false.                                                              |
| disableClipboard                                     | Boolean | Prevents websites from accessing clipboard content for enhanced security.                                   |

```
// Some code
```

### Modify profile and fingerprint specified field values, supporting bulk modifications.

<mark style="color:green;">`POST`</mark> `/browser/update/partial`

Only pass the fields that need to be updated. For example, if you want to update the 'name' field, only provide the 'name' value.

#### Request Body

| Name                                  | Type   | Description                                                                                                                                                    |
| ------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ids<mark style="color:red;">\*</mark> | Array  | Collection of profile IDs to be updated. When updating a single profile, provide a single ID, for example: \["abd8fd953d3641a0915865a09b8d99ba"].              |
| browserFingerPrint                    | Object | Fingerprint object - pass the corresponding fingerprint fields to be updated. If no adjustments are needed, simply use an empty object {}.                     |
| name                                  | String | This is an example field. For the fields you want to update, provide the necessary values; there's no need to pass values for fields you don't want to update. |

### Open a browser by id, returns ws and http debug address, and coreVersion and chromedriver path

<mark style="color:green;">`POST`</mark> `/browser/open`

#### Request Body

| Name                                 | Type    | Description                                         |
| ------------------------------------ | ------- | --------------------------------------------------- |
| id<mark style="color:red;">\*</mark> | String  |                                                     |
| args                                 | Array   | launch args, eg: \["--headless"]                    |
| queue                                | Boolean | Open the profile in a queue to prevent concurrency. |

{% tabs %}
{% tab title="200: OK return ws and http address, coreVersion and driver path" %}

```javascript
{
    "success": true,
    "data": {
        "ws": "ws://127.0.0.1:53325/devtools/browser/857b2d0d-aae6-4852-ab3c-0784f0b2c1fb",
        "http": "127.0.0.1:53325",
        "coreVersion": "112",
        "driver": "/Users/ddd/Library/Application Support/Electron/chromedriver/112/chromedriver",
        "seq": 3474,
        "name": "",
        "remark": "",
        "groupId": "2c9c29a28161edd0018161f3790d0002",
        "pid": 31295
    }
}
```

{% endtab %}
{% endtabs %}

## Close a browser

<mark style="color:green;">`POST`</mark> `/browser/close`

#### Request Body

| Name                                 | Type   | Description |
| ------------------------------------ | ------ | ----------- |
| id<mark style="color:red;">\*</mark> | String |             |

## Reset browser closed state

<mark style="color:green;">`POST`</mark> `/users`

This interface is used only after an abnormal window closure. If the window is not opening due to a status of "opening" or "closing" when reopened, you can use this interface to reset the window state to "closed." Ensure that the window is actually closed before using this interface.

**Body**

| Name | Type   | Description                    |
| ---- | ------ | ------------------------------ |
| `id` | string | Required, browser profile's ID |

## Delete a browser

<mark style="color:green;">`POST`</mark> `/browser/delete`

#### Request Body

| Name                                 | Type   | Description |
| ------------------------------------ | ------ | ----------- |
| id<mark style="color:red;">\*</mark> | String |             |

## Get browser profile's detail

<mark style="color:green;">`POST`</mark> `/browser/detail`

#### Request Body

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | String |             |

{% tabs %}
{% tab title="200: OK eg" %}

```javascript
{
  success: true,
  data: {
    id: '2c9c2dsdsd323xceeeds24a30065',
    seq: 41,
    code: 'd3sdsddddd',
    platform: 'https://www.instagram.com/',
    platformIcon: 'instagram',
    url: 'https%3A%2F%2Fwww.facebook.com%2F,https%3A%2F%2Fwww.amazon.com%2FBest-Sellers%2Fzgbs%2Fref%3Dzg_bs_unv_hpc_0_2314207011_4_sbg_1,https%3A%2F%2Fwww.baidu.com%2F',
    name: 'ins',
    userName: '',
    password: '',
    cookie: '[{"domain":".instagram.com","expirationDate":1680060024.48996,"hostOnly":false,"httpOnly":false,"name":"ig_nrcb","path":"/","secure":true,"session":false,"storeId":null,"value":"1"}]',
    proxyMethod: 2,
    proxyType: 'noproxy',
    agentId: '',
    host: '',
    proxyUserName: '',
    proxyPassword: '',
    lastIp: '221.222.180.190',
    lastCountry: '中国',
    country: '',
    province: '',
    city: '',
    remark: '备注',
    status: 1,
    operUserId: 'sdd3ds',
    operUserName: '3ds3sdee',
    operTime: '2022-04-14 16:11:05',
    isDelete: 0,
    delReason: null,
    isMostCommon: 1,
    tempStr: null,
    createdBy: 'sdfd3ddddd',
    userId: 'sdfd33dddddd',
    createdTime: '2022-03-31 13:44:40',
    updateBy: 'sdfsdf322222',
    updateTime: '2022-04-14 16:11:05',
    mainUserId: 'dfsddded323fdddd',
    browserFingerPrint: {
      id: '2c9c29a27fda71dd017fde8124a90066',
      seq: 41,
      browserId: '2c9c29a27fda71dd017fde8124a30065',
      ostype: 'PC',
      os: 'Win64',
      version: '',
      userAgent: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.3887.132 Safari/537.36',
      isIpCreateTimeZone: true,
      timeZone: '',
      webRTC: '0',
      position: '1',
      isIpCreatePosition: true,
      isIpCreateLanguage: true,
      resolutionType: '0',
      resolution: '',
      fontType: '0',
      canvas: '0',
      webGL: '0',
      webGLMeta: '0',
      webGLManufacturer: 'Intel Inc.',
      webGLRender: 'ANGLE (NVIDIA GeForce GTX 960M Direct3D11 vs_5_0 ps_5_0)',
      audioContext: '0',
      mediaDevice: '0',
      clientRects: '0',
      hardwareConcurrency: '4',
      deviceMemory: '8',
      deviceNameType: '1',
      deviceName: 'DESKTOP-FZEVSE',
      doNotTrack: '1',
      flash: '',
      portScanProtect: '',
      portWhiteList: '',
      isDelete: 0,
      colorDepth: 32,
      devicePixelRatio: 1.2,
      createdBy: 'sdfsdf333',
      createdTime: '2022-03-31 13:44:40',
      updateBy: 'sdfdsfdsf33333',
      updateTime: '2022-03-31 13:45:19'
    },
    createdName: null,
    belongUserName: null,
    updateName: null,
    agentIpCount: 1,
    belongToMe: false,
    ip: ''
  }
}
```

{% endtab %}
{% endtabs %}

### Get browser profiles list

<mark style="color:green;">`POST`</mark> `/browser/list`

Note: page start from 0

#### Request Body

| Name                                       | Type   | Description                                            |
| ------------------------------------------ | ------ | ------------------------------------------------------ |
| page<mark style="color:red;">\*</mark>     | Int    | page, start from 0                                     |
| pageSize<mark style="color:red;">\*</mark> | Int    | max is 100                                             |
| groupId                                    | String |                                                        |
| name                                       | String |                                                        |
| remark                                     | String |                                                        |
| seq                                        | Int    | browser profile's seq                                  |
| minSeq                                     | Int    | min seq, do not use with seq                           |
| maxSeq                                     | Int    | max seq, do not use with seq                           |
| sort                                       | String | Sorting filed, default is "desc", options: desc \| asc |

### Reset browser window bounds

<mark style="color:green;">`POST`</mark> `/windowbounds`

Note that, except for the 'type' parameter, all other parameters must be of integer numeric type. Please refer to the 'windowbounds' object below as an example.

#### Request Body

| Name                                      | Type   | Description                                                                                                                                                    |
| ----------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type<mark style="color:red;">\*</mark>    | String | box \| diagonal                                                                                                                                                |
| startX<mark style="color:red;">\*</mark>  | Int    | default is 0                                                                                                                                                   |
| startY<mark style="color:red;">\*</mark>  | Int    | default is 0                                                                                                                                                   |
| width<mark style="color:red;">\*</mark>   | Int    | min is 500                                                                                                                                                     |
| height<mark style="color:red;">\*</mark>  | Int    | min is 200                                                                                                                                                     |
| col<mark style="color:red;">\*</mark>     | Int    |                                                                                                                                                                |
| spaceX<mark style="color:red;">\*</mark>  | Int    | Horizontal spacing, default is 0                                                                                                                               |
| spaceY                                    | Int    | Vertical spacing, default is 0                                                                                                                                 |
| offsetX<mark style="color:red;">\*</mark> | Int    | Horizontal offset, default is 0                                                                                                                                |
| offsetY<mark style="color:red;">\*</mark> | Int    | Vertical offset, default is 0                                                                                                                                  |
| seqlist                                   | Array  | Array of profiles indices to be arranged. If not provided, all windows will be arranged.                                                                       |
| screenId                                  | Int    | Display screen ID needs to be arranged on which monitor, just pass the monitor ID. The specific monitor ID can be obtained through the /alldisplays interface. |

### Adaptive window arrangement

<mark style="color:green;">`POST`</mark> `/windowbounds/flexable`

Note that except for 'type', all other parameters must be of integer type. Refer to the following 'windowbounds' object.

**Request Body**

| Name    | Type  | Description                                                         |
| ------- | ----- | ------------------------------------------------------------------- |
| seqlist | Array | Array of window indices to be arranged. If not passed, arrange all. |

## batch update browser profile's group

<mark style="color:green;">`POST`</mark> `/browser/group/update`

#### Request Body

| Name                                         | Type   | Description |
| -------------------------------------------- | ------ | ----------- |
| groupId<mark style="color:red;">\*</mark>    | String |             |
| browserIds<mark style="color:red;">\*</mark> | Array  | profile ids |

## Batch update browser's proxy

<mark style="color:green;">`POST`</mark> `/browser/proxy/update`

#### Request Body

| Name                                             | Type    | Description                                                  |
| ------------------------------------------------ | ------- | ------------------------------------------------------------ |
| ids<mark style="color:red;">\*</mark>            | Array   | browser ids                                                  |
| ipCheckService<mark style="color:red;">\*</mark> | String  | options: ip-api \| ip123in \| luminati, default is ip-api    |
| proxyMethod<mark style="color:red;">\*</mark>    | int     | options: 2 \| 3, default is 2, 3 is extract proxy ip         |
| proxyType                                        | String  | noproxy\|http\|https\|socks5\|ssh, default is noproxy        |
| host                                             | String  |                                                              |
| proxyUserName                                    | String  |                                                              |
| proxyPassword                                    | String  |                                                              |
| dynamicIpUrl                                     | String  | extraction link                                              |
| dynamicIpChannel                                 | String  | extraction provider, options: rola\|ipidea\|deoveip\|cloudam |
| isDynamicIpChangeIp                              | Boolean | default is true                                              |
| isGlobalProxyInfo                                | Boolean | default is false                                             |
| port                                             | Int     |                                                              |
| isIpv6                                           | Boolean | default is false                                             |

## Batch update remarks of  browser profiles

<mark style="color:green;">`POST`</mark> `/browser/remark/update`

#### Request Body

| Name                                         | Type   | Description |
| -------------------------------------------- | ------ | ----------- |
| browserIds<mark style="color:red;">\*</mark> | Array  |             |
| remark<mark style="color:red;">\*</mark>     | String |             |

## Close browsers by seq

<mark style="color:green;">`POST`</mark> `/browser/close/byseqs`

#### Request Body

| Name                                   | Type  | Description                                     |
| -------------------------------------- | ----- | ----------------------------------------------- |
| seqs<mark style="color:red;">\*</mark> | Array | browser seqs you want to close：\[101, 103, 105] |

## Close all opened profiles

<mark style="color:green;">`POST`</mark> `/browser/close/all`

close all opened profiles, no params.

## Get opened browser's pids

<mark style="color:green;">`POST`</mark> `/browser/pids`

#### Request Body

| Name                                  | Type  | Description         |
| ------------------------------------- | ----- | ------------------- |
| ids<mark style="color:red;">\*</mark> | Array | browser profile ids |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "success": true,
    "data": {
        "02d39dd4f9c54e40bc1ef51929d27235": 69902,
        "39dd4f4e40bc1ef51929d27232sdf3ds": 84773
    }
}
```

{% endtab %}
{% endtabs %}

## Get all alived browser's pids

<mark style="color:green;">`POST`</mark> `/browser/pids/all`

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "81ec99fc222148dbae513597dfaa4333": 12212,
    "10702539009b4d90a862c78aed2c98c9": 32342
}
```

{% endtab %}
{% endtabs %}

## Delete browser profiles by ids, up to 100, delete completely includes cache files.

<mark style="color:green;">`POST`</mark> `/browser/delete/ids`

#### Request Body

| Name                                  | Type  | Description |
| ------------------------------------- | ----- | ----------- |
| ids<mark style="color:red;">\*</mark> | Array | profile ids |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

## Clear browser cache files

<mark style="color:green;">`POST`</mark> `/cache/clear`

Note: will clear local cache files and cloud files.

#### Request Body

| Name | Type  | Description                                                        |
| ---- | ----- | ------------------------------------------------------------------ |
| ids  | Array | profile ids collection, like \['sdsdflk32dsdkl232l3ldsldk3kdksdk'] |

## Get all opened profile's remote-debugging-port

<mark style="color:green;">`POST`</mark> `/browser/ports`

{% tabs %}
{% tab title="200: OK " %}

```
{
    "success": true,
    "data": {
        "8caf925feebb4d2fb0bfd79ed9591e11": "64170",
        "c6925679d4e848a59e7ec49e44184013": "64217"
    }
}
```

{% endtab %}
{% endtabs %}

## Proxy detection API can be used to query proxy information and check the availability of proxies.&#x20;

<mark style="color:green;">`POST`</mark> `/checkagent`

Note that if the IP needs to be used under a global proxy, global proxy settings must be enabled.

#### Request Body

| Name                                        | Type   | Description                                  |
| ------------------------------------------- | ------ | -------------------------------------------- |
| host<mark style="color:red;">\*</mark>      | String | proxy host                                   |
| port<mark style="color:red;">\*</mark>      | String | proxy port                                   |
| proxyType<mark style="color:red;">\*</mark> | String | Choose one among noproxy, socks5, ssh, http. |
| proxyUserName                               | String |                                              |
| proxyPassword                               | String |                                              |
| checkExists                                 | Int    | Check if the ip used in system, 1 or 0       |

{% tabs %}
{% tab title="200: OK " %}

```
{
    "success": true,
    "data": {
        "success": true,
        "data": {
            "ip": "94.154.157.98",
            "countryName": "英国(GB)",
            "stateProv": "England(ENG)",
            "countryCode": "GB",
            "region": "ENG",
            "city": "London",
            "languages": "en-GB",
            "timeZone": "Europe/London",
            "offset": "1",
            "longitude": "-0.0991",
            "latitude": "51.5269",
            "zip": "EC1V",
            "status": 1,
            "used": false,
            "usedTime": null
        }
    }
}
```

{% endtab %}
{% endtabs %}

## Random fingerprint value - provide the profile ID, generate a random fingerprint once, and return the fingerprint object.&#x20;

<mark style="color:green;">`POST`</mark> `/browser/fingerprint/random`

Note that it doesn't return the browser object, only the fingerprint object.

#### Request Body

| Name                                        | Type   | Description        |
| ------------------------------------------- | ------ | ------------------ |
| browserId<mark style="color:red;">\*</mark> | String | browser profile id |

## Clear cache without extensions and extension's data

<mark style="color:green;">`POST`</mark> `/cache/clear/exceptExtensions`

#### Request Body

| Name | Type  | Description |
| ---- | ----- | ----------- |
| ids  | Array | profile ids |

## Get all displays

<mark style="color:green;">`POST`</mark> `/alldisplays`

Get all screen displays, no request data.

## Run RPA task

<mark style="color:green;">`POST`</mark> `/rpa/run`

**Body**

<table><thead><tr><th width="131">Name</th><th width="125">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>string</td><td>RPA task ID. Copy it from the RPA management interface, specifically from the edit RPA task section.</td></tr></tbody></table>

## Stop RPA task

<mark style="color:green;">`POST`</mark> `/rpa/stop`

**Body**

<table><thead><tr><th width="112">Name</th><th width="121">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>string</td><td>RPA task ID. Copy it from the RPA management interface, specifically from the edit RPA task section.</td></tr></tbody></table>

## Autopaste

<mark style="color:green;">`POST`</mark> `/autopaste`

It will automatically delay inputting the text from the clipboard into the focused input field on the page. Note: There must be a focused input field on the page, otherwise, input will not be possible.

**Body**

| Name        | Type   | Description          |
| ----------- | ------ | -------------------- |
| `browserId` | string | Browser profile's ID |
| `url`       | string | The browser tab url  |

## Read local excel file

<mark style="color:green;">`POST`</mark> `/utils/readexcel`

**Body**

<table><thead><tr><th width="169">Name</th><th width="123">Type</th><th>Description</th></tr></thead><tbody><tr><td>filepath</td><td>string</td><td>Required, the excel file's path, eg: C:\Users\User\Downloads\abc.xlsx</td></tr></tbody></table>

## Read the content of text-based files, such as JSON, TXT, and other text files.

<mark style="color:green;">`POST`</mark> `/utils/readfile`

**Body**

<table><thead><tr><th width="129">Name</th><th width="118">Type</th><th>Description</th></tr></thead><tbody><tr><td>filepath</td><td>string</td><td>Required, eg: C:\Users\User\Downloads\abc.json</td></tr></tbody></table>

## Set real-time cookies for the opened profile

<mark style="color:green;">`POST`</mark> `/`browser/cookies/set

**Body**

<table><thead><tr><th width="145">Name</th><th width="115">Type</th><th>Description</th></tr></thead><tbody><tr><td>browserId</td><td>string</td><td>Required, browser profile's ID</td></tr><tr><td>cookies</td><td>array</td><td>The array of cookies to be set must follow the standard cookies format. Please refer to the appendix for details.</td></tr></tbody></table>

## Retrieve real-time cookies for the opened profile

<mark style="color:green;">`POST`</mark> `/`browser/cookies/get

Note that real-time cookies may change continuously, so the values retrieved in two separate instances might differ.

**Body**

| Name      | Type   | Description                    |
| --------- | ------ | ------------------------------ |
| browserId | string | Required, browser profile's ID |

## Clear cookies. Supported in client versions 7.0.2 and above

<mark style="color:green;">`POST`</mark> `/`browser/cookies/clear

This interface can clear cookies from local cache regardless of whether the window is open. Cookies synchronized to the server are controlled by the `saveSynced` field, with the default being to clear both local and server-side cookies.

**Body**

<table><thead><tr><th width="179">Name</th><th width="135">Type</th><th>Description</th></tr></thead><tbody><tr><td>browserId</td><td>string</td><td>Required, browser profile's ID</td></tr><tr><td>saveSynced</td><td>boolean</td><td>Whether to retain cookies synchronized to the server from the window. The default is <code>true</code></td></tr></tbody></table>

## Format the given cookie

<mark style="color:green;">`POST`</mark> `/`browser/cookies/format

**Body**

<table><thead><tr><th width="143">Name</th><th width="134">Type</th><th>Description</th></tr></thead><tbody><tr><td>cookie</td><td>string | array</td><td>The given cookie data may be in the form of an array, string, etc.</td></tr><tr><td>hostname</td><td>number</td><td>The <code>domain</code> value of a cookie. For some cookies that do not include a <code>domain</code> value, you need to manually specify the <code>hostname</code>, for example, <code>.abc.com</code>. Most cookies do not require a specific <code>domain</code> to be set.</td></tr></tbody></table>

#### Windowbounds object

```
{
  "type": "box", // box | diagonal
  "startX": 0,
  "startY": 0,
  "width": 500,
  "height": 300,
  "col": 4,
  "spaceX": 0,
  "spaceY": 0,
  "offsetX": 50,
  "offsetY": 50
}
```

#### browserFingerPrint Object

```
{
  coreProduct: 'chrome', // chrome | firefox
  coreVersion: '126', // chromium version. options: 126 | 124 | 122 | 118 | 112 | 104
  ostype: 'PC', // PC|Android|IOS
  os: 'Win32', //  For navigator.platform values like Win32, Linux x86_64, or MacIntel, set os to iPhone when ostype is set to iOS, and set os to Linux armv81 when ostype is set to Android.
  osVersion: '', // Operating system version, when left blank, will be randomized based on the OS. If filled, it will be randomized within the provided value range. Windows options: 11|10|8|7, Android options: 13|12|11|10|9, iOS options: 17.0|16.6|16.5|16.4|16.3|16.2|16.1|16.0|15.7|15.6|15.5
  version: '', // ua version, recommended 96 or later
  userAgent: '', // leave blank to automatically gernerate
  isIpCreateTimeZone: true, // Generate time zone based on IP
  timeZone: '', // set when isIpCreateTimeZone is false
  timeZoneOffset: 0, // set when isIpCreateTimeZone is false
  webRTC: '0', //webrtc 0(replace)|1(allow)|2(disable)
  ignoreHttpsErrors: false, // true|false
  position: '1', //geoLocation 0(ask)|1(allow)|2(forbidden)
  isIpCreatePosition: true, // generate geoLocation based on IP
  lat: '', // set when isIpCreatePosition is false
  lng: '', // set when isIpCreatePosition is false
  precisionData: '', // set when isIpCreatePosition is false, meters
  isIpCreateLanguage: true, // generate language based on IP
  languages: '', // set when isIpCreateLanguage is false
  isIpCreateDisplayLanguage: false, // generate display language based on IP
  displayLanguages: '', // set when isIpCreateDisplayLanguage is false, default to blank, follow system's setting.
  openWidth: 1280, // browser window width
  openHeight: 720, // browser window height
  resolutionType: '0', // resolution type options: 0(follow system) | 1(custom)
  resolution: '1920 x 1080', // custom value
  windowSizeLimit: true, // when resolutionType is "1" and ostype is "PC", set true to limit the maximum window size to the resolution.
  devicePixelRatio: 1, // 1｜1.5|2|2.5|3
  fontType: '2', // generate font type 0(follow system)|1(custom)|2(random by service)
  font: '', // when fontType is "1" or "2", set this value
  canvas: '0', // 0(noise)｜1(disable)
  canvasValue: null, // canvas is '0', set 10000 - 1000000
  webGL: '0', // 0(noise)｜1(disable)
  webGLValue: null, // when webGL is "0", set 10000 - 1000000
  webGLMeta: '0', // 0(noise)｜1(disable)
  webGLManufacturer: '', // when webGLMeta is '0', if left blank, it will be automatically generated, refer to Appendix
  webGLRender: '', // when webGLMeta is '0', if left blank, it will be automatically generated, refer to Appendix
  audioContext: '0', // 0(noise)｜1(disable)
  audioContextValue: null, // when audioContext is '0', set 1 - 100
  mediaDevice: '0', // 0(noise)｜1(disable)
  mediaDeviceValue: null, // when mediaDevice is '0', leave blank to automatically generate
  speechVoices: '0', // 0(noise)｜1(disable)
  speechVoicesValue: null, // when speechVoices is '0', leave blank to automatically generate
  hardwareConcurrency: '4',
  deviceMemory: '8', // 2|4|8 do not greater than 8
  doNotTrack: '1', // 0(enable)｜1(disable)
  clientRectNoiseEnabled: true, // true(replace) | false(follow system)
  clientRectNoiseValue: 0, // when clientRectNoiseEnabled is true, set 1 - 999999
  portScanProtect: '0', // 0(enable)｜1(disable)
  portWhiteList: '', // portscan whitelist, separate by comma
  deviceInfoEnabled: true, // default is true
  computerName: '', // set when deviceInfoEnabled is true
  macAddr: '', // set when deviceInfoEnabled is true
  disableSslCipherSuitesFlag: false, // default is false. Note that some websites may not be accessible when customizing settings after opening
  disableSslCipherSuites: null, // ssl features, refer to Appendix
  enablePlugins: false, // default is false
  plugins: '' // set when enablePlugins is true, refer to Appendix
}
```
