Use this API to initiate the process of uploading a file to your Notion workspace.
status of "pending".
The maximum allowed length of filename string is 900 bytes, including any file extension included in the file name or inferred based on the content_type. However, we recommend using shorter names for performance and easier file management and lookup using the List file uploads API.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
The API version to use for this request. The latest version is 2025-09-03.
2025-09-03 How the file is being sent. Use multi_part for files larger than 20MB. Use external_url for files that are temporarily hosted publicly elsewhere. Default is single_part.
single_part, multi_part, external_url Name of the file to be created. Required when mode is multi_part. Otherwise optional, and used to override the filename. Must include an extension, or have one inferred from the content_type parameter.
"business_summary.pdf"
MIME type of the file to be created. Recommended when sending the file in multiple parts. Must match the content type of the file that's sent, and the extension of the filename parameter if any.
"application/pdf"
When mode is multi_part, the number of parts you are uploading. This must match the number of parts as well as the final part_number you send.
1 <= x <= 10000When mode is external_url, provide the HTTPS URL of a publicly accessible file to import into your workspace.
Always file_upload
"file_upload"One of: pending, uploaded, expired, failed
pending, uploaded, expired, failed x >= 0