> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qa.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Application Builds API

> Upload and manage mobile app builds for testing

The Application Builds API enables you to upload mobile app builds (APK/IPA files) for testing with QA.tech. Use these endpoints to integrate mobile app build uploads into your CI/CD pipelines and automation workflows.

## When to Use This API

* **CI/CD integration** – Automatically upload builds after successful compilation
* **Mobile app testing** – Upload iOS and Android builds for automated testing
* **Version management** – Track and test different build versions

<Note>
  This API is for **mobile applications** (iOS and Android) only. For web
  applications, use environment URLs directly in the [Start Run
  API](/api-reference/runs/start-test-run) or [Chat API](/api-reference/chat).
</Note>

## Supported File Types

| Platform | File Types |
| -------- | ---------- |
| Android  | `.apk`     |
| iOS      | `.ipa`     |

<Note>
  Android App Bundles (`.aab`) are not supported directly. Convert them to
  `.apk` first — see [Mobile App Testing](/test-features/mobile-app-testing) for
  instructions.
</Note>

## Authentication

All endpoints require Bearer token authentication. Create your API key in the QA.tech dashboard: **Organization Settings → API Keys**. The key is shown only once, at creation. See the [API Introduction](/api-reference/introduction#authentication) for details.

## Upload Workflow

Uploading a build is a two-step process, plus the file transfer itself:

1. **[Get Build Upload URL](/api-reference/application-builds/get-build-upload-url)** – Request a presigned URL and a `buildToken` for your file.
2. **Upload the file** – Send the raw file bytes with an HTTP `PUT` request to the presigned `uploadUrl`. No `Authorization` header is needed — the URL is presigned.
3. **[Create Application Build](/api-reference/application-builds/create-application-build)** – Register the uploaded file as a build, using the `buildToken` from step 1. The response includes the build's short ID (e.g. `build_abc123`).

This flow allows efficient direct uploads to cloud storage without passing the file through the API server. See the linked reference pages for full request, response, and error details.

<Warning>
  The presigned URL is temporary and valid for about 2 hours. Upload the file
  promptly after requesting the URL.
</Warning>

## Using Builds in Test Runs

After creating a build, reference its short ID as the environment's `applicationBuildShortId` in an application override when [starting a run](/api-reference/runs/start-test-run) or [creating a chat conversation](/api-reference/chat). The run or chat session will then test against that specific build.

## Related

* [Mobile App Testing](/test-features/mobile-app-testing) – Mobile testing concepts
* [Start Run API](/api-reference/runs/start-test-run) – Run tests against uploaded builds
* [Applications API](/api-reference/applications) – List applications
* [API Introduction](/api-reference/introduction) – Authentication and ID reference
