# Open API

The MoreLogin Open API provides a powerful, remote RESTful interface exclusively for managing **Cloud Phones** at scale. This cloud-hosted API empowers developers to programmatically create phone instances, install apps, manage files, and orchestrate RPA schedules from anywhere, without needing a local client running.

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

 - [Open API](https://guide.morelogin.com/_bundle/API%20Reference/Cloud%20Phone/open-api.yaml)

## Authorization

 - [POST /oauth2/token](https://guide.morelogin.com/api-reference/cloud-phone/open-api/authorization/oauth2tokenpost.md): Exchange an API ID and API key for an OAuth2 bearer token. - **Preconditions**: `client_id` is the API ID and `client_secret` the API key. The member must be active, and the caller's IP must satisfy t
 - [GET /oauth2/userinfo](https://guide.morelogin.com/api-reference/cloud-phone/open-api/authorization/oauth2userinfoget.md): Return the member and team the current access token belongs to. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Use**: the cheapest way to check that a token is still valid and
## Cloud Phone Management

 - [POST /cloudphone/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/pageusingpost.md): List the Cloud Phones visible to the authenticated team, page by page. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Note**: phones of all device types are returned. Passwords
 - [POST /cloudphone/link](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/createcloudphoneremotelink.md): Create a temporary browser access link for a Cloud Phone (Open API only). - **Preconditions**: the phone must belong to your team, be accessible to the calling member, be powered on, and not be held b
 - [POST /cloudphone/create](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/createusingpost.md): Purchase and provision one or more Cloud Phones. - **Preconditions**: the plan must have remaining capacity and the daily creation quota must not be exhausted. `country`, `timezone` and `language` are
 - [POST /cloudphone/powerOn](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/poweronusingpost.md): Start a Cloud Phone. - **Preconditions**: the phone must currently be powered off. It is rejected when the SKU is delisted or under maintenance, when the phone is held by another member, while its pro
 - [POST /cloudphone/powerOff](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/poweroffusingpost.md): Stop a Cloud Phone. - **Preconditions**: the phone must be booting or powered on. It cannot be stopped while held by another member, or while a one-click new device, restart or reset is in progress. -
 - [POST /cloudphone/edit/batch](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/editbatchusingpost.md): Update the configuration of one or more Cloud Phones. - **Preconditions**: the phones must belong to the team. Region, language and coordinate values are validated for each device model, exactly as on
 - [POST /cloudphone/setProxy](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/setproxy.md): Bind a proxy to one or more Cloud Phones. - **Preconditions**: provide at least one of `ids` or `uniqueIds`. The phones must belong to your team; they do **not** need to be powered on. A supplied `pro
 - [POST /cloudphone/delete/batch](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/deleteusingpost.md): Release one or more Cloud Phones. - **Preconditions**: the phones must not be mid-transfer and the team must have no unpaid order for them. The phone does not have to be powered off. - **Effect**: the
 - [POST /cloudphone/newMachine](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/onenewusingpost.md): Replace a Cloud Phone's device identity in place (one-click new device). - **Preconditions**: the phone must be powered on and not held by another member. A supplied brand and model must be one the ph
 - [POST /cloudphone/info](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/infousingpost.md): Return the full detail of a single Cloud Phone, including group and tag names. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Use**: the primary status endpoint for asynchronou
 - [POST /cloudphone/queryByAndroidId](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/querybyandroidid.md): Look up a Cloud Phone by the Android ID reported by the device. - **Effect**: none. Read-only. Safe to retry with bounded backoff. The phone does not need to be powered on. - **Returns**: the same det
 - [POST /cloudphone/enableRoot](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/enableroot.md): Turn the global ROOT switch on or off for a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models; on incompatible models
 - [POST /cloudphone/screenCap](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/screencap.md): Capture the Cloud Phone screen and return a download URL. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models only; incompatible mod
 - [POST /cloudphone/screenCapBase64](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/screencapbase64.md): Capture the Cloud Phone screen and return the image inline as base64. - **Preconditions**: the phone must be powered on and not held by another member. **Supported on compatible device models only** —
 - [POST /cloudphone/brand/models](https://guide.morelogin.com/api-reference/cloud-phone/open-api/cloud-phone-management/cloudphonebrandmodelspost.md): List the device brands and models a Cloud Phone SKU supports. - **Effect**: none. Read-only. Safe to retry with bounded backoff. No Cloud Phone is involved. - **Use**: pick a valid `brand` and `modelI
## Live Streaming

 - [POST /cloudphone/live/start](https://guide.morelogin.com/api-reference/cloud-phone/open-api/live-streaming/startcloudphonelivestreaming.md): Start live streaming an uploaded MP4 on a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member, and the device must support live streaming. The `fileId` must r
 - [POST /cloudphone/live/status](https://guide.morelogin.com/api-reference/cloud-phone/open-api/live-streaming/getcloudphonelivestreamingstatus.md): Report whether a Cloud Phone is currently live streaming. - **Preconditions**: the phone must belong to your team and the device must support live streaming. Unlike start and stop, this does **not** r
 - [POST /cloudphone/live/end](https://guide.morelogin.com/api-reference/cloud-phone/open-api/live-streaming/stopcloudphonelivestreaming.md): Stop live streaming on a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member, and the device must support live streaming. **Whether a stream is actually runni
## Account & Quotas

 - [GET /balance](https://guide.morelogin.com/api-reference/cloud-phone/open-api/account-and-quotas/getaccountandcloudphonequotas.md): Return the team's wallet balance and Cloud Phone usage allowances. - **Preconditions**: the calling member needs the cost permission. The wallet is looked up by team, so the figures are team-wide rath
## Monthly Billing

 - [GET /cloudphone/monthly/skus](https://guide.morelogin.com/api-reference/cloud-phone/open-api/monthly-billing/listmonthlycloudphoneskus.md): Return the monthly Cloud Phone products currently available to the calling team. - **Effect**: none. The call does not reserve capacity or charge the wallet. Read-only. Safe to retry with bounded back
 - [POST /cloudphone/monthly/activate](https://guide.morelogin.com/api-reference/cloud-phone/open-api/monthly-billing/activatemonthlycloudphones.md): Purchase and activate one to ten monthly Cloud Phones for 30 days. - **Billing warning**: **this operation charges the team wallet.** - **Permission**: the calling member must have **Fees / Payment Ma
## ADB

 - [POST /cloudphone/updateAdb](https://guide.morelogin.com/api-reference/cloud-phone/open-api/adb/updateadbusingpost.md): Turn ADB access on or off for one or more Cloud Phones. - **Preconditions**: only phones whose SKU supports ADB are considered; if none of the supplied phones qualifies, the call is rejected. Phones t
 - [POST /cloudphone/batchAdbInfo](https://guide.morelogin.com/api-reference/cloud-phone/open-api/adb/batchadbinfoopenapi.md): Fetch ADB connection details for up to 200 Cloud Phones. - **Preconditions**: the phones must belong to your team. They do **not** need to be claimed by you. Details are only fetched for phones that a
 - [POST /cloudphone/exeCommand](https://guide.morelogin.com/api-reference/cloud-phone/open-api/adb/executeshellcommand.md): Run a shell command on a Cloud Phone and return its output. - **Preconditions**: the phone must be powered on and not held by another member. - **Effect**: entirely determined by the command. MoreLogi
## Files

 - [POST /cloudphone/uploadUrl](https://guide.morelogin.com/api-reference/cloud-phone/open-api/files/get.md): Request a pre-signed URL for uploading a file that a Cloud Phone will receive. - **Preconditions**: the phone must be powered on and not held by another member. - **Effect**: none is persisted — the U
 - [POST /cloudphone/uploadFile](https://guide.morelogin.com/api-reference/cloud-phone/open-api/files/fileuploadusing.md): Register an uploaded file so the Cloud Phone downloads it. - **Preconditions**: the phone must be powered on and not held by another member, and **the object must already exist at the URL** — the serv
 - [POST /cloudphone/uploadFileResult](https://guide.morelogin.com/api-reference/cloud-phone/open-api/files/fileuploadresult.md): Poll the status of a file upload to a Cloud Phone. - **Preconditions**: the phone must belong to your team. This is the least restricted file endpoint — it does not require the phone to be powered on
 - [POST /cloudphone/download](https://guide.morelogin.com/api-reference/cloud-phone/open-api/files/cloudphonedownloadpost.md): Download a file from a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. - **Effect**: the service scans the parent directory first and only then starts th
 - [POST /cloudphone/download/result](https://guide.morelogin.com/api-reference/cloud-phone/open-api/files/cloudphonedownloadresultpost.md): Poll the status of a file download from a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. Pass the `downId` returned by the download request. - **Values*
 - [POST /cloudphone/setKeyBox](https://guide.morelogin.com/api-reference/cloud-phone/open-api/files/cloudphonesetkeyboxpost.md): Install a keybox certificate on a Cloud Phone. - **Preconditions**: `filePath` must point to an `.xml` file, and the phone must be powered on and not held by another member. - **Effect**: hands the ce
## Apps

 - [POST /cloudphone/app/install](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappinstallpost.md): Install an app from the team app library onto a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. The app must already exist in the team library or the pub
 - [POST /cloudphone/app/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneapppagepost.md): List apps that can be installed on a Cloud Phone. - **Effect**: none. Read-only. Safe to retry with bounded backoff. No Cloud Phone is involved, so the phone does not need to be running. - **Contents*
 - [POST /cloudphone/team/app/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneteamapppagepost.md): List your team's own app library, including pre-installed apps. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Contents**: a different source from `/cloudphone/app/page` — thes
 - [POST /cloudphone/app/installedList](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappinstalledlistpost.md): List the apps currently installed on a Cloud Phone. - **Preconditions**: the phone must belong to your team. Unlike most Cloud Phone commands this does **not** require the phone to be claimed by you,
 - [POST /cloudphone/app/start](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappstartpost.md): Launch an installed app on a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. - **Completion**: the response confirms the command reached the service, not
 - [POST /cloudphone/app/restart](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneapprestartpost.md): Restart an app on a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. **Whether the app is installed is not checked** — a package that is absent simply doe
 - [POST /cloudphone/app/stop](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappstoppost.md): Stop a running app on a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. The app is not checked for being installed or running. - **Completion**: the resp
 - [POST /cloudphone/app/uninstall](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappuninstallpost.md): Uninstall an app from a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. - **Effect**: dispatches the uninstall and updates the installation record for th
 - [POST /cloudphone/app/openRoot](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappopenrootpost.md): Grant ROOT to specific app packages on a Cloud Phone. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models; on incompatible models th
 - [POST /cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/api-reference/cloud-phone/open-api/apps/cloudphoneappsethideaccessibilityapppost.md): Hide apps from the Android accessibility service list on one or more Cloud Phones. - **Preconditions**: 1 to 100 phone ids and 1 to 100 package names. The phones must belong to your team, but they do
## Schedules

 - [POST /cloudphone/rpa/template/market/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpatemplatemarketpagepost.md): List RPA templates from the public marketplace. - **Effect**: none. Read-only. Safe to retry with bounded backoff. Templates are global, not team-scoped. - **Localization**: titles and descriptions ar
 - [POST /cloudphone/rpa/template/personal/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpatemplatepersonalpagepost.md): List the RPA templates your team created. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Contents**: a different store from the marketplace, scoped to your team, with plain sin
 - [POST /cloudphone/rpa/task/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpataskpagepost.md): List RPA schedules for the team, page by page. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Use**: `taskState` on each schedule is the completion signal for `/cloudphone/rpa/
 - [POST /cloudphone/rpa/task/save](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpatasksavepost.md): Save cloud phone scheduled task. templateParameter Parameter Specification 1. **Parameter Source** Parameter keys must be extracted from the `parameter` field returned by the following APIs: - Get ma
 - [POST /cloudphone/rpa/onceTask/save](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpaoncetasksavepost.md): Save cloud phone once scheduled task templateParameter Parameter Specification 1. **Parameter Source** Parameter keys must be extracted from the `parameter` field returned by the following APIs: - Ge
 - [POST /cloudphone/rpa/task/cancel](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpataskcancelpost.md): Cancel an RPA schedule and every execution of it that has not finished. - **Preconditions**: the schedule must exist in the team. A finished schedule cannot be cancelled; an already cancelled one retu
 - [POST /cloudphone/rpa/subTask/page](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpasubtaskpagepost.md): List individual RPA executions, page by page. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Status values**: `taskState` is `0` waiting, `1` running, `2` queued, `3` succeeded
 - [POST /cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpasubtaskdetailidpost.md): Return the detail of a single RPA execution. - **Preconditions**: the execution must belong to your team. The call fails if the execution, its schedule, or its Cloud Phone no longer exists. - **Effect
 - [POST /cloudphone/rpa/subTask/cancel/{id}](https://guide.morelogin.com/api-reference/cloud-phone/open-api/schedules/cloudphonerpasubtaskcancelidpost.md): Cancel a single RPA execution without touching its schedule. - **Preconditions**: the execution record must exist in the team. A finished one cannot be cancelled; an already cancelled one returns succ
## Touch

 - [POST /cloudphone/touch/click](https://guide.morelogin.com/api-reference/cloud-phone/open-api/touch/touchclick.md): Tap a point on the Cloud Phone screen. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models only; incompatible models reject the call
 - [POST /cloudphone/touch/doubleClick](https://guide.morelogin.com/api-reference/cloud-phone/open-api/touch/touchdoubleclick.md): Double-tap a point on the Cloud Phone screen. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models only; incompatible models reject t
 - [POST /cloudphone/touch/longClick](https://guide.morelogin.com/api-reference/cloud-phone/open-api/touch/touchlongclick.md): Press and hold a point on the Cloud Phone screen. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models only; incompatible models reje
 - [POST /cloudphone/touch/swipe](https://guide.morelogin.com/api-reference/cloud-phone/open-api/touch/touchswipe.md): Swipe between two points on the Cloud Phone screen. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models only; incompatible models re
 - [POST /cloudphone/touch/drag](https://guide.morelogin.com/api-reference/cloud-phone/open-api/touch/touchdrag.md): Drag between two points on the Cloud Phone screen. - **Preconditions**: the phone must be powered on and not held by another member. Supported on compatible device models only; incompatible models rej
