### MoreLogin API Request/Response Examples (JSON) Source: https://support.morelogin.com/en/articles/10204806-browser-profile Illustrates typical request and response structures for MoreLogin API interactions. The request example shows parameters for setting an OS, and the response example details status codes, messages, and lists of languages and timezones. ```json { "os": 0 } ``` ```json { "code": 0, "msg": "", "data": { "language_list": [ { "id": "", "value": "" } ], "time_zone_list": [ { "id": "", "value": "" } ] }, "requestId": "" } ``` -------------------------------- ### Request Example: List Browser Profiles Source: https://support.morelogin.com/en/articles/10204806-browser-profile Example JSON payload for querying a list of browser profiles, with parameters for pagination and filtering. ```json { "envName": "", "groupId": 0, "envId": 0, "pageNo": 0, "pageSize": 0 } ``` -------------------------------- ### Request Example: Get Browser Profile Details Source: https://support.morelogin.com/en/articles/10204806-browser-profile Example JSON payload for requesting details of a specific browser profile using its ID. ```json { "envId": 0 } ``` -------------------------------- ### Example Request Structure Source: https://support.morelogin.com/en/articles/10204806-browser-profile An example JSON object demonstrating the structure for a browser profile request, including account information, advanced settings, startup configuration, and other browser-specific options. ```json { "accountInfo": { "customerUrl": "", "password": "", "platformId": 0, "siteId": 0, "username": "" }, "advancedSetting": { }, "afterStartupConfig": { "afterStartup": 0, "autoOpenUrls": [] }, "browserCore": 0, "cookies": "", "envName": "", "envRemark": "", "groupId": 0, "envId": 0, "proxyId": 0, "tagIds": [], "uaVersion": 0, "disableAudio": 0, "disableVideo": 0, "disableImg": 0, "imgLimitSize": 10 } ``` -------------------------------- ### Start Headless MoreLogin Service (Windows/MacOS) Source: https://support.morelogin.com/en/articles/10204639-usage-notes This snippet demonstrates how to start the MoreLogin service in headless mode using command line arguments. Ensure you are in the MoreLogin installation directory when executing these commands. The `--headless` parameter enables interface-less operation, and `--api-port` specifies the local API service port. ```windows start /WAIT MoreLogin.exe --headless=true --port=51473 ``` ```macos "/Applications/MoreLogin.app/Contents/MacOS/MoreLogin" --headless=true --port=40008 ``` -------------------------------- ### Start Browser Profile Source: https://support.morelogin.com/en/articles/10204806-browser-profile Starts a browser profile, returning its debug interface details. Requires the MoreLogin client to be running and logged in. ```APIDOC ## POST /api/env/start ### Description Used to start the profile, you need to specify the profile ID. After successful startup, you can get the profile debug interface for the execution of selenium and puppeteer automation. Selenium needs to use the Webdriver that matches the corresponding kernel version, you can get the path of the corresponding Webdriver in the return value after starting the profile. You need to update MoreLogin client to version 2.15.0 or above. **Note:** To use this interface, you need to start the MoreLogin client and successfully log in. ### Method POST ### Endpoint /api/env/start ### Parameters #### Request Body - **envId** (string) - Optional - Profile ID. Send the profile ID or the profile order number. If both are sent, the profile ID takes precedence. - **isHeadless** (boolean) - Optional - Whether to start the browser profile in headless mode. Note: Need to upgrade to V2.36.0 and above. - **uniqueId** (integer(int32)) - Optional - Profile order number. Send the profile ID or the profile order number. If both are sent, the profile ID takes precedence. - **encryptKey** (string) - Optional - Private key, mandatory when enabling end-to-end encryption in the profile. - **cdpEvasion** (boolean) - Optional - Enable CDP Feature Evasion. When enabled, this can reduce the risk of detection by platforms. Default: false. Note: Requires version V2.36.0 or above. ### Request Example ```json { "envId": "1795695767353204736", "encryptKey": "xxx" } ``` ### Response #### Success Response (200) - **code** (integer) - Return result code 0: Normal, Other codes are exceptions. - **msg** (string) - Error message. - **data** (object) - Contains profile details. - **envId** (string) - Profile ID. - **debugPort** (string) - Debug port. #### Response Example ```json { "code": 0, "msg": "", "data": { "envId": "1795695767353204736", "debugPort": "61598" } } ``` ``` -------------------------------- ### Example Request Payload for Browser Configuration Source: https://support.morelogin.com/en/articles/10204806-browser-profile An example JSON payload demonstrating how to structure a request for configuring browser settings, including account information, advanced settings, and startup configurations. ```json { "accountInfo": { "customerUrl": "", "password": "", "platformId": 0, "siteId": 0, "username": "" }, "advancedSetting": {}, "afterStartupConfig": { "afterStartup": 0, "autoOpenUrls": [] }, "browserCore": 0, "cookies": "", "envName": "", "envRemark": "", "groupId": 0, "id": 0, "proxyId": 0, "tagIds": [], "uaVersion": 0 } ``` -------------------------------- ### Start Cloud Phone Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Starts a specified cloud phone profile. Requires MoreLogin application version 2.9.0 or above. ```APIDOC ## POST /api/cloudphone/powerOn ### Description Starts the cloud phone profile. The MoreLogin application needs to be updated to version 2.9.0 and above. ### Method POST ### Endpoint /api/cloudphone/powerOn ### Parameters #### Request Body - **id** (integer) - Required - The ID of the cloud phone to be started. ### Request Example ```json { "id": 0 } ``` ### Response #### Success Response (200) - **code** (integer) - Return result code. 0 for success, others for exceptions. - **msg** (string) - Error message if any. - **requestId** (string) - Operation Request ID. #### Response Example ```json { "code": 0, "msg": "", "requestId": "" } ``` ``` -------------------------------- ### Response Example: Browser Profile Details Source: https://support.morelogin.com/en/articles/10204806-browser-profile JSON structure for the response when retrieving browser profile details, including account, advanced settings, and configuration. ```json { "code": 0, "msg": "", "data": { "accountInfo": { "customerUrl": "", "password": "", "platformId": 0, "siteId": 0, "username": "" }, "advancedSetting": {}, "afterStartupConfig": { "afterStartup": 0, "autoOpenUrls": [], "platformUrl": "" }, "browserCore": 0, "browserTypeId": 0, "cookies": "", "envName": "", "envRemark": "", "groupId": 0, "id": 0, "isEncrypt": 0, "operatorSystemId": 0, "proxyId": 0, "tagIds": [], "uaVersion": 0 }, "requestId": "" } ``` -------------------------------- ### POST /api/cloudphone/app/start Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Starts a specified application on a cloud phone. Requires the cloud phone ID and package name. ```APIDOC ## POST /api/cloudphone/app/start ### Description Start App on Cloud Phone. ### Method POST ### Endpoint /api/cloudphone/app/start ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **id** (integer(int64)) - Required - Cloud phone ID - **packageName** (string) - Required - package Name ### Request Example ```json { "id": 0, "packageName": "" } ``` ### Response #### Success Response (200) - **code** (integer) - Response code: 0 indicates success, >0 indicates failure - **data** (boolean) - Response data - **error** (object) - Error details - **ignorePrintStack** (boolean) - **msg** (string) - Response message - **stackTrace** (string) - **status** (string) - **success** (boolean) - **time** (string) #### Response Example ```json { "code": 0, "data": true, "error": { "info": [ { "code": "", "msg": "", "nested": {}, "subject": "" } ], "type": "" }, "ignorePrintStack": true, "msg": "", "stackTrace": "", "status": "", "success": true, "time": "" } ``` ``` -------------------------------- ### Set KeyBox Request Example Source: https://support.morelogin.com/en/articles/10205050-cloud-phone_h_d9debcbcc1 This is an example of a request to set the keyBox on a Cloud Phone. It requires the cloud phone ID and the file path to the keyBox configuration file. ```json { "filePath": "", "id": 0 } ``` -------------------------------- ### Headless Service Startup Source: https://support.morelogin.com/en/articles/10204639-usage-notes Instructions on how to start the MoreLogin service in headless mode, which allows for interface-less operation of the Local API. This is useful for remote control and debugging. ```APIDOC ## Headless Service Startup ### Description Starts the MoreLogin service in headless mode for interface-less operation of the Local API. ### Method Command Line ### Endpoint N/A (Command Line Execution) ### Parameters #### Command Line Parameters - **--headless** (boolean) - Required - Set to `true` to enable headless service. - **--api-port** (integer) - Required - Specifies the port for the Local API service. ### Request Example **Windows:** ```bash start /WAIT MoreLogin.exe --headless=true --port=51473 ``` **MacOS:** ```bash "/Applications/MoreLogin.app/Contents/MacOS/MoreLogin" --headless=true --port=40008 ``` ### Response **Success Response** No direct API response, but the service will start and listen on the specified port. **Response Example** N/A ``` -------------------------------- ### GET /api/system/platform/list - Get configurable platforms Source: https://support.morelogin.com/en/articles/10204806-browser-profile Retrieves a list of available platform information. Requires MoreLogin client version 2.14.0 or higher. ```APIDOC ## GET /api/system/platform/list ### Description Get available platform information. You need to update MoreLogin client to version 2.14.0 or above. ### Method GET ### Endpoint /api/system/platform/list ### Response #### Success Response (200) - **code** (integer) - Return result code: 0: Normal, other codes are exceptions. - **msg** (string) - Error message. - **data** (array) - List of platform objects. - **categoryId** (integer) - Category ID. - **groupName** (string) - Group name. - **groups** (integer) - Group identifier (0: Amazon). - **id** (integer) - Platform ID. - **isCustomer** (boolean) - Whether the platform is customized. - **logo** (string) - Platform logo URL. - **name** (string) - Platform name. - **orderNo** (integer) - Sorting number. - **sites** (array) - List of site information for the platform. - **country** (string) - Country. - **host** (string) - Site domain name. - **id** (integer) - Site ID. - **isDefault** (boolean) - Indicates if it's the default site. - **logo** (string) - Site logo URL. - **name** (string) - Site name. - **nameBak** (string) - Backup site name. - **url** (string) - Site URL. - **requestId** (string) - Operation request ID. #### Response Example ```json { "code": 0, "msg": "", "data": [ { "categoryId": 0, "groupName": "", "groups": 0, "id": 0, "isCustomer": true, "logo": "", "name": "", "orderNo": 0, "sites": [ { "country": "", "host": "", "id": 0, "isDefault": true, "logo": "", "name": "", "nameBak": "", "url": "" } ] } ], "requestId": "" } ``` ``` -------------------------------- ### Response Example: Browser Kernel Versions Source: https://support.morelogin.com/en/articles/10204806-browser-profile JSON structure for the response when listing available browser kernel versions, categorized by browser type. ```json { "code": 0, "msg": "", "data": [ { "browserType": 0, "versions": [] } ], "requestId": "" } ``` -------------------------------- ### Response Example: Browser Profile List Source: https://support.morelogin.com/en/articles/10204806-browser-profile JSON structure for the response when listing browser profiles, including pagination details and a list of profiles. ```json { "code": 0, "msg": "", "data": { "current": 0, "dataList": [ { "envName": "", "groupId": 0, "id": 0, "proxyId": 0 } ], "pages": 0, "total": 0 }, "requestId": "" } ``` -------------------------------- ### Start App Request and Response Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Defines the request and response structures for starting an application on a cloud phone. The request requires the cloud phone ID and the package name of the app. The response indicates success or failure. ```json { "id": 0, "packageName": "" } ``` ```json { "code": 0, "data": true, "error": { "info": [ { "code": "", "msg": "", "nested": {}, "subject": "" } ], "type": "" }, "ignorePrintStack": true, "msg": "", "stackTrace": "", "status": "", "success": true, "time": "" } ``` -------------------------------- ### POST /api/cloudphone/app/install Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Installs a specified application on a cloud phone. Requires the cloud phone ID and package name. ```APIDOC ## POST /api/cloudphone/app/install ### Description Install a Specified APP on a cloud phone. ### Method POST ### Endpoint /api/cloudphone/app/install ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **appVersionId** (string) - Optional - App Version ID - **id** (integer(int64)) - Required - Cloud phone ID - **packageName** (string) - Required - Package name - **versionCode** (integer(int64)) - Optional - App Version Code ### Request Example ```json { "appVersionId": "", "id": 0, "packageName": "", "versionCode": 0 } ``` ### Response #### Success Response (200) - **code** (integer) - Response code: 0 indicates success, >0 indicates failure - **data** (boolean) - Response data - **error** (object) - Error details - **ignorePrintStack** (boolean) - **msg** (string) - Response message - **stackTrace** (string) - **status** (string) - **success** (boolean) - **time** (string) #### Response Example ```json { "code": 0, "data": true, "error": { "info": [ { "code": "", "msg": "", "nested": {}, "subject": "" } ], "type": "" }, "ignorePrintStack": true, "msg": "", "stackTrace": "", "status": "", "success": true, "time": "" } ``` ``` -------------------------------- ### Install App Request and Response Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Defines the structure for installing a specified app on a cloud phone. It includes request parameters like appVersionId, id, packageName, and versionCode, and details the expected response format with success/error codes and data. ```json { "appVersionId": "", "id": 0, "packageName": "", "versionCode": 0 } ``` ```json { "code": 0, "data": true, "error": { "info": [ { "code": "", "msg": "", "nested": {}, "subject": "" } ], "type": "" }, "ignorePrintStack": true, "msg": "", "stackTrace": "", "status": "", "success": true, "time": "" } ``` -------------------------------- ### Get Configurable Platforms (GET /api/system/platform/list) Source: https://support.morelogin.com/en/articles/10204806-browser-profile Retrieves a list of available platform information, including category details, group names, and associated sites. This endpoint requires MoreLogin client version 2.14.0 or above. The response contains detailed information about each platform and its sites. ```JSON { "code": 0, "msg": "", "data": [ { "categoryId": 0, "groupName": "", "groups": 0, "id": 0, "isCustomer": true, "logo": "", "name": "", "orderNo": 0, "sites": [ { "country": "", "host": "", "id": 0, "isDefault": true, "logo": "", "name": "", "nameBak": "", "url": "" } ] } ], "requestId": "" } ``` -------------------------------- ### Get List of Installed Applications on Cloud Phone API Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Query for a list of all installed applications on a specific cloud phone. Requires the cloud phone ID as a parameter. ```bash POST /api/cloudphone/app/installedList { "id": 0 } ``` -------------------------------- ### GET /api/cloudphone/app/page Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Provides paginated queries for APP applications installed on a cloud phone. ```APIDOC ## GET /api/cloudphone/app/page ### Description Paginated Query of APP Applications. ### Method GET ### Endpoint /api/cloudphone/app/page ### Parameters #### Query Parameters - **appName** (string) - Optional - AppName (supports fuzzy search) - **pageNum** (integer(int64)) - Optional - Page Number - **pageSize** (integer(int64)) - Optional - pageSize ### Response #### Success Response (200) - **code** (integer) - Response code: 0 indicates success, >0 indicates failure - **data** (object) - Response data - **current** (integer) - **dataList** (array) - **appIcon** (string) - APP icon - **appName** (string) - APP name - **appVersionList** (array) - **id** (string) - APP version ID - **installStatus** (integer) - App install status: 0-installing, 1-installed successfully, 2-installation failed, others-not installed - **packageName** (string) - Package name - **versionCode** (string) - APP APP version code - **versionName** (string) - APP version name - **categoryValue** (integer) - Category ID - **id** (string) - APP id - **packageName** (string) - Package name - **sortNo** (integer) - Sort order number - **pages** (integer) - **total** (integer) - **error** (object) - Error details - **ignorePrintStack** (boolean) - **msg** (string) - Response message - **stackTrace** (string) - **status** (string) - **success** (boolean) - **time** (string) ``` -------------------------------- ### Configure After Startup Behavior Source: https://support.morelogin.com/en/articles/10204806-browser-profile Defines the browser's behavior after startup. 'afterStartup' controls the action (e.g., continue browsing, open specific URL), and 'autoOpenUrls' provides a list of URLs to open when specified. ```json { "afterStartupConfig": { "afterStartup": 2, // 1: Continue last, 2: Open specified URL, 3: Open specified URL and platform, 4: Continue and platform "autoOpenUrls": ["https://example.com", "https://another.com"] } } ``` -------------------------------- ### Configure Browser Startup Behavior Source: https://support.morelogin.com/en/articles/10204806-browser-profile Defines the browser's behavior after startup. 'afterStartup' controls whether to continue browsing, open a specified webpage, or open a specified webpage and platform. 'autoOpenUrls' is an array of URLs to open when specified. ```json { "afterStartupConfig": { "afterStartup": 2, // 11: Continue last, 2: Open specified, 3: Open specified + platform, 4: Continue last + platform "autoOpenUrls": ["https://example.com"] // Required if afterStartup is 2 or 3 } } ``` -------------------------------- ### Get Proxy List API Request Example Source: https://support.morelogin.com/en/articles/10205103-proxy-management Example JSON payload for the POST /api/proxyInfo/page endpoint to query proxy information. This endpoint requires MoreLogin version 2.9.0+. Parameters include filtering by ID, cloud phone proxy status, pagination, proxy type, detection status, IP, name, provider, and status. ```JSON { "id": 0, "isCloudPhoneProxy": true, "pageNo": 0, "pageSize": 0, "proxyCategoryType": 0, "proxyIp": "", "proxyName": "", "proxyProviders": [], "proxyStatus": 0, "proxyTypes": [] } ``` -------------------------------- ### Get Proxy List API Response Example Source: https://support.morelogin.com/en/articles/10205103-proxy-management Example JSON response structure for the POST /api/proxyInfo/page endpoint. It includes a status code, message, and a data object containing pagination details and a list of proxy objects. Each proxy object details its expiry, ID, type, status, IP information, name, provider, credentials, and refresh URL. Requires MoreLogin version 2.9.0+. ```JSON { "code": 0, "msg": "", "data": { "current": 0, "dataList": [ { "expiryTime": 0, "id": 0, "proxyCategoryType": 0, "proxyCheckStatus": 0, "proxyIp": "", "exportIp": "161.159.211.131", "countryCode": "US", "proxyName": "", "proxyProvider": 0, "proxyType": 0, "username":"XXX", "password":"xxx", "refreshUrl":"https://xxx" } ], "pages": 0, "total": 0 }, "requestId": "" } ``` -------------------------------- ### Get Paginated List of Apps on Cloud Phone API Source: https://support.morelogin.com/en/articles/10205050-cloud-phone Retrieve a paginated list of applications installed on the cloud phone. Supports fuzzy searching by application name and pagination parameters like page number and page size. ```bash GET /api/cloudphone/app/page?appName=example&pageNum=1&pageSize=10 ``` -------------------------------- ### Configure WebGPU Rendering Options Source: https://support.morelogin.com/en/articles/10204806-browser-profile Sets WebGPU rendering options, including WebGL-based matching, enabling it, or disabling it entirely. ```json { "web_gpu": { "switcher": 11 // 11: WebGL-based matching, 2: true, 3: disabled } } ``` -------------------------------- ### Create and Configure Profile Source: https://support.morelogin.com/en/articles/10204806-browser-profile This endpoint allows for the creation and detailed configuration of user profiles, including account information, advanced settings, and startup parameters. ```APIDOC ## POST /api/profiles ### Description Creates a new user profile with specified configuration parameters. Supports detailed customization of account information, advanced settings, and startup behavior. ### Method POST ### Endpoint /api/profiles ### Parameters #### Request Body - **envId** (integer(int64)) - Required - Profile ID - **envName** (string) - Optional - Profile name, length limit of 100 characters - **accountInfo** (object) - Optional - Profile account information - **platformId** (integer(int64)) - Required - Platform ID (9999 for customized platforms) - **customerUrl** (string) - Optional - Customized platform URL (required if platformId is 9999) - **username** (string) - Optional - User name, length limit 64 characters - **password** (string) - Optional - Password, length limit 50 characters - **otpSecret** (string) - Optional - 2FA key - **siteId** (integer(int64)) - Optional - Site ID - **advancedSetting** (object) - Optional - Advanced setting - **ua** (string) - Optional - Customize the profile UA - **time_zone** (object) - Optional - Timezone configuration - **switcher** (integer) - Optional - Timezone option (11: Match IP, 2: Custom) - **value** (string) - Optional - Time zone ID (required when switcher is 2) - **web_rtc** (object) - Optional - WebRTC configuration - **switcher** (integer) - Optional - WebRTC option (1: Privacy, 2: Replacement, 3: Real, 4: Disabled, 5: Forwarding) - **geo_location** (object) - Optional - Geographical location configuration - **switcher** (integer) - Optional - Geographical location option (1: Inquiry, 2: Disabled) - **base_on_ip** (boolean) - Optional - Whether to generate based on IP (default: true) - **latitude** (float) - Optional - Latitude (mandatory if not based on IP) - **longitude** (float) - Optional - Longitude (mandatory if not based on IP) - **accuracy** (float) - Optional - Accuracy in meters (mandatory if not based on IP) - **resolution** (object) - Optional - Resolution configuration - **font** (object) - Optional - Font configuration - **canvas** (object) - Optional - Canvas configuration - **webgl_image** (object) - Optional - WebGL image configuration - **webgl_metadata** (object) - Optional - WebGL metadata configuration - **audio_context** (object) - Optional - AudioContext configuration - **media_device** (object) - Optional - Media device configuration - **client_rects** (object) - Optional - ClientRects configuration - **speech_voise** (object) - Optional - SpeechVoices configuration - **hardware_concurrency** (integer) - Optional - Hardware concurrency (default: 40) - **memery_device** (integer) - Optional - Device memory (default: 80) - **do_not_track** (integer) - Optional - Do Not Track (2: on, 1: off) - **bluetooth** (object) - Optional - Bluetooth configuration - **battery** (object) - Optional - Battery configuration - **port_scan_protectio** (object) - Optional - Port scan protection configuration - **os_version** (string) - Optional - MacOS system version - **web_gpu** (object) - Optional - WebGPU configuration - **afterStartupConfig** (object) - Optional - Related configurations after profile start - **browserCore** (integer(int32)) - Optional - Kernel version number (default: 0 - Auto match) - **cookies** (string) - Optional - Cookie string - **envRemark** (string) - Optional - Profile remarks, length limit 1500 characters - **groupId** (integer(int64)) - Optional - Profile group ID (default: 0 - not grouped) - **isEncrypt** (integer(int32)) - Optional - Whether to enable "End-to-End" Encryption (0: off, 1: on, default 0) - **proxyId** (integer(int64)) - Optional - Proxy ID (default: 0) - **tagIds** (array) - Optional - Tag IDs - **uaVersion** (integer(int32)) - Optional - UA version (default: 0 - all) - **startupParams** (array) - Optional - Profile startup parameters - **disableAudio** (integer(int32)) - Optional - Disable audio playback (0: off, 1: on, default 0) - **disableVideo** (integer(int32)) - Optional - Disable video loading (0: off, 1: on, default 0) - **disableImg** (integer(int32)) - Optional - Disable image loading (0: off, 1: on, default 0) - **imgLimitSize** (integer(int32)) - Optional - Image limit size (default: 10kb) - **ciphers** (object) - Optional - Disable TLS protocol ### Request Example ```json { "envId": 12345, "envName": "My Test Profile", "accountInfo": { "platformId": 9999, "customerUrl": "https://example.com", "username": "testuser" }, "advancedSetting": { "time_zone": { "switcher": 2, "value": "America/New_York" }, "geo_location": { "switcher": 1, "base_on_ip": false, "latitude": 40.7128, "longitude": -74.0060, "accuracy": 100 } }, "browserCore": 1, "proxyId": 500, "tagIds": [1, 2, 3] } ``` ### Response #### Success Response (200) - **message** (string) - Success message - **profileId** (integer) - The ID of the created profile #### Response Example ```json { "message": "Profile created successfully", "profileId": 67890 } ``` ``` -------------------------------- ### Request Example: Delete Profile Data Source: https://support.morelogin.com/en/articles/10204806-browser-profile Example JSON payload for deleting profile data, including an option to remove associated profiles. ```json { "envIds": [] "removeEnvData": true } ``` -------------------------------- ### Retrieve Installed Applications List API Source: https://support.morelogin.com/en/articles/10205050-cloud-phone_h_d9debcbcc1 Queries for a list of all installed applications on a specific cloud phone. Requires the cloud phone ID in the request body. ```JSON { "id": 0 } ``` -------------------------------- ### Configure WebGPU Settings Source: https://support.morelogin.com/en/articles/10204806-browser-profile Sets WebGPU rendering options. The 'switcher' parameter offers choices: 'WebGL-based matching' (1), 'true' (2), or 'disabled' (3). ```json { "web_gpu": { "switcher": 2 // 1: WebGL-based matching, 2: true, 3: disabled } } ``` -------------------------------- ### Stop App Request Example Source: https://support.morelogin.com/en/articles/10205050-cloud-phone_h_d9debcbcc1 This is an example of a request to stop an application process on a Cloud Phone. It requires the cloud phone ID and the package name of the app to be stopped. ```json { "id": 0, "packageName": "" } ``` -------------------------------- ### POST /api/profiles Source: https://support.morelogin.com/en/articles/10204806-browser-profile Creates a new user profile with specified browser, OS, account, and advanced settings. ```APIDOC ## POST /api/profiles ### Description Creates a new user profile with specified browser, OS, account, and advanced settings. ### Method POST ### Endpoint /api/profiles ### Parameters #### Request Body - **browserTypeId** (integer) - YES - Browser type 1: Chrome, 2: Firefox - **operatorSystemId** (integer) - YES - Operating system type 1: Windows, 2: macOS, 3: Android, 4: IOS - **envName** (string) - NO - Profile name, length limit 100 characters - **accountInfo** (object) - NO - Profile account information - **platformId** (integer) - YES - Platform ID. 9999 for customized platforms. Other IDs can be obtained via 'get configurable platforms' interface. - **customerUrl** (string) - NO - Customized platform URL. Required when platformId is 9999. Must be a valid URL. - **username** (string) - NO - Username, length limit 64 characters. - **password** (string) - NO - Password, length limit 50 characters. - **otpSecret** (string) - NO - 2FA key for generating secondary verification codes. - **siteId** (integer) - NO - Site ID. Available via 'get configurable platform' interface. - **advancedSetting** (object) - NO - Advanced settings for the profile. - **ua** (string) - NO - Custom User Agent string. Format should follow standard specifications. Available via 'get browser UA' interface. - **time_zone** (object) - NO - Timezone settings. - **switcher** (integer) - NO - Timezone option: 1 for Match IP, 2 for Custom. Default is 1. - **value** (string) - NO - Timezone ID. Mandatory when switcher is 2. Obtainable via 'get timezone language list' interface. - **web_rtc** (object) - NO - WebRTC settings. - **switcher** (integer) - NO - WebRTC option: 1 for Privacy, 2 for Replacement, 3 for Real, 4 for Disabled, 5 for Forwarding. Default is 2. - **geo_location** (object) - NO - Geographical location settings. - **switcher** (integer) - NO - Geographical location option: 1 for Inquiry, 2 for Disabled. Default is 1. - **base_on_ip** (boolean) - NO - Whether to generate location based on IP. Default is true. - **latitude** (float) - NO - Latitude. Mandatory when generating location without IP. - **mobile_device** (integer) - NO - Phone model ID. Obtainable via 'Get Phone Model List' API. - **afterStartupConfig** (object) - NO - Configuration after profile startup. - **browserCore** (integer) - NO - Browser core version number. Default: 0 (Auto Match). Available via 'get browser kernel version' interface. - **cookies** (string) - NO - Cookie string. - **envRemark** (string) - NO - Profile remarks, length limit 1500 characters. - **groupId** (integer) - NO - Profile group ID. Default: 0 (ungrouped). Minimum value: 0. Required in group authorization mode if user lacks 'All profiles' permission. - **isEncrypt** (integer) - NO - Enable 'End-to-End Encryption'. 0: off, 1: on. Default: 0. - **proxyId** (integer) - NO - Proxy ID. Default: 0. Minimum value: 0. - **tagIds** (array) - NO - Array of tag IDs. - **uaVersion** (integer) - NO - UA version. Default: 0 (all). Available via 'Get a list of browser kernel versions' interface. - **startupParams** (array) - NO - Profile startup parameters. Refer to 'Parameter Documentation'. - **disableAudio** (integer) - NO - Disable audio playback. 0: off, 1: on. Default: 0. - **disableVideo** (integer) - NO - Disable video loading. 0: off, 1: on. Default: 0. - **disableImg** (integer) - NO - Disable image loading. 0: off, 1: on. Default: 0. - **imgLimitSize** (integer) - NO - Image limit size. Default: 10kb. ### Request Example ```json { "browserTypeId": 1, "operatorSystemId": 1, "envName": "My Chrome Profile", "accountInfo": { "platformId": 101, "username": "testuser", "password": "password123" }, "advancedSetting": { "time_zone": { "switcher": 2, "value": "America/New_York" }, "geo_location": { "switcher": 1, "base_on_ip": false, "latitude": 34.0522 } } } ``` ### Response #### Success Response (200) - **profileId** (integer) - The unique identifier for the newly created profile. - **message** (string) - A confirmation message indicating successful profile creation. #### Response Example ```json { "profileId": 12345, "message": "Profile created successfully." } ``` ``` -------------------------------- ### GET /api/envtag/all - Get a list of tags Source: https://support.morelogin.com/en/articles/10205121-tag-management Queries and returns a list of all available tags. Each tag includes its ID and name. This functionality requires MoreLogin application version 2.14.0 or above. ```APIDOC ## GET /api/envtag/all ### Description Queries tag information. Tag information includes tag ID and tag name, where tag ID is used to set tags for the profile. Requires MoreLogin application version 2.14.0 and above. ### Method GET ### Endpoint /api/envtag/all ### Parameters None ### Request Example None ### Response #### Success Response (200) - **code** (integer) - Return result code 0: Normal, other codes are exceptions. - **msg** (string) - Error message. - **data** (array) - An array of tag objects, each containing: - **id** (integer) - ID of the tag. - **tagName** (string) - Name of the tag. - **requestId** (string) - Operation Request ID. #### Response Example ```json { "code": 0, "msg": "", "data": [ { "id": 0, "tagName": "" } ], "requestId": "" } ``` ``` -------------------------------- ### Quick Create Browser Profile Source: https://support.morelogin.com/en/articles/10204806-browser-profile Quickly creates browser profiles with specified browser, OS, and quantity. Returns an array of profile IDs upon successful creation. Requires MoreLogin client version 2.14.0 or above. ```APIDOC ## POST /api/env/create/quick ### Description Quickly create profiles with support for setting the profiles' browser, operating system, and the number of profiles to create. Returns the profile ID after successful creation. You need to update the MoreLogin client to version 2.14.0 or above. **Note:** To use this interface, you need to start the MoreLogin client and successfully log in. ### Method POST ### Endpoint /api/env/create/quick ### Parameters #### Request Body - **browserTypeId** (integer(int32)) - Yes - Browser type: 1: Chrome, 2: Firefox - **operatorSystemId** (integer(int32)) - Yes - Operating system type: 1: Windows, 2: macOS, 3: Android, 4: IOS - **quantity** (integer(int32)) - Yes - Number of profiles created, numerical range: [1-50] - **browserCore** (integer(int32)) - Optional - Kernel version number, default: 0 - Auto Match. Available kernel versions can be obtained through the “get browser kernel version” interface. - **groupId** (integer(int64)) - Optional - Profile group ID, default: ungrouped -0. Note: In grouped authorization mode, this field is required if you do not have “All Profiles” permission. - **isEncrypt** (integer(int32)) - Optional - Whether to enable “End-to-End Encryption": 0: off, 1: on, default 0. ### Request Example ```json { "browserTypeId": 0, "groupId": 0, "isEncrypt": 0, "operatorSystemId": 0, "quantity": 0 } ``` ### Response #### Success Response (200) - **code** (integer) - Return result code 0: Normal, Other codes are exceptions. - **msg** (string) - Error message. - **data** (array) - Array of profile IDs. - **requestId** (string) - Operation request ID. #### Response Example ```json { "code": 0, "msg": "", "data": [ 1, 2, 3 ], "requestId": "" } ``` ``` -------------------------------- ### Example Request Body (Array of IDs) Source: https://support.morelogin.com/en/articles/10205103-proxy-management This snippet shows an example of the request body format for deleting proxy IDs. It is an array of numerical IDs. Bulk deletion is supported for IDs that have not expired. ```json [1054661322597744600,1054661322597744601] ``` -------------------------------- ### Start Browser Profile API Source: https://support.morelogin.com/en/articles/10204806-browser-profile Initiates a browser profile instance, enabling automation with Selenium or Puppeteer. Requires a valid profile ID and an updated MoreLogin client (v2.15.0+). It returns the debug port for automation and the path to the matching WebDriver. The client must be running and logged in. ```http POST /api/env/start { "envId": "1795695767353204736", "encryptKey": "xxx" } ``` -------------------------------- ### Configure Client Rects Rendering Options Source: https://support.morelogin.com/en/articles/10204806-browser-profile Configures the Client Rects rendering mode, choosing between 'Noise' and 'Real'. ```json { "client_rects": { "switcher": 11 // 11: Noise, 2: Real } } ```