---
title: "Complete a multi-part file upload"
method: POST
path: "/v1/file_uploads/{file_upload_id}/complete"
tags: ["File uploads"]
---

# Complete a multi-part file upload

`POST /v1/file_uploads/{file_upload_id}/complete`

## Path parameters

- `file_upload_id` string, required

## Headers

- `Notion-Version` '2026-03-11', required

## Response `200`

- FileUploadObjectResponse
  - `object` 'file_upload', required — Always `file_upload`
  - `id` string, uuid, required
  - `created_time` string, date-time, required
  - `created_by` object, required
    - `id` string, uuid, required
    - `type` 'person' | 'bot' | 'agent', required — One of: `person`, `bot`, `agent`
  - `last_edited_time` string, date-time, required
  - `in_trash` boolean, required
  - `expiry_time` string, date-time, nullable, required
  - `status` 'pending' | 'uploaded' | 'expired' | 'failed', required — One of: `pending`, `uploaded`, `expired`, `failed`
  - `filename` string, nullable, required
  - `content_type` string, nullable, required
  - `content_length` integer, nullable, required
  - `upload_url` string
  - `complete_url` string
  - `file_import_result` union
    - object
      - `imported_time` string, date-time, required — The time the file was imported into Notion. ISO 8601 format.
      - `type` 'success', required — Indicates a successful import.
      - `success` EmptyObject, required
    - object
      - `imported_time` string, date-time, required — The time the file was imported into Notion. ISO 8601 format.
      - `type` 'error', required — Indicates an error occurred during import.
      - `error` object, required — Details about the error that occurred during file import.
        - `type` 'validation_error' | 'internal_system_error' | 'download_error' | 'upload_error', required — The type of error that occurred during file import.
        - `code` string, required — A short string code representing the error.
        - `message` string, required — A human-readable message describing the error.
        - `parameter` string, nullable, required — The parameter related to the error, if applicable. Null if not applicable.
        - `status_code` integer, nullable, required — The HTTP status code associated with the error, if available. Null if not applicable.
  - `number_of_parts` object
    - `total` integer, required
    - `sent` integer, required

## Other responses

- `400`
- `401`
- `403`
- `404`
- `406`
- `409`
- `429`
- `500`
- `503`
- `504`
- `529`

---

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