Lists all versions of a specific application registered in the enterprise library.
Returns a paginated collection of AppVersion records for the specified application, filterable by version code, build number, approval status, Google Play origin, enabled state, and timestamps. Default page size is 20; results can be ordered by install count.
About List App Versions
An Esper application can have multiple versions, each tracked as a distinct AppVersion record with its own UUID (version_id). Versions may originate from a direct APK upload or from the Console Google Play Store (identifiable via is_g_play). Each version carries an approval_status (AVAILABLE, ACCEPTED, APPROVED, or REJECTED) and can be enabled or disabled independently. The version_id is required when issuing install commands to specific devices.
Key Query Parameters
version_code — filter by the version code string (as set in the APK manifest)
build_number — filter by build number
is_g_play — true returns only versions sourced from the Console Google Play Store
approval_status — filter by lifecycle status: AVAILABLE, ACCEPTED, APPROVED, or REJECTED
is_enabled — filter for enabled versions only
is_default — filter for the default version of the application
ordering — sort by installed_count (ascending) or -installed_count (descending)
limit — results per page (default: 20)
Common Use Cases
Retrieve the list of approved, enabled versions before selecting one for a device install command Audit which app versions are currently deployed across devices using installed_count ordering Identify versions with approval_status=REJECTED or is_enabled=false to clean up the library
Best Practices
Filter by approval_status=APPROVED and is_enabled=true to limit results to deployment-ready versions Use is_g_play=false when working exclusively with internally uploaded APKs to exclude Play Store-sourced versions Store version_id values from results — these UUIDs are required for device install and app detail lookups
Workflow
Call this endpoint with the target application_id and any filters (approval status, enabled state) Select the appropriate version from the results and record its id (version_id) Use version_id in install commands or in GET .../version/{version_id}/ for full version detail
- Mock serverhttps://api.esper.io/_mock/openapi/enterprise/{enterprise_id}/application/{application_id}/version/
- https://develop-api.esper.cloud/apihttps://develop-api.esper.cloud/api/enterprise/{enterprise_id}/application/{application_id}/version/
curl -i -X GET \
'https://api.esper.io/_mock/openapi/enterprise/{enterprise_id}/application/{application_id}/version/?version_code=string&build_number=string&is_g_play=true&approval_status=AVAILABLE&is_enabled=true&is_default=true&created_on_gt=string&created_on_lt=string&updated_on_gt=string&updated_on_lt=string&limit=20&offset=0&ordering=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "count": 0, "next": "string", "previous": "string", "results": [ { … } ] }