POST
/
files
Upload a file
curl --request POST \
  --url https://api.openai.com/v1/files \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form purpose=assistants \
  --form file=@example-file
{
  "id": "<string>",
  "bytes": 123,
  "created_at": 123,
  "expires_at": 123,
  "filename": "<string>",
  "object": "file",
  "purpose": "assistants",
  "status": "uploaded",
  "status_details": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

multipart/form-data
file
file
required

The File object (not file name) to be uploaded.

purpose
enum<string>
required

The intended purpose of the uploaded file. One of: - assistants: Used in the Assistants API - batch: Used in the Batch API - fine-tune: Used for fine-tuning - vision: Images used for vision fine-tuning - user_data: Flexible file type for any purpose - evals: Used for eval data sets

Available options:
assistants,
batch,
fine-tune,
vision,
user_data,
evals

Response

200 - application/json

OK

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

id
string
required

The file identifier, which can be referenced in the API endpoints.

bytes
integer
required

The size of the file, in bytes.

created_at
integer
required

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

filename
string
required

The name of the file.

object
enum<string>
required

The object type, which is always file.

Available options:
file
purpose
enum<string>
required

The intended purpose of the file. Supported values are assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results and vision.

Available options:
assistants,
assistants_output,
batch,
batch_output,
fine-tune,
fine-tune-results,
vision
status
enum<string>
required
deprecated

Deprecated. The current status of the file, which can be either uploaded, processed, or error.

Available options:
uploaded,
processed,
error
expires_at
integer

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

status_details
string
deprecated

Deprecated. For details on why a fine-tuning training file failed validation, see the error field on fine_tuning.job.