Measure logo
REST API ReferenceDashboard APIApps

Fetch an app's builds

GET/apps/{id}/builds

Fetch an app's builds, optionally narrowed by upload time and by a filter expression.

Each build packages the mapping files uploaded for one version of the app: files are grouped by version_name, version_code and, for Over-The-Air patch uploads, patch_id, keeping the latest file of each mapping type. Builds are ordered by their newest file, newest first, and pagination applies to builds rather than to their files.

A filter_expr is applied while files are grouped, so a build whose files do not all match comes back with only the matching ones.

Authorization

bearerAuth
AuthorizationBearer <token>

User access token issued at sign-in. Sent as Authorization: Bearer <access-token> unless cookies are used to send tokens. The /auth/refresh and /auth/signout endpoints expect the session's refresh token in the same header format instead.

In: header

Path Parameters

id*string

App's UUID.

Formatuuid

Query Parameters

from?string

ISO 8601 UTC string in milliseconds precision. Example: 2023-11-01T18:30:00.000Z. Omitting both from and to returns the last seven days.

to?string

ISO 8601 UTC string in milliseconds precision. Example: 2023-11-01T18:30:00.000Z. Omitting both from and to returns the last seven days.

filter_expr?string

Conditions joined by AND or OR and grouped with parentheses, each reading key:operator:values with the names /apps/{id}/filters/keys publishes. AND binds tighter than OR.

version_name:in:[1.2.0,1.1.9] AND mapping_type:not_in:jsbundle(version_name:contains:SNAPSHOT AND mapping_type:in:proguard) OR patch_id:is_set

An operator taking no values ends its condition, as patch_id:is_set does. Double-quote a value holding a space, comma, bracket, colon or quote, with \" and \\ inside.

At most 4096 bytes, 32 conditions, 4 levels of nesting and 200 values in one condition.

offset?integer

Number of items to skip when paginating. Use with limit parameter to control amount of items fetched. A negative value answers 400.

Range0 <= value
limit?integer

Number of items to return. Used for pagination. Should be used along with offset. A value outside the range answers 400.

Range1 <= value <= 1000
Default10

Response Body

application/json

application/json

curl -X GET "https://example.com/apps/497f6eca-6276-4993-bfeb-53cbbbba6f08/builds"
{  "meta": {    "next": true,    "previous": false  },  "results": [    {      "version_name": "1.2.0",      "version_code": "1200",      "last_updated": "2025-07-08T09:14:33.712Z",      "files": [        {          "id": "38c4d1a9-9153-4f81-b2e8-63f4a1c05d9b",          "mapping_type": "elf_debug",          "download_url": "/apps/19e26d60-2ad8-4ef7-8aab-333e1f5377fc/builds/38c4d1a9-9153-4f81-b2e8-63f4a1c05d9b/download",          "filesize": 24509831,          "last_updated": "2025-07-08T09:14:32.409Z"        },        {          "id": "8bd23e1c-71f0-4a94-9c9c-d5b9b1f27b30",          "mapping_type": "proguard",          "download_url": "/apps/19e26d60-2ad8-4ef7-8aab-333e1f5377fc/builds/8bd23e1c-71f0-4a94-9c9c-d5b9b1f27b30/download",          "filesize": 8712174,          "last_updated": "2025-07-08T09:14:33.712Z"        }      ]    },    {      "version_name": "",      "version_code": "",      "patch_id": "3f0e7c3e-9c31-4d9d-9a4e-2f6a3d0f5b21",      "patch_version": "1.2.0-patch.3",      "last_updated": "2025-07-08T08:47:12.118Z",      "files": [        {          "id": "5f2a9c7d-1e64-4f0b-a3c2-8d914b6e0aa7",          "mapping_type": "jsbundle",          "download_url": "/apps/19e26d60-2ad8-4ef7-8aab-333e1f5377fc/builds/5f2a9c7d-1e64-4f0b-a3c2-8d914b6e0aa7/download",          "filesize": 3145728,          "last_updated": "2025-07-08T08:47:12.118Z"        }      ]    }  ]}

Think this page can be better?

Open an issue