# Cloud Phone Local API

Manage cloud phone instances through the MoreLogin Local API.

**Base URL**: `http://127.0.0.1:40000`

The Local API runs on your machine alongside the MoreLogin desktop app.
All requests must originate from the same machine.


Version: 1.0.0

## Servers

MoreLogin  Local endpoint
```
http://127.0.0.1:40000
```

## Security

## Download OpenAPI description

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

## Phone Management

### List Cloud Phone Profiles

 - [POST /api/cloudphone/page](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/pageusingpost.md)

### Create Cloud Phone

 - [POST /api/cloudphone/create](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/createusingpost.md)

### Start Cloud Phone

 - [POST /api/cloudphone/powerOn](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/poweronusingpost.md)

### Stop Cloud Phone

 - [POST /api/cloudphone/powerOff](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/poweroffusingpost.md)

### Update Cloud Phone Profile

 - [POST /api/cloudphone/edit/batch](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/editbatchusingpost.md)

### Delete Cloud Phone

 - [POST /api/cloudphone/delete/batch](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/deleteusingpost.md)

### Quick Create Cloud Phone

 - [POST /api/cloudphone/newMachine](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/onenewusingpost.md)

### Get Cloud Phone Details

 - [POST /api/cloudphone/info](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/infousingpost.md)

### List Device Brands & Models

 - [POST /api/cloudphone/brand/models](https://guide.morelogin.com/api-reference/cloud-phone/local-api/phone-management/paths/~1api~1cloudphone~1brand~1models/post.md): Query available device brands and models for a given Android version

## ADB

### Update ADB Connection Status

 - [POST /api/cloudphone/updateAdb](https://guide.morelogin.com/api-reference/cloud-phone/local-api/adb/updateadbusingpost.md)

### Batch Query ADB Info

 - [POST /api/cloudphone/batchAdbInfo](https://guide.morelogin.com/api-reference/cloud-phone/local-api/adb/batchadbinfo.md): Batch query cloud phone ADB connection info.
- The envIds list supports a maximum of 200 items
- Supports mixed queries across wuin and arm providers; the API internally groups by provider and merges results
- ADB info is only available when the phone is powered on (envStatus >= 4); it cannot be queried when powered off or booting

### Execute ADB Shell Command

 - [POST /api/cloudphone/exeCommand](https://guide.morelogin.com/api-reference/cloud-phone/local-api/adb/executeshellcommand.md)

## Files

### Upload File (Multipart)

 - [POST /api/cloudphone/uploadFile](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/fileuploadusing.md)

### Request Temporary Upload URL

 - [POST /api/cloudphone/upload/file/signedUrl](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file~1signedurl/post.md): Request a pre-signed URL for temporary file uploads. Uploaded files are automatically deleted after 7 days.

### Upload File via URL

 - [POST /api/cloudphone/upload/file](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file/post.md)

### Get File Upload Status

 - [POST /api/cloudphone/upload/file/result](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file~1result/post.md)

### Request File Download

 - [POST /api/cloudphone/download](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1download/post.md)

### Get File Download Status

 - [POST /api/cloudphone/download/result](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1download~1result/post.md)

### Configure Keybox

 - [POST /api/cloudphone/setKeyBox](https://guide.morelogin.com/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1setkeybox/post.md)

## Apps

### Install app on cloud phone

 - [POST /api/cloudphone/app/install](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1install/post.md)

### List Available Apps

 - [POST /api/cloudphone/app/page](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1page/post.md): Retrieve the paginated list of apps available in the MoreLogin App Store

### List Installed Apps

 - [POST /api/cloudphone/app/installedList](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1installedlist/post.md): Retrieve a list of apps currently installed on the specified cloud phone

### Launch App

 - [POST /api/cloudphone/app/start](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1start/post.md): Launch an installed app on the cloud phone

### Restart App

 - [POST /api/cloudphone/app/restart](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1restart/post.md)

### Stop App

 - [POST /api/cloudphone/app/stop](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1stop/post.md)

### Uninstall App

 - [POST /api/cloudphone/app/uninstall](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1uninstall/post.md)

### Configure App Accessibility Hiding

 - [POST /api/cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1sethideaccessibilityapp/post.md): Supports only Android 13,Android 14 and Android15A

## Schedules

### List Marketplace Templates

 - [POST /api/cloudphone/rpa/template/market/page](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1template~1market~1page/post.md): Search and browse RPA templates from the MoreLogin marketplace. Supports fuzzy search by template name.

### List Personal Templates

 - [POST /api/cloudphone/rpa/template/personal/page](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1template~1personal~1page/post.md): Search and browse your personal RPA templates. Supports fuzzy search by template name.

### List Schedules

 - [POST /api/cloudphone/rpa/task/page](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1task~1page/post.md)

### Create One-Time Schedule

 - [POST /api/cloudphone/rpa/onceTask/save](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1oncetask~1save/post.md): Create a one-time scheduled task for a cloud phone using a marketplace or personal RPA template.

---

### templateParameter Reference

The templateParameter field accepts a JSON-escaped string containing key-value pairs that correspond to the template's declared parameters.

#### 1. Where to find parameter keys

Retrieve the parameter field from either:
- POST /api/cloudphone/rpa/template/market/page (marketplace templates)
- POST /api/cloudphone/rpa/template/personal/page (personal templates)

#### 2. Supported value types

| Type | Example |
|------|---------|
| string | {"name": "John"} |
| number | {"amount": 100.50} |
| boolean | {"enabled": true} |
| image / video | See media format below |

#### 3. Media parameters (image / video)

Media parameters require an additional __Extra__ key containing file metadata:

json
{
  "__Extra__": {
    "pic": { "name": "photo.png", "size": 204800 },
    "video": { "name": "clip.mp4", "size": 204800000 }
  },
  "pic": "https://example.com/photo.png",
  "video": "https://example.com/clip.mp4"
}


#### 4. Step-by-step example

Step 1 — Call the marketplace template API and extract the parameter field from the response.

Step 2 — Build a JSON object with the required parameter keys and values:

json
{
  "__Extra__": {
    "videoDownloadUrl": { "name": "video.mp4", "size": 204800000 }
  },
  "videoDownloadUrl": "https://example.com/video.mp4"
}


Step 3 — Escape the JSON object into a string:


"{\"__Extra__\":{\"videoDownloadUrl\":{\"name\":\"video.mp4\",\"size\":204800000}},\"videoDownloadUrl\":\"https://example.com/video.mp4\"}"


Step 4 — Pass the escaped string as the templateParameter value in your API request.

### Cancel Schedule

 - [POST /api/cloudphone/rpa/task/cancel](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1task~1cancel/post.md)

### List Schedule Executions

 - [POST /api/cloudphone/rpa/subTask/page](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1page/post.md): Query execution records for a schedule. Supports filtering by status, time range, cloud phone, and template.

### Get Execution Details

 - [POST /api/cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1detail~1%7Bid%7D/post.md): Retrieve detailed information about a specific schedule execution record.

### Cancel Execution

 - [POST /api/cloudphone/rpa/subTask/cancel/{id}](https://guide.morelogin.com/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1cancel~1%7Bid%7D/post.md)

