Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Uploads

Use Uploads to upload large files in multiple parts.

Cancel upload
POST/uploads/{upload_id}/cancel
Complete upload
POST/uploads/{upload_id}/complete
Create upload
POST/uploads
ModelsExpand Collapse
Upload object { id, bytes, created_at, 6 more }

The Upload object can accept byte chunks in the form of Parts.

id: string

The Upload unique identifier, which can be referenced in API endpoints.

bytes: number

The intended number of bytes to be uploaded.

created_at: number

The Unix timestamp (in seconds) for when the Upload was created.

formatunixtime
expires_at: number

The Unix timestamp (in seconds) for when the Upload will expire.

formatunixtime
filename: string

The name of the file to be uploaded.

purpose: string

The intended purpose of the file. Please refer here for acceptable values.

status: "pending" or "completed" or "cancelled" or "expired"

The status of the Upload.

One of the following:
"pending"
"completed"
"cancelled"
"expired"
file: optional FileObject { id, bytes, created_at, 6 more } or null

The File object represents a document that has been uploaded to OpenAI.

object: optional "upload"

The object type, which is always “upload”.

UploadsParts

Use Uploads to upload large files in multiple parts.

Add upload part
POST/uploads/{upload_id}/parts
ModelsExpand Collapse
UploadPart object { id, created_at, object, upload_id }

The upload Part represents a chunk of bytes we can add to an Upload object.

id: string

The upload Part unique identifier, which can be referenced in API endpoints.

created_at: number

The Unix timestamp (in seconds) for when the Part was created.

formatunixtime
object: "upload.part"

The object type, which is always upload.part.

upload_id: string

The ID of the Upload object that this Part was added to.