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

# Get build upload URL

> Get a presigned URL to upload a build file directly to storage



## OpenAPI

````yaml /api-reference/api.json post /v1/applications/{applicationShortId}/builds/upload-url
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: >-
    REST API for triggering and managing AI-powered test runs. Authenticate with
    a project API token (Authorization: Bearer <token>) found in Project
    Settings -> Integrations.
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
paths:
  /v1/applications/{applicationShortId}/builds/upload-url:
    post:
      tags:
        - Application Builds
      summary: Get build upload URL
      description: Get a presigned URL to upload a build file directly to storage
      operationId: ApplicationBuildUploadUrl
      parameters:
        - name: applicationShortId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/ApplicationShortId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationBuildUploadUrlRequest'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationBuildUploadUrlResponse'
components:
  schemas:
    ApplicationShortId:
      type: string
      pattern: ^app(-.+_.+|_.+)$
    ApplicationBuildUploadUrlRequest:
      type: object
      required:
        - fileName
      properties:
        fileName:
          type: string
          description: >-
            Original file name (e.g. 'my-app.apk'). Preserved in storage for
            display and file type detection.
      description: Request body for getting a presigned upload URL
    ApplicationBuildUploadUrlResponse:
      type: object
      required:
        - uploadUrl
        - buildToken
      properties:
        uploadUrl:
          type: string
        buildToken:
          type: string
      description: Presigned upload URL response
  securitySchemes:
    BearerAuth:
      type: http
      scheme: Bearer

````