---
title: "Finalize an upload"
method: POST
path: "/client/files/{nodeId}/complete-upload"
tags: ["Files"]
---

# Finalize an upload

`POST /client/files/{nodeId}/complete-upload`

## Request

- Base URL: `https://api.atako.ai`
- URL: `https://api.atako.ai/client/files/{nodeId}/complete-upload`
- Auth: HTTP bearer

## Path parameters

- `nodeId` string, required

## Request body

- object
  - `storagePath` string, required
  - `fileSize` integer, required
  - `mimeType` string, required

## Response `200`

- FileNode
  - `id` string, uuid, required
  - `clientId` string, uuid, required
  - `parentId` string, uuid, nullable
  - `type` 'folder' | 'file', required
  - `name` string, required
  - `storagePath` string, nullable
  - `mimeType` string, nullable
  - `fileSize` integer, nullable
  - `agentTag` string, uuid, nullable
  - `uploadSource` 'client' | 'agent', nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time

## Other responses

- `400`: storagePath, fileSize, mimeType required
- `401`: Missing, malformed, or invalid bearer token / API key, or revoked session (SESSION_REVOKED).
- `404`: Not found, or the caller is not authorized to access this resource.

---

[API](https://skmtc.dev/atako/apis/atako-api.md) · [All operations](https://skmtc.dev/atako/apis/atako-api/llms.txt) · [OpenAPI document](https://skmtc.dev/atako/apis/atako-api/revisions/aa555c56fbd7?raw)
