---
title: "Confirm a project file upload"
method: PUT
path: "/v1/projects/{projectId}/files"
tags: ["projects"]
---

# Confirm a project file upload

`PUT /v1/projects/{projectId}/files`

Verify uploaded bytes and register the file on the project.

## Path parameters

- `projectId` string, required

## Headers

- `Authorization` string, required

## Request body

- object
  - `storageKey` string, required
  - `fileSize` integer, required
  - `description` string, nullable

## Response `201`

Project file uploaded successfully

- ProjectsConfirmAProjectFileUploadResponse201
  - `files` ProjectFileSummary[], required
    - `id` string, uuid, required
    - `projectId` string, uuid, nullable, required
    - `filename` string, required
    - `mediaType` string, required
    - `fileSize` integer, required
    - `description` string, nullable, required
    - `summary` string, nullable, required
    - `createdAt` string, date-time, nullable, required

## Other responses

- `400` — Bad Request - Invalid input parameters
- `401` — Unauthorized - Invalid or missing API key
- `404` — Not Found - Resource does not exist or is not accessible
- `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/revisions/e739fb23c8d0/schema)
