# Get a list of browser profiles

List the browser profiles visible to the authenticated member, page by page.
- **Effect**: none. Read-only. Safe to retry with bounded backoff.
- **Filtering**: `keyword` matches profile name, remark, tag name and group name. `groupId` of `0` means ungrouped.
- **Note**: proxy passwords are withheld for ordinary members and for platform or dynamic proxies.

Endpoint: POST /api/env/page
Version: 2026-09-05

## Request fields (application/json):

  - `envName` (string)
    Filter by environment (profile) name. Empty string returns all.

  - `groupId` (string)
    Filter by group ID. Use 0 for ungrouped profiles.
    Example: 0

  - `envId` (string)
    Filter by specific environment ID.
If provided, other filters may be ignored.
    Example: 1869988538611834880

  - `pageNo` (integer)
    Page number (1-based index).
    Example: 1

  - `pageSize` (integer)
    Number of items per page.
    Example: 10

## Response 200:

  - `200` (unknown)
    Success. `data.dataList` holds the records for the requested page and is an empty array when there are no matches; `data.total`, `data.current` and `data.pages` describe the paging.

## Response 200 fields (application/json):

  - `code` (integer, required)

  - `msg` (string | null, required)

  - `data` (object, required)

  - `data.total` (string, required)

  - `data.current` (string, required)

  - `data.pages` (string, required)

  - `data.dataList` (array, required)

  - `data.dataList.id` (string)
    Browser profile ID

  - `data.dataList.envName` (string)
    Profile name

  - `data.dataList.groupId` (string)
    Group ID

  - `data.dataList.groupName` (string | null)
    Group name. `null` when the profile is ungrouped

  - `data.dataList.tagInfos` (array)
    Tag details. Empty array when no tags are assigned

  - `data.dataList.tagInfos.id` (string, required)
    Tag ID

  - `data.dataList.tagInfos.tagName` (string, required)
    Tag name

  - `data.dataList.envRemark` (string | null)
    Profile remark

  - `data.dataList.proxyId` (string)
    Proxy ID. `0` means no proxy

  - `data.dataList.proxy` (object | null)
    Proxy configuration. `null` when no proxy is assigned

  - `data.dataList.proxy.id` (string)
    Proxy ID

  - `data.dataList.proxy.proxyName` (string)
    Proxy name

  - `data.dataList.proxy.proxyType` (integer)
    Proxy type

  - `data.dataList.proxy.proxyProvider` (integer)
    Proxy type

  - `data.dataList.proxy.proxyCategoryType` (integer)
    Proxy category type

  - `data.dataList.proxy.proxyCheckStatus` (integer)
    Proxy check status

  - `data.dataList.proxy.proxyStatus` (integer)
    Proxy status

  - `data.dataList.proxy.state` (string | null)
    Proxy state or province. Uses detected exit-IP location when available, otherwise the configured location; may be null or empty.
    Example: California

  - `data.dataList.proxy.city` (string | null)
    Proxy city. Uses detected exit-IP location when available, otherwise the configured location; may be null or empty.
    Example: Los Angeles

  - `data.dataList.proxy.proxyPort` (integer | null)
    Proxy connection port, not a port inferred from the proxy name. May be null when unavailable.
    Example: 1080

  - `data.dataList.proxy.proxyIp` (string)
    Proxy IP address

  - `data.dataList.proxy.exportIp` (string)
    Export IP address

  - `data.dataList.proxy.countryCode` (string)
    Country code

  - `data.dataList.proxy.expiryTime` (string | null)
    Expiry timestamp

  - `data.dataList.proxy.username` (string)
    Proxy username

  - `data.dataList.proxy.password` (string | null)
    Proxy password

  - `data.dataList.proxy.refreshUrl` (string | null)
    Proxy refresh URL

  - `requestId` (string, required)

