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

# Initiate a project mobile app upload

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

Create a presigned temporary upload for a mobile app binary.

## Path parameters

- `projectId` string, uuid, required

## Headers

- `Authorization` string, required

## Request body

- object
  - `filename` string, required
  - `fileSize` integer, required
  - `removeAfter` integer

## Response `200`

Presigned upload details

- ProjectsInitiateAProjectMobileAppUploadResponse200
  - `uploadUrl` string, uri, required
  - `storageKey` string, required
  - `filename` string, required
  - `fileSize` integer, required
  - `removeAfter` integer, nullable, required

## Other responses

- `400` — Bad Request - Invalid input parameters
- `401` — Unauthorized - Invalid or missing API key
- `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)
