# Enable app ROOT

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 the call succeeds but has no effect.
- **Effect**: pushes the package allow-list to the device and, as a side effect, turns the ROOT switch on. **Nothing is stored by MoreLogin**, so the grant cannot be read back through the API.
- **Completion**: synchronous acceptance by the service. When ROOT takes effect on the device is device-specific behaviour; MoreLogin does not restart the phone.
- **Note**: there is currently no endpoint to revoke ROOT for individual packages. Use `/cloudphone/enableRoot` to turn the global switch off.

Documented business errors: `33300`, `33301`. See [Error Codes](../Getting%20Started/error-codes.md) for what each code means. Any operation can additionally return the common codes.

Endpoint: POST /cloudphone/app/openRoot
Version: 2026-09-05
Security: Authorization

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `id` (string, required)
    Cloud Phone ID
    Example: 12345678

  - `packageNames` (array, required)
    List of application package names to allow ROOT access
    Example: ["com.test"]

## Response 200:

  - `200` (unknown)
    Success. `data` is a single boolean value.

## Response 200 fields (application/json):

  - `code` (integer)
    Response code: 0 = success, >0 = error

  - `data` (boolean)

  - `msg` (string | null)
    Message; populated if code > 0

  - `requestId` (string)
    Unique request identifier; include it when contacting support

