Skip to content

List files

files.list(**kwargs) -> CursorPage<FileObject { id, bytes, created_at, 6 more } >
GET/files

Returns a list of files.

ParametersExpand Collapse
after: String

A cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

limit: Integer

A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.

order: :asc | :desc

Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.

Accepts one of the following:
:asc
:desc
purpose: String

Only return files with the given purpose.

ReturnsExpand Collapse
class FileObject { id, bytes, created_at, 6 more }

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

id: String

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

bytes: Integer

The size of the file, in bytes.

created_at: Integer

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

filename: String

The name of the file.

object: :file

The object type, which is always file.

purpose: :assistants | :assistants_output | :batch | 5 more

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

Accepts one of the following:
:assistants
:assistants_output
:batch
:batch_output
:"fine-tune"
:"fine-tune-results"
:vision
:user_data
Deprecatedstatus: :uploaded | :processed | :error

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

Accepts one of the following:
:uploaded
:processed
:error
expires_at: Integer

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

Deprecatedstatus_details: String

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

List files

require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

page = openai.files.list

puts(page)
{
  "data": [
    {
      "id": "id",
      "bytes": 0,
      "created_at": 0,
      "filename": "filename",
      "object": "file",
      "purpose": "assistants",
      "status": "uploaded",
      "expires_at": 0,
      "status_details": "status_details"
    }
  ],
  "first_id": "file-abc123",
  "has_more": false,
  "last_id": "file-abc456",
  "object": "list"
}
Returns Examples
{
  "data": [
    {
      "id": "id",
      "bytes": 0,
      "created_at": 0,
      "filename": "filename",
      "object": "file",
      "purpose": "assistants",
      "status": "uploaded",
      "expires_at": 0,
      "status_details": "status_details"
    }
  ],
  "first_id": "file-abc123",
  "has_more": false,
  "last_id": "file-abc456",
  "object": "list"
}