> ## 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.

# Create application build

> Step 2 of 2 for attaching a mobile build: registers a file already uploaded via `application_build_upload_url`. Pass the `buildToken` returned by that tool (after you PUT the file to its `uploadUrl`). Returns `applicationBuildShortId` — use it as `environment.applicationBuildShortId` inside an `applications[]` override in `start_run`, or an `applicationOverrides[]` override in `create_chat`, to run/chat against this build.



## OpenAPI

````yaml /api-reference/api.json post /v1/applications/{applicationShortId}/builds
openapi: 3.0.0
info:
  title: QA.tech API
  version: 1.0.0
  contact:
    name: QA.tech
    url: https://qa.tech
    email: support@qa.tech
  description: API for triggering and managing AI-powered test runs
servers:
  - url: https://api.qa.tech
    description: Production
    variables: {}
security:
  - BearerAuth: []
tags:
  - name: Runs
  - name: Infrastructure
  - name: Test Cases
  - name: Application Builds
  - name: Status badge
  - name: Remote Tunnels
  - name: Chat
  - name: Applications
  - name: Features
  - name: Metrics
  - name: Release Checks
  - name: Projects
paths:
  /v1/applications/{applicationShortId}/builds:
    post:
      tags:
        - Application Builds
      summary: Create application build
      description: >-
        Step 2 of 2 for attaching a mobile build: registers a file already
        uploaded via `application_build_upload_url`. Pass the `buildToken`
        returned by that tool (after you PUT the file to its `uploadUrl`).
        Returns `applicationBuildShortId` — use it as
        `environment.applicationBuildShortId` inside an `applications[]`
        override in `start_run`, or an `applicationOverrides[]` override in
        `create_chat`, to run/chat against this build.
      operationId: ApplicationBuildCreate
      parameters:
        - name: applicationShortId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/ApplicationShortId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationBuildCreateRequest'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationBuildCreateResponse'
components:
  schemas:
    ApplicationShortId:
      type: string
      pattern: ^app(-.+_.+|_.+)$
    ApplicationBuildCreateRequest:
      type: object
      required:
        - platform
        - buildToken
      properties:
        platform:
          $ref: '#/components/schemas/MobilePlatform'
        buildToken:
          type: string
          description: >-
            The `buildToken` returned by `application_build_upload_url`, after
            the build file was uploaded (HTTP PUT) to its `uploadUrl`.
        projectShortId:
          allOf:
            - $ref: '#/components/schemas/ProjectShortId'
          description: >-
            Target a specific project by its prefixed short ID
            (proj-slug_shortId or proj_shortId), as returned by the projects
            API. Required for organization-scoped API keys; project-scoped keys
            may only pass their own project's short ID.
      description: >-
        Request body for creating an application build after uploading via
        presigned URL
    ApplicationBuildCreateResponse:
      type: object
      required:
        - applicationBuildShortId
        - platform
        - fileName
        - fileSizeBytes
      properties:
        applicationBuildShortId:
          allOf:
            - $ref: '#/components/schemas/ApplicationBuildShortId'
          description: >-
            Short ID of the created build. Use as
            `environment.applicationBuildShortId` in a `start_run`
            `applications[]` override or a `create_chat`
            `applicationOverrides[]` override.
        platform:
          $ref: '#/components/schemas/MobilePlatform'
        fileName:
          type: string
        fileSizeBytes:
          type: integer
          format: int64
      description: >-
        Response with created application build metadata. Use
        `applicationBuildShortId` as `environment.applicationBuildShortId` in
        `start_run` / `create_chat` overrides.
    MobilePlatform:
      type: string
      enum:
        - ios
        - android
      description: Mobile platform for application builds
    ProjectShortId:
      type: string
      pattern: ^proj(-.+_.+|_.+)$
    ApplicationBuildShortId:
      type: string
      pattern: ^build(-.+_.+|_.+)$
  securitySchemes:
    BearerAuth:
      type: http
      scheme: Bearer

````