SpyBara
Go Premium

python/resources/files/index.md 2026-07-07 08:02 UTC to 2026-07-09 20:58 UTC

709 added, 0 removed.

2026
Fri 17 17:00 Thu 16 20:57 Wed 15 02:58 Tue 14 06:58 Mon 13 15:59 Sun 12 06:58 Fri 10 23:02 Thu 9 20:58 Tue 7 08:02

Files

List files

files.list(FileListParams**kwargs) -> SyncCursorPage[FileObject]

get /files

List files

Parameters

  • after: Optional[str]

    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: Optional[int]

    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: Optional[Literal["asc", "desc"]]

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

    • "asc"

    • "desc"

  • purpose: Optional[str]

    Only return files with the given purpose.

Returns

  • class FileObject: …

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

    • id: str

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

    • bytes: int

      The size of the file, in bytes.

    • created_at: int

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

    • filename: str

      The name of the file.

    • object: Literal["file"]

      The object type, which is always file.

      • "file"
    • purpose: Literal["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.

      • "assistants"

      • "assistants_output"

      • "batch"

      • "batch_output"

      • "fine-tune"

      • "fine-tune-results"

      • "vision"

      • "user_data"

    • status: Literal["uploaded", "processed", "error"]

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: Optional[int]

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

    • status_details: Optional[str]

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

Example

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
page = client.files.list()
page = page.data[0]
print(page)

Response

{
  "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"
}

Example

from openai import OpenAI
client = OpenAI()

client.files.list()

Response

{
  "object": "list",
  "data": [
    {
      "id": "file-abc123",
      "object": "file",
      "bytes": 175,
      "created_at": 1613677385,
      "expires_at": 1677614202,
      "filename": "salesOverview.pdf",
      "purpose": "assistants",
    },
    {
      "id": "file-abc456",
      "object": "file",
      "bytes": 140,
      "created_at": 1613779121,
      "expires_at": 1677614202,
      "filename": "puppy.jsonl",
      "purpose": "fine-tune",
    }
  ],
  "first_id": "file-abc123",
  "last_id": "file-abc456",
  "has_more": false
}

Upload file

files.create(FileCreateParams**kwargs) -> FileObject

post /files

Upload file

Parameters

  • file: FileTypes

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

  • purpose: object

  • expires_after: Optional[ExpiresAfter]

    The expiration policy for a file. By default, files with purpose=batch expire after 30 days and all other files are persisted until they are manually deleted.

    • anchor: Literal["created_at"]

      Anchor timestamp after which the expiration policy applies. Supported anchors: created_at.

      • "created_at"
    • seconds: int

      The number of seconds after the anchor time that the file will expire. Must be between 3600 (1 hour) and 2592000 (30 days).

Returns

  • class FileObject: …

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

    • id: str

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

    • bytes: int

      The size of the file, in bytes.

    • created_at: int

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

    • filename: str

      The name of the file.

    • object: Literal["file"]

      The object type, which is always file.

      • "file"
    • purpose: Literal["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.

      • "assistants"

      • "assistants_output"

      • "batch"

      • "batch_output"

      • "fine-tune"

      • "fine-tune-results"

      • "vision"

      • "user_data"

    • status: Literal["uploaded", "processed", "error"]

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: Optional[int]

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

    • status_details: Optional[str]

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

Example

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
file_object = client.files.create(
    file=b"Example data",
    purpose={},
)
print(file_object.id)

Response

{
  "id": "id",
  "bytes": 0,
  "created_at": 0,
  "filename": "filename",
  "object": "file",
  "purpose": "assistants",
  "status": "uploaded",
  "expires_at": 0,
  "status_details": "status_details"
}

Example

from openai import OpenAI
client = OpenAI()

client.files.create(
  file=open("mydata.jsonl", "rb"),
  purpose="fine-tune",
  expires_after={
    "anchor": "created_at",
    "seconds": 2592000
  }
)

Response

{
  "id": "file-abc123",
  "object": "file",
  "bytes": 120000,
  "created_at": 1677610602,
  "expires_at": 1677614202,
  "filename": "mydata.jsonl",
  "purpose": "fine-tune",
}

Delete file

files.delete(strfile_id) -> FileDeleted

delete /files/{file_id}

Delete file

Parameters

  • file_id: str

Returns

  • class FileDeleted: …

    • id: str

    • deleted: bool

    • object: Literal["file"]

      • "file"

Example

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
file_deleted = client.files.delete(
    "file_id",
)
print(file_deleted.id)

Response

{
  "id": "id",
  "deleted": true,
  "object": "file"
}

Example

from openai import OpenAI
client = OpenAI()

client.files.delete("file-abc123")

Response

{
  "id": "file-abc123",
  "object": "file",
  "deleted": true
}

Retrieve file

files.retrieve(strfile_id) -> FileObject

get /files/{file_id}

Retrieve file

Parameters

  • file_id: str

Returns

  • class FileObject: …

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

    • id: str

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

    • bytes: int

      The size of the file, in bytes.

    • created_at: int

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

    • filename: str

      The name of the file.

    • object: Literal["file"]

      The object type, which is always file.

      • "file"
    • purpose: Literal["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.

      • "assistants"

      • "assistants_output"

      • "batch"

      • "batch_output"

      • "fine-tune"

      • "fine-tune-results"

      • "vision"

      • "user_data"

    • status: Literal["uploaded", "processed", "error"]

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: Optional[int]

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

    • status_details: Optional[str]

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

Example

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
file_object = client.files.retrieve(
    "file_id",
)
print(file_object.id)

Response

{
  "id": "id",
  "bytes": 0,
  "created_at": 0,
  "filename": "filename",
  "object": "file",
  "purpose": "assistants",
  "status": "uploaded",
  "expires_at": 0,
  "status_details": "status_details"
}

Example

from openai import OpenAI
client = OpenAI()

client.files.retrieve("file-abc123")

Response

{
  "id": "file-abc123",
  "object": "file",
  "bytes": 120000,
  "created_at": 1677610602,
  "expires_at": 1677614202,
  "filename": "mydata.jsonl",
  "purpose": "fine-tune",
}

Retrieve file content

files.content(strfile_id) -> BinaryResponseContent

get /files/{file_id}/content

Retrieve file content

Parameters

  • file_id: str

Returns

  • BinaryResponseContent

Example

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
response = client.files.content(
    "file_id",
)
print(response)
content = response.read()
print(content)

Example

from openai import OpenAI
client = OpenAI()

content = client.files.content("file-abc123")

Retrieve file content

files.retrieve_content(strfile_id) -> FileContent

get /files/{file_id}/content

Retrieve file content

Parameters

  • file_id: str

Returns

  • str

Example

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
file_content = client.files.retrieve_content(
    "file_id",
)
print(file_content)

Response

"string"

Example

from openai import OpenAI
client = OpenAI()

content = client.files.content("file-abc123")

Domain Types

File Content

  • str

File Deleted

  • class FileDeleted: …

    • id: str

    • deleted: bool

    • object: Literal["file"]

      • "file"

File Object

  • class FileObject: …

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

    • id: str

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

    • bytes: int

      The size of the file, in bytes.

    • created_at: int

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

    • filename: str

      The name of the file.

    • object: Literal["file"]

      The object type, which is always file.

      • "file"
    • purpose: Literal["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.

      • "assistants"

      • "assistants_output"

      • "batch"

      • "batch_output"

      • "fine-tune"

      • "fine-tune-results"

      • "vision"

      • "user_data"

    • status: Literal["uploaded", "processed", "error"]

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: Optional[int]

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

    • status_details: Optional[str]

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

File Purpose

  • object