---
title: "List App versions"
method: GET
path: "/v1/enterprise/{enterprise_id}/application/{application_id}/version/"
tags: ["esper_cloud_api_Application V1"]
---

# List App versions

`GET /v1/enterprise/{enterprise_id}/application/{application_id}/version/`

Lists all versions of a specific application using the V1 schema, which includes direct file and icon URLs, release date, and file size.

Returns a paginated AppVersionV1 collection for the specified application, with the same filter set as the base version list plus timestamp filters. Unlike the base version endpoint, results include app_file (direct APK download URL), app_icon (icon URL), size_in_mb, and release_date. 

**About List App Versions (V1)**

The V1 version list returns the same logical set of version records as GET .../application/{application_id}/version/ but uses the AppVersionV1 schema, which surfaces additional fields that are absent from the base AppVersion schema: a direct download URL for the APK (app_file), an icon URL (app_icon), the file size in megabytes (size_in_mb), and a release_date timestamp. Use the V1 endpoint when your integration needs to display or verify file-level metadata without making additional requests. Note that release_track and target_sdk_version, present in the base schema, are not returned by AppVersionV1.

**Key Query Parameters**

version_code — filter by version code string

build_number — filter by build number

is_g_play — true returns versions sourced from the Console Google Play Store

approval_status — filter by AVAILABLE, ACCEPTED, APPROVED, or REJECTED

is_enabled — filter for enabled versions

is_default — filter for the default version

created_on_gt / created_on_lt / updated_on_gt / updated_on_lt — timestamp range filters

ordering — sort by installed_count (ascending) or -installed_count (descending)

**Common Use Cases**

List versions when your integration needs direct APK download URLs or icon URLs without a separate lookup.

Retrieve size_in_mb to estimate storage requirements before deploying a version to a fleet.

Use timestamp filters for incremental sync **Workflow**s that track newly uploaded or updated versions.

**Best Practices**

Prefer the V1 endpoint over the base version list when you need app_file, app_icon, or size_in_mb — it avoids redundant per-version detail calls.

Note that release_track and target_sdk_version are not available in the V1 schema; use the base version endpoint if those fields are required.

Filter by approval_status=APPROVED and is_enabled=true to limit results to deployment-ready versions.

**Workflow**

Call this endpoint with the target application_id and relevant filters.

Use app_file and app_icon URLs directly in your integration for display or download.

Record version_id values for use in install commands or V1 version detail lookups.

## Path parameters

- `application_id` string, uuid, required
- `enterprise_id` string, required

## Query parameters

- `version_code` string
- `build_number` string
- `is_g_play` boolean
- `approval_status` 'AVAILABLE' | 'ACCEPTED' | 'APPROVED' | 'REJECTED'
- `is_enabled` boolean
- `is_default` boolean
- `created_on_gt` string, datetime
- `created_on_lt` string, datetime
- `updated_on_gt` string, datetime
- `updated_on_lt` string, datetime
- `limit` integer
- `offset` integer
- `ordering` string

## Response `200`

successful operation

- object
  - `count` integer, required
  - `next` string, url, nullable
  - `previous` string, url, nullable
  - `results` EsperCloudApiAppVersionV1[], required
    - `id` string, uuid
    - `installed_count` integer
    - `is_g_play` boolean
    - `app_file` string, url, nullable
    - `app_icon` string, url, nullable
    - `version_code` string, nullable, required
    - `build_number` string, nullable
    - `min_sdk_version` string, nullable
    - `enterprise` string, url, required
    - `application` string, url
    - `release_name` string, nullable
    - `release_comments` string, nullable
    - `approval_status` 'AVAILABLE' | 'ACCEPTED' | 'APPROVED' | 'REJECTED'
    - `release_date` string, date-time
    - `size_in_mb` number
    - `is_default` boolean
    - `created_on` string, date-time

## Other responses

- `401` — Authorization information is missing or invalid.
- `500` — Internal server error

---

[API](https://skmtc.dev/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.dev/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/esper/esper-api-reference/revisions/e1f64cbb488e/schema)
