---
title: "List file uploads"
method: GET
path: "/v1/file_uploads"
tags: ["File uploads"]
---

# List file uploads

`GET /v1/file_uploads`

## Query parameters

- `status` 'pending' | 'uploaded' | 'expired' | 'failed' — If supplied, the endpoint will return file uploads with the specified status.
- `start_cursor` string — If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.
- `page_size` integer — The number of items from the full list desired in the response. Maximum: 100

## Headers

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

## Response `200`

- object
  - `object` 'list', required — Always `list`
  - `next_cursor` string, uuid, required
  - `has_more` boolean, required
  - `results` FileUploadObjectResponse[], required
    - `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
  - `type` 'file_upload', required — Always `file_upload`
  - `file_upload` EmptyObject, required
  - `request_status` RequestStatusResponse
    - `type` 'complete' | 'incomplete', required — Whether the result set is complete or incomplete. `incomplete` means the response does not include all rows that match the query parameters (e.g. due to a server-side pagination depth limit).
    - `incomplete_reason` 'query_result_limit_reached' — Why the result set is incomplete. Only present when `type` is `incomplete`.

## 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)
