# Open API

通过 MoreLogin Open API 远程管理 MoreLogin 浏览器和云端浏览器运行实例。
**Base URL**：`https://api.morelogin.com`
Open API 管理的浏览器与 Local API 相同，但不需要 MoreLogin 桌面客户端。由于不涉及本地客户端，Open API 无法在你自己的机器上启动浏览器；它可以把浏览器作为运行在 MoreLogin 基础设施上的**云端运行实例**启动，并通过 Chrome DevTools Protocol（CDP）驱动。
| 能力 | Local API | Open API |
| --- | --- | --- |
| 管理浏览器、代理、分组、标签 | 支持 | 支持 |
| 在自己的机器上启动浏览器 | 支持 | 不支持 |
| 在 MoreLogin 云端启动浏览器 | 支持 | 支持 |
**ID 编码**：MoreLogin 的 ID 在服务端是 64 位整数，但在 JSON 中序列化为十进制字符串，以避免 JavaScript 精度丢失。发送和读取时都请当作字符串处理。
认证使用 OAuth2 Bearer Token，详见 [Authentication](../Getting%20Started/authentication.md)。

Version: 2026-09-05

## Servers

[object Object]
```
https://api.morelogin.com
```

## Security

### OpenApiBearer

[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [Open API](https://guide.morelogin.com/_bundle/@l10n/zh/API%20Reference/Browser/open-api.yaml)

## Profiles

 - [POST /env/create/quick](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/quickcreatebrowserprofileopenapi.md): 批量创建 1 到 200 个配置相同的浏览器。 - **前置条件**：团队套餐必须有足够的剩余浏览器额度，且当日创建配额未用尽。`isEncrypt=1` 要求团队已配置加密密钥。Firefox 仅在 Windows 与 macOS 上可用。`groupId` 必须已存在，但改传 `groupName` 会自动创建分组。 - **副作用**：写入浏览器，消耗套餐额度并递增当日创建计数。传入代理连接
 - [POST /env/create/advanced](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/advancedcreatebrowserprofileopenapi.md): 创建一个浏览器，并指定完整的指纹配置。 - **前置条件**：与快速创建相同的套餐额度与当日配额校验。浏览器名称在团队内必须唯一，坐标必须落在中国大陆以外，且 `advancedSetting.ua` 必须与 `uaVersion` 一致。传入的 `proxyId` 必须已存在于团队中。 - **副作用**：写入浏览器、其账号凭据（加密存储）和启动后配置；消耗套餐额度与当日创建计数。自定义平台 U
 - [POST /env/update](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/updatebrowserprofileopenapi.md): 更新已有的浏览器。只修改请求中出现的字段。 - **前置条件**：浏览器必须存在于团队中。端到端加密的浏览器不可更新。操作系统与浏览器类型不可更改。运行中的浏览器可以更新。 - **副作用**：写入浏览器主记录、其扩展设置与 Cookie，并合并高级指纹设置（未被覆盖的已有值保留）。 - **完成信号**：同步。 - **重试**：相同请求体可安全重复。注意没有乐观锁：对同一浏览器的并发更新是后写
 - [POST /env/page](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/listbrowserprofilesopenapi.md): 分页列出当前认证成员可见的浏览器。 - **副作用**：无。只读。可带退避安全重试。 - **筛选**：`keyword` 匹配浏览器名称、备注、标签名与分组名。`groupId` 为 `0` 表示未分组。 - **说明**：普通成员、以及平台代理和动态代理的密码不会返回。 - **分页**：从 1 开始。无结果时 `dataList` 为空数组。
 - [POST /env/detail](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/getbrowserprofiledetailopenapi.md): 返回单个浏览器的完整配置，含高级指纹设置与 Cookie。 - **前置条件**：浏览器必须存在于团队中，且调用者对它有权限。 - **副作用**：无。只读。可带退避安全重试。 - **说明**：账号密码与两步验证密钥只对团队所有者返回，或在该浏览器未配置为隐藏它们时返回。
 - [POST /env/removeToRecycleBin/batch](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/batchremovebrowserprofilesopenapi.md): 把一个或多个浏览器移入回收站。 - **前置条件**：浏览器不能已在回收站中，不能正在运行，也不能处于转移中。请先关闭浏览器。 - **副作用**：软删除。数据行、指纹和云端缓存都保留，浏览器被标记为已回收并记录时间戳。套餐额度立即释放，但当日创建计数不会退回。 - **完成信号**：同步。 - **恢复**：从回收站恢复的能力未在接口层开放——请使用 MoreLogin 客户端或网页控制台。 -
 - [POST /env/lock/query](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/querybrowserprofilelockopenapi.md): 查询浏览器当前是否被其他团队成员占用。 - **副作用**：无。只读。可带退避安全重试。 - **语义**：返回 `true` 需同时满足——团队启用了安全锁功能、锁存在、且持有者不是调用者本人。锁按成员持有并带过期时间，因此它可能自行失效。
 - [POST /env/setGroup/batch](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/batchsetbrowserprofilegroupopenapi.md): 按分组名称把浏览器移入分组。 - **前置条件**：`envIds` 与 `uniqueIds` 至少提供一个；`groupName` 必填且不超过 50 字符。本接口无法清除浏览器的分组。 - **副作用**：分组名不存在时会自动创建，这会**计入团队 1000 个分组的上限**，达到上限后调用失败。一个浏览器只属于一个分组，因此原分组会被替换。当团队按分组授权时，这里新建的分组也会授权给你。
 - [POST /env/setProxy/batch](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/batchsetbrowserprofileproxyopenapi.md): 为多个浏览器绑定代理。 - **前置条件**：`envIds` 与 `uniqueIds` 至少提供一个。传入的 `proxyId` 必须已存在于团队中，否则调用被拒绝而不是自动创建。 - **副作用**：在每个浏览器上写入 `proxyId`。当 `proxyId` 省略或为 `0` 时，会复用连接信息完全相同的已有代理；**若没有匹配项，则在调用方团队中新建一条代理记录**。 - **完成信号
 - [POST /env/setRemark/batch](https://guide.morelogin.com/zh/api-reference/browser/open-api/profiles/batchsetbrowserprofileremarkopenapi.md): 批量设置浏览器备注。传空字符串表示清除备注。 - **前置条件**：`envIds` 与 `uniqueIds` 至少提供一个；调用者对每个浏览器都要有权限。 - **副作用**：只写备注字段。 - **完成信号**：同步，相同请求体完全幂等。
## Cloud Runtime

 - [POST /cloudbrowser/start](https://guide.morelogin.com/zh/api-reference/browser/open-api/cloud-runtime/startcloudruntimeopenapi.md): 把浏览器环境作为云运行时启动。 - **前置条件**：环境必须存在于你的团队，且不能是端到端加密或正在移交。**必须绑定代理**，且在受理启动前会检查其可达性。浏览器内核必须是云浏览器支持的，这排除了 Firefox。会校验团队的打开数量上限；在启用云浏览器计费的部署上还会检查 AI 额度余额。 - **每个环境一个运行**：一名成员对同一环境只能持有一个活跃运行。团队启用安全锁时，其他成员的运行
 - [POST /cloudbrowser/stop](https://guide.morelogin.com/zh/api-reference/browser/open-api/cloud-runtime/stopcloudruntimeopenapi.md): 停止浏览器所在的云端运行实例。 - **前置条件**：该浏览器必须有一个由你启动的进行中运行实例。若实例已停止或正在释放，调用成功但不做任何事。 - **副作用**：停止计费、结算用量、释放浏览器占用锁，并在释放实例前让客户端把 profile 和 Cookie 归档回云端。 - **完成信号**：**已受理，未完成。** 请轮询 `/cloudbrowser/page` 直到 `cloudBro
 - [POST /cloudbrowser/page](https://guide.morelogin.com/zh/api-reference/browser/open-api/cloud-runtime/pagecloudruntimesopenapi.md): 列出浏览器，并附带调用成员的云端运行实例状态。 - **副作用**：无。只读。可带退避安全重试。 - **状态取值**：`cloudBrowserStatus` 只有 `STARTING`、`RUNNING`、`CLOSED` 三种。**`RUNNING` 不代表浏览器可用**——正在停止、正在归档、以及停止失败的实例也报 `RUNNING`。要区分它们请看 `cloudBrowserArchiv
 - [POST /cloudbrowser/connect](https://guide.morelogin.com/zh/api-reference/browser/open-api/cloud-runtime/connectcloudruntimeopenapi.md): 返回运行中云端实例的连接信息。 - **前置条件**：运行实例必须**恰好处于** `RUNNING` 状态，且必须由你本人启动。正在停止或归档中的实例会被拒绝，即使 `/cloudbrowser/page` 仍显示 `RUNNING`。 - **副作用**：签发一个新的桌面访问令牌，并把你记录为当前连接成员。 - **重复调用**：返回的 `cdpUrl` 保持不变，已有的 CDP 会话继续可用
## Fingerprint & Device Config

 - [POST /env/advanced/ua/versions](https://guide.morelogin.com/zh/api-reference/browser/open-api/fingerprint-and-device-config/listkernelversionsopenapi.md): 返回已发布的浏览器内核与 User-Agent 主版本号。 - **副作用**：无。只读。可带退避安全重试。 - **返回内容**：Open API 面只返回已发布的内核，而 Local API 面会按运行中的客户端版本过滤，因此两个面返回的集合可能不同。该列表会随新内核发布而变化。 - **说明**：上游失败时返回空列表而不是报错，所以空结果应视为不确定，而非「没有内核」。 - **Open A
 - [POST /env/advanced/ua/get](https://guide.morelogin.com/zh/api-reference/browser/open-api/fingerprint-and-device-config/getuseragentopenapi.md): 生成与请求的操作系统和浏览器类型匹配的 User-Agent。 - **前置条件**：Firefox 只能配 Windows 或 macOS，且 `osVersion` 必须是受支持的版本之一。 - **副作用**：无，但**结果不是确定性的**——同样的请求每次返回不同的 User-Agent。不要把它当缓存键。 - **完成信号**：同步。可安全重试。 - **Open API**：只使用已发
 - [POST /env/base/resolution/list](https://guide.morelogin.com/zh/api-reference/browser/open-api/fingerprint-and-device-config/listresolutionsopenapi.md): 返回某个 User-Agent 或操作系统下可用的屏幕分辨率。 - **副作用**：无。只读。可带退避安全重试。 - **返回内容**：由指纹基础数据服务提供，因此该列表会随那份数据的更新而变化。
 - [POST /env/base/list](https://guide.morelogin.com/zh/api-reference/browser/open-api/fingerprint-and-device-config/listtimezonesandlanguagesopenapi.md): 返回浏览器可用的时区与语言。 - **副作用**：无。只读。可带退避安全重试。 - **说明**：当前响应与请求体无关——服务并未把请求中的操作系统或语言透传给下游，因此无论传什么参数，返回的都是同一份列表。
 - [POST /env/base/mobile/devices](https://guide.morelogin.com/zh/api-reference/browser/open-api/fingerprint-and-device-config/listmobiledevicesopenapi.md): 返回 Android 与 iOS 浏览器可用的移动设备机型。 - **副作用**：无。只读。可带退避安全重试。 - **返回内容**：MoreLogin 机型表与指纹基础数据服务的交集。只存在于其中一方的机型会被忽略，且返回的 `id` 属于指纹服务，不是机型表的主键。
 - [POST /env/fingerprint/refresh](https://guide.morelogin.com/zh/api-reference/browser/open-api/fingerprint-and-device-config/refreshfingerprintopenapi.md): 重新生成浏览器的指纹。 - **前置条件**：用 `envId` 或 `uniqueId` 指定浏览器。加密浏览器会被拒绝。运行中的浏览器不会被阻止，但新指纹从下次启动才开始生效。 - **副作用**：生成一套新指纹，随机化主机名与 MAC 地址，并重新匹配浏览器内核。请求中显式给出的值优先于生成值。 - **完成信号**：同步。 - **重试**：**绝对不要自动重试。** 每次调用都会产生一套
## Cache

 - [POST /env/cache/cleanCloud](https://guide.morelogin.com/zh/api-reference/browser/open-api/cache/cleancloudcacheopenapi.md): 清除浏览器的云端缓存。 - **前置条件**：用 `envId` 或 `uniqueId` 指定浏览器，至少选择一类缓存，且该浏览器不能处于转移中。本地客户端缓存不受影响。 - **副作用**：清除常规类会移除云端 LocalStorage、IndexedDB 和扩展数据，解除该浏览器的扩展绑定，并**重置 profile 加密类型**；清除 Cookie 会重置 Cookie 加密类型。两项变更
