# API mở

API mở của MoreLogin cung cấp giao diện RESTful toàn diện và thân thiện với nhà phát triển, cho phép bạn quản lý lập trình các cấu hình trình duyệt, điện thoại đám mây và các tài nguyên liên quan—giúp tự động hóa, mở rộng và kiểm soát liền mạch. API mở của MoreLogin chạy trên máy tính của bạn và có thể truy cập tại: https://api.morelogin.com

Version: 2026-09-05

## Servers

MoreLogin Open API endpoint
```
https://api.morelogin.com
```

## Security

### Authorization

[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [API mở](https://guide.morelogin.com/_bundle/@l10n/vi/API%20Reference/Cloud%20Phone/open-api.yaml)

## Authorization

 - [POST /oauth2/token](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/authorization/oauth2tokenpost.md): Đổi API ID và API key lấy một bearer token OAuth2. - **Điều kiện tiên quyết**: `client_id` là API ID và `client_secret` là API key. Thành viên phải đang hoạt động, và IP của bên gọi phải thỏa danh sác
 - [GET /oauth2/userinfo](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/authorization/oauth2userinfoget.md): Trả về thành viên và nhóm mà access token hiện tại thuộc về. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Dùng để**: cách tốn ít chi phí nhất để k
## Cloud Phone Management

 - [POST /cloudphone/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/pageusingpost.md): Liệt kê theo trang các cloud phone mà nhóm đã xác thực nhìn thấy. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Lưu ý**: cloud phone của mọi dịch v
 - [POST /cloudphone/link](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/createcloudphoneremotelink.md): Tạo liên kết truy cập trình duyệt tạm thời cho điện thoại đám mây (chỉ Open API). - **Điều kiện**: điện thoại phải thuộc nhóm, thành viên gọi có quyền truy cập, đã bật và không bị thành viên khác chiế
 - [POST /cloudphone/create](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/createusingpost.md): Mua và cấp phát một hoặc nhiều cloud phone. - **Điều kiện tiên quyết**: gói phải còn dung lượng và hạn mức tạo trong ngày chưa được dùng hết. `country`, `timezone` và `language` được kiểm tra theo dan
 - [POST /cloudphone/powerOn](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/poweronusingpost.md): Bật một cloud phone. - **Điều kiện tiên quyết**: cloud phone hiện phải đang tắt. Lệnh bị từ chối khi SKU đã ngừng bán hoặc đang bảo trì, khi máy bị thành viên khác chiếm giữ, khi proxy của nó còn đang
 - [POST /cloudphone/powerOff](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/poweroffusingpost.md): Tắt một cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang khởi động hoặc đang bật. Không thể tắt khi máy đang bị thành viên khác chiếm giữ, hoặc khi đang có tác vụ đổi thiết bị một cú nhấ
 - [POST /cloudphone/edit/batch](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/editbatchusingpost.md): Cập nhật cấu hình của một hoặc nhiều cloud phone. - **Điều kiện tiên quyết**: các cloud phone phải thuộc nhóm. Giá trị khu vực, ngôn ngữ và tọa độ được kiểm tra theo từng dịch vụ thiết bị, đúng như kh
 - [POST /cloudphone/setProxy](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/setproxy.md): Gán proxy cho một hoặc nhiều cloud phone. - **Điều kiện tiên quyết**: cung cấp ít nhất một trong `ids` hoặc `uniqueIds`. Các cloud phone phải thuộc nhóm của bạn; chúng **không** cần đang bật. Nếu bạn
 - [POST /cloudphone/delete/batch](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/deleteusingpost.md): Giải phóng một hoặc nhiều cloud phone. - **Điều kiện tiên quyết**: các cloud phone không được đang trong quá trình chuyển giao và nhóm không được có đơn hàng chưa thanh toán cho chúng. Máy không cần p
 - [POST /cloudphone/newMachine](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/onenewusingpost.md): Thay thế danh tính thiết bị của cloud phone ngay tại chỗ (đổi thiết bị một cú nhấp). - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Nếu bạn cung cấp thươn
 - [POST /cloudphone/info](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/infousingpost.md): Trả về toàn bộ chi tiết của một cloud phone, gồm cả tên nhóm và tên thẻ. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Dùng để**: đây là endpoint t
 - [POST /cloudphone/queryByAndroidId](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/querybyandroidid.md): Tra cứu một cloud phone theo Android ID mà thiết bị báo về. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. Cloud phone không cần đang bật. - **Trả về**:
 - [POST /cloudphone/enableRoot](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/enableroot.md): Bật hoặc tắt công tắc ROOT toàn cục của một cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Hỗ trợ trên thiết bị tương thích; với các mẫu thiế
 - [POST /cloudphone/screenCap](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/screencap.md): Chụp màn hình cloud phone và trả về một URL tải về. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Chỉ hỗ trợ trên thiết bị tương thích; các mẫu thiết bị
 - [POST /cloudphone/screenCapBase64](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/screencapbase64.md): Chụp màn hình cloud phone và trả về ảnh dạng base64 ngay trong phản hồi. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. **Chỉ hỗ trợ trên thiết bị tương t
 - [POST /cloudphone/brand/models](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/cloud-phone-management/cloudphonebrandmodelspost.md): Liệt kê các thương hiệu và dòng máy mà một SKU cloud phone hỗ trợ. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. Không có cloud phone nào tham gia. - *
## Live Streaming

 - [POST /cloudphone/live/start](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/live-streaming/startcloudphonelivestreaming.md): Bắt đầu phát trực tiếp một tệp MP4 đã tải lên trên cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ, và thiết bị phải hỗ trợ phát trực tiếp. `fi
 - [POST /cloudphone/live/status](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/live-streaming/getcloudphonelivestreamingstatus.md): Báo cho biết một cloud phone hiện có đang phát trực tiếp hay không. - **Điều kiện tiên quyết**: cloud phone phải thuộc nhóm của bạn và dịch vụ thiết bị của nó phải hỗ trợ phát trực tiếp. Khác với lệnh
 - [POST /cloudphone/live/end](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/live-streaming/stopcloudphonelivestreaming.md): Dừng phát trực tiếp trên một cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ, và dịch vụ thiết bị của máy phải hỗ trợ phát trực tiếp. **Việc có
## Account & Quotas

 - [GET /balance](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/account-and-quotas/getaccountandcloudphonequotas.md): Trả về số dư ví của nhóm và hạn mức sử dụng cloud phone. - **Điều kiện tiên quyết**: thành viên gọi cần quyền chi phí. Ví được tra cứu theo nhóm, nên các con số này là của cả nhóm chứ không phải của t
## ADB

 - [POST /cloudphone/updateAdb](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/adb/updateadbusingpost.md): Bật hoặc tắt truy cập ADB trên một hoặc nhiều cloud phone. - **Điều kiện tiên quyết**: chỉ những cloud phone có SKU hỗ trợ ADB được xét đến; nếu không máy nào trong số đã truyền đáp ứng điều kiện, lện
 - [POST /cloudphone/batchAdbInfo](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/adb/batchadbinfoopenapi.md): Lấy thông tin kết nối ADB cho tối đa 200 cloud phone. - **Điều kiện tiên quyết**: các cloud phone phải thuộc nhóm của bạn. Bạn **không** cần đang chiếm giữ chúng. Thông tin chỉ được lấy cho những máy
 - [POST /cloudphone/exeCommand](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/adb/executeshellcommand.md): Chạy một lệnh shell trên cloud phone và trả về đầu ra của nó. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. - **Tác động**: hoàn toàn do lệnh quyết định.
## Files

 - [POST /cloudphone/uploadUrl](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/files/get.md): Yêu cầu một URL đã ký trước để tải lên tệp mà cloud phone sẽ nhận. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. - **Tác động**: không có gì được lưu lại
 - [POST /cloudphone/uploadFile](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/files/fileuploadusing.md): Đăng ký một tệp đã tải lên để cloud phone tải nó xuống. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ, và **đối tượng phải đã tồn tại tại URL đó** — dịch
 - [POST /cloudphone/uploadFileResult](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/files/fileuploadresult.md): Hỏi vòng trạng thái của một lượt tải tệp lên cloud phone. - **Điều kiện tiên quyết**: cloud phone phải thuộc nhóm của bạn. Đây là endpoint về tệp ít ràng buộc nhất: nó không yêu cầu máy đang bật hay d
 - [POST /cloudphone/download](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/files/cloudphonedownloadpost.md): Tải một tệp từ cloud phone về. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. - **Tác động**: dịch vụ quét thư mục cha trước rồi mới bắt đầu truyền, nên m
 - [POST /cloudphone/download/result](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/files/cloudphonedownloadresultpost.md): Hỏi vòng trạng thái của một lượt tải tệp về từ cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Truyền `downId` mà yêu cầu tải về đã trả ra. -
 - [POST /cloudphone/setKeyBox](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/files/cloudphonesetkeyboxpost.md): Cài một chứng chỉ keybox lên cloud phone. - **Điều kiện tiên quyết**: `filePath` phải trỏ tới một tệp `.xml`, và cloud phone phải đang bật và không bị thành viên khác chiếm giữ. - **Tác động**: chuyển
## Apps

 - [POST /cloudphone/app/install](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappinstallpost.md): Cài một ứng dụng từ thư viện ứng dụng của nhóm lên cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Ứng dụng phải đã có trong thư viện của nhóm
 - [POST /cloudphone/app/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneapppagepost.md): Liệt kê các ứng dụng có thể cài lên cloud phone. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. Không có cloud phone nào tham gia, nên máy không cần đan
 - [POST /cloudphone/team/app/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneteamapppagepost.md): Liệt kê thư viện ứng dụng riêng của nhóm bạn, bao gồm cả các ứng dụng cài sẵn. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Nội dung**: đây là ngu
 - [POST /cloudphone/app/installedList](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappinstalledlistpost.md): Liệt kê các ứng dụng hiện đang được cài trên một cloud phone. - **Điều kiện tiên quyết**: cloud phone phải thuộc nhóm của bạn. Khác với phần lớn lệnh cloud phone, endpoint này **không** yêu cầu bạn đa
 - [POST /cloudphone/app/start](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappstartpost.md): Mở một ứng dụng đã cài trên cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. - **Hoàn tất**: phản hồi xác nhận lệnh đã tới dịch vụ thiết bị, kh
 - [POST /cloudphone/app/restart](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneapprestartpost.md): Khởi động lại một ứng dụng trên cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. **Việc ứng dụng đã được cài hay chưa không được kiểm tra**: mộ
 - [POST /cloudphone/app/stop](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappstoppost.md): Dừng một ứng dụng đang chạy trên cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Việc ứng dụng đã được cài hay đang chạy đều không được kiểm t
 - [POST /cloudphone/app/uninstall](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappuninstallpost.md): Gỡ một ứng dụng khỏi cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. - **Tác động**: gửi lệnh gỡ cài đặt và cập nhật bản ghi cài đặt của cloud
 - [POST /cloudphone/app/openRoot](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappopenrootpost.md): Cấp ROOT cho các package ứng dụng cụ thể trên một cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Hỗ trợ trên thiết bị tương thích; với các mẫ
 - [POST /cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/apps/cloudphoneappsethideaccessibilityapppost.md): Ẩn ứng dụng khỏi danh sách dịch vụ trợ năng của Android trên một hoặc nhiều cloud phone. - **Điều kiện tiên quyết**: từ 1 đến 100 ID cloud phone và từ 1 đến 100 tên package. Các cloud phone phải thuộc
## Schedules

 - [POST /cloudphone/rpa/template/market/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpatemplatemarketpagepost.md): Liệt kê các mẫu RPA từ chợ mẫu công khai. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. Các mẫu là toàn cục, không giới hạn theo nhóm. - **Bản địa hóa*
 - [POST /cloudphone/rpa/template/personal/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpatemplatepersonalpagepost.md): Liệt kê các mẫu RPA do nhóm của bạn tạo. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Nội dung**: một kho khác với chợ mẫu, giới hạn trong nhóm củ
 - [POST /cloudphone/rpa/task/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpataskpagepost.md): Liệt kê theo trang các lịch RPA của nhóm. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Dùng để**: `taskState` trên mỗi lịch là tín hiệu hoàn tất c
 - [POST /cloudphone/rpa/task/save](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpatasksavepost.md): Lưu tác vụ theo lịch trình điện thoại đám mây. templateParameter Parameter Specification 1. **Parameter Source** Parameter keys must be extracted from the `parameter` field returned by the following A
 - [POST /cloudphone/rpa/onceTask/save](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpaoncetasksavepost.md): Lưu ảnh chụp màn hình đám mây sau khi đã lên lịch tác vụ Thông số kỹ thuật tham số templateParameter 1. **Nguồn tham số** Các khóa tham số phải được trích xuất từ trường `parameter` được trả về bởi cá
 - [POST /cloudphone/rpa/task/cancel](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpataskcancelpost.md): Hủy một lịch RPA và mọi lượt chạy chưa kết thúc của nó. - **Điều kiện tiên quyết**: lịch phải tồn tại trong nhóm. Một lịch đã kết thúc thì không hủy được; một lịch đã hủy sẽ trả về thành công mà không
 - [POST /cloudphone/rpa/subTask/page](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpasubtaskpagepost.md): Liệt kê theo trang từng lượt chạy RPA. - **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn. - **Giá trị trạng thái**: `taskState` bằng `0` chờ, `1` đang chạy,
 - [POST /cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpasubtaskdetailidpost.md): Trả về chi tiết của một lượt chạy RPA. - **Điều kiện tiên quyết**: lượt chạy phải thuộc nhóm của bạn. Lệnh gọi thất bại nếu lượt chạy, lịch của nó, hoặc cloud phone của nó không còn tồn tại. - **Tác đ
 - [POST /cloudphone/rpa/subTask/cancel/{id}](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/schedules/cloudphonerpasubtaskcancelidpost.md): Hủy một lượt chạy RPA mà không tác động tới lịch của nó. - **Điều kiện tiên quyết**: bản ghi lượt chạy phải tồn tại trong nhóm. Một lượt đã kết thúc thì không hủy được; một lượt đã hủy sẽ trả về thành
## Touch

 - [POST /cloudphone/touch/click](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/touch/touchclick.md): Chạm vào một điểm trên màn hình cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Chỉ hỗ trợ trên Các mẫu tương thích; các mẫu thiết bị khác từ
 - [POST /cloudphone/touch/doubleClick](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/touch/touchdoubleclick.md): Chạm hai lần vào một điểm trên màn hình cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Chỉ hỗ trợ trên Các mẫu tương thích; các mẫu thiết bị
 - [POST /cloudphone/touch/longClick](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/touch/touchlongclick.md): Nhấn giữ một điểm trên màn hình cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Chỉ hỗ trợ trên Các mẫu tương thích; các mẫu thiết bị khác từ
 - [POST /cloudphone/touch/swipe](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/touch/touchswipe.md): Trượt giữa hai điểm trên màn hình cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Chỉ hỗ trợ trên Các mẫu tương thích; các mẫu thiết bị khác t
 - [POST /cloudphone/touch/drag](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/touch/touchdrag.md): Kéo giữa hai điểm trên màn hình cloud phone. - **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Chỉ hỗ trợ trên Các mẫu tương thích; các mẫu thiết bị khác từ
## Monthly Billing

 - [GET /cloudphone/monthly/skus](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/monthly-billing/listmonthlycloudphoneskus.md): Trả về các sản phẩm Cloud Phone theo tháng hiện có cho nhóm. - **Tác động**: không có; không giữ chỗ dung lượng và không trừ số dư. Chỉ đọc. - **Cách dùng**: truyền `skuId` trả về vào [`/cloudphone/cr
 - [POST /cloudphone/monthly/activate](https://guide.morelogin.com/vi/api-reference/cloud-phone/open-api/monthly-billing/activatemonthlycloudphones.md): Mua và kích hoạt từ 1 đến 10 Cloud Phone theo tháng trong 30 ngày. - **Cảnh báo tính phí**: **thao tác này thực sự trừ số dư của nhóm.** - **Quyền**: thành viên phải có quyền **Quản lý chi phí/thanh t
