Skip to main content
Returns a paginated list of file uploads for the authenticated integration. Useful for tracking upload status and managing file upload history.

Method

Parameters

status
string
Filter file uploads by status. If not supplied, returns uploads with any status.Options: "pending" | "uploaded" | "expired" | "failed"
start_cursor
string
Pagination cursor. If supplied, returns results starting after this cursor. If not supplied, returns the first page of results.
page_size
number
Number of items to return per page. Maximum: 100. Default: 100.

Response

Returns a paginated list response.
object
string
Always "list"
results
array
next_cursor
string | null
Cursor for the next page. null if there are no more results.
has_more
boolean
Whether there are more results beyond this page.
type
string
Always "file_upload"

Examples

List all file uploads

Retrieve all file uploads with default pagination:

Filter by status

Get only successfully uploaded files:
Find failed uploads to retry:

Paginate through results

Iterate through all pages manually:
Or use the built-in pagination helper:

Monitor pending uploads

Track multi-part uploads in progress:

Check for expired uploads

Find uploads that have expired:

Custom page size

Retrieve a specific number of results:

File Upload Object

Each file upload in the results contains:
  • object: Always "file_upload"
  • id: Unique identifier
  • status: "pending", "uploaded", "expired", or "failed"
  • filename: Name of the file
  • content_type: MIME type
  • content_length: File size in bytes
  • created_time: When the upload was created
  • created_by: User who created the upload
  • last_edited_time: Last update timestamp
  • expiry_time: When the upload URL expires
  • number_of_parts: For multi-part uploads, contains total and sent counts
  • file_import_result: Import result with type, imported_time, and success or error details

Notes

  • Results are sorted by creation time, with most recent first
  • File upload objects eventually expire and may be removed from the list
  • Use pagination helpers from @notionhq/client to efficiently iterate through all results
  • The status filter is useful for monitoring upload pipelines and handling failures