Skip to main content
Use the Apps API to discover app and build UUIDs, then configure the default Chrome extensions loaded with a web app. All requests require an API key in the X-API-Key header. See API Reference for authentication.

List Apps

GET /api/v1/apps — Returns 200 OK
string
Optional platform filter: ios, android, web, or chrome-extension.
string
Optional. Only apps with exactly this bundle ID.
string
Optional. Only apps with this app_id: a mobile app’s custom app ID when it has one, otherwise its bundle ID. This is not the UUID in id.
string
Optional. Only apps in the environment with this name. An unknown name returns 400.
id is the app’s UUID, which the other endpoints on this page take in their path. app_id is the ID you pass as app_id when you upload or run: a mobile app’s custom app ID when it has one, otherwise its bundle ID. For a web app it is the app ID. When a mobile app’s app_id equals its bundle ID, passing it is the same as leaving app_id out, so it never creates a second app. active_build is null when an app has no active build. bundle_id and app_id may also be null. ios_keychain_access_group_remapping_enabled is an app-level iOS preference for future .ipa uploads; it does not indicate whether the active build was instrumented. To find the app for one release version, combine the filters, then use the returned id to list its builds:

List App Builds

List all of an app’s builds, newest first, with the commit and branch each one was built from. Filter by commit_sha or branch_name to find a specific build, then pass its id as app_build_id when you run flows.
GET /api/v1/apps/{app_id}/builds — Returns 200 OK
string
required
The app’s UUID: the id returned by List Apps, not its app_id or bundle ID. Anything else returns 404.
string
Optional. A full 40-character commit SHA, or a prefix of at least 7 characters. Matching is case-insensitive.
string
Optional. Exact branch name, such as main or feature/login. Combine it with limit=1 to get the latest build on a branch.
integer
Optional. Return only the newest builds, from 1 to 1000 of them. Leave it out to get every matching build.
builds is empty when nothing matches. When both filters are set, a build must match both. A commit can have more than one build if it was uploaded again, so take the first result for the most recent one. commit_sha and branch_name are null for builds uploaded without git metadata, and deleted builds are not listed. An invalid commit_sha or limit returns 422.

List App Dependencies

List the Chrome extensions attached by default to a web app.
GET /api/v1/apps/{app_id}/dependencies — Returns 200 OK

Attach a Dependency

Attach a Chrome extension app to a web app. Future runs inherit the extension’s active build unless the run request supplies an explicit dependencies override.
POST /api/v1/apps/{app_id}/dependencies — Returns 201 Created
The primary app must have platform web, and the dependency must have platform chrome-extension. Both apps must belong to the API key’s organization.

Detach a Dependency

DELETE /api/v1/apps/{app_id}/dependencies/{dependency_app_id} — Returns 200 OK
Detaching changes future runs only. Historical run results retain the exact extension build UUIDs they used. To override defaults for one run, including running with no extensions, see Run Flows.