---
title: "Upload a project mobile app"
method: POST
path: "/v1/projects/{projectId}/mobile"
tags: ["projects"]
---

# Upload a project mobile app

`POST /v1/projects/{projectId}/mobile`

Upload a mobile app binary to a mobile project. Optionally set removeAfter to delete temporary uploads after a delay.

## Path parameters

- `projectId` string, uuid, required

## Headers

- `Authorization` string, required

## Response `201`

Mobile app uploaded successfully

- ProjectsUploadAProjectMobileAppResponse201
  - `app` V1ProjectsProjectIdMobilePostResponsesContentApplicationJsonSchemaApp, required
    - `id` string, uuid, required
    - `platform` 'ios' | 'android', required
    - `filename` string, required
    - `bundleId` string, nullable, required
    - `appVersion` string, nullable, required
    - `buildVersion` string, nullable, required
    - `fileSize` number, double, required
    - `source` 'manual_upload' | 'group_webhook_artifact' | 'api_upload', required
    - `expiresAt` string, date-time, nullable, required
    - `removeAfter` integer, nullable, required
    - `createdAt` string, date-time, required

## Other responses

- `400` — Bad Request - Invalid input parameters
- `401` — Unauthorized - Invalid or missing API key
- `404` — Project not found
- `429` — Too Many Requests - Usage limit exceeded
- `500` — Internal Server Error
- `504` — Gateway Timeout - Test execution exceeded time limit

---

[API](https://skmtc.net/tester/apis/testerarmy-api.md) · [All operations](https://skmtc.net/tester/apis/testerarmy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tester/testerarmy-api/versions/d0302b4c4e0e/schema)
