# List Available Apps

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**: the public app catalogue — globally available apps plus apps published to your team. Each entry carries its versions in `appVersionList`, newest first; take `appVersionList[].id` as the `appVersionId` for `/cloudphone/app/install`.
- **Paging caveat**: results are re-sorted after the page is fetched, so ordering is stable only within a page and `total` reflects the current page rather than the whole catalogue. Use `pages` for navigation.

Endpoint: POST /api/cloudphone/app/page
Version: 2026-09-05

## Request fields (application/json):

  - `appName` (string)
    App name (partial match)

  - `pageNum` (integer)
    Page number; Default:1

  - `pageSize` (integer)
    Items per page; Default:10

## Response 200:

  - `200` (unknown)
    Success. `data.dataList` holds the apps available to your team for the requested page; each app carries its versions in `appVersionList`, newest first. `data.total` is the number of records on this page, not the overall count — use `data.pages` for paging.

## Response 200 fields (application/json):

  - `code` (integer)

  - `msg` (string | null)

  - `data` (object)

  - `data.total` (string)
    Number of records on the current page

  - `data.current` (string)
    Current page number

  - `data.pages` (string)
    Total number of pages

  - `data.dataList` (array)

  - `data.dataList.id` (string)
    App ID. This is not the value `/cloudphone/app/install` expects.

  - `data.dataList.appName` (string)
    App name

  - `data.dataList.appIcon` (string)
    App icon URL

  - `data.dataList.packageName` (string)
    Android package name

  - `data.dataList.categoryValue` (integer)
    Category ID

  - `data.dataList.sortNo` (integer)
    Sort order used by the app library

  - `data.dataList.appVersionList` (array)
    Versions of this app, ordered by `versionCode` descending (newest first)

  - `data.dataList.appVersionList.id` (string)
    App version ID. Pass this as `appVersionId` to `/cloudphone/app/install`.

  - `data.dataList.appVersionList.versionCode` (string)
    Version code

  - `data.dataList.appVersionList.versionName` (string)
    Version display name

  - `data.dataList.appVersionList.installStatus` (integer | null)
    Always null for this operation. Query installation state with `/cloudphone/app/installedList`.

  - `data.dataList.appVersionList.packageName` (string | null)
    Always null for this operation; read `packageName` from the app instead.

  - `requestId` (string)

