SpyBara
Go Premium

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

30 added, 29 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

get /files

List files

Query Parameters

  • after: optional 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: optional number

    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 "asc" or "desc"

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

    • "asc"

    • "desc"

  • purpose: optional string

    Only return files with the given purpose.

Returns

  • data: array of FileObject

    • id: string

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

    • bytes: number

      The size of the file, in bytes.

    • created_at: number

      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.

      • "file"
    • purpose: "assistants" or "assistants_output" or "batch" or 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: "uploaded" or "processed" or "error"

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: optional number

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

    • status_details: optional string

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

  • first_id: string

  • has_more: boolean

  • last_id: string

  • object: string

Example

curl https://api.openai.com/v1/files \
    -H "Authorization: Bearer $OPENAI_API_KEY"

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

curl https://api.openai.com/v1/files \
  -H "Authorization: Bearer $OPENAI_API_KEY"

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

post /files

Upload file

Returns

  • FileObject object { 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: number

      The size of the file, in bytes.

    • created_at: number

      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.

      • "file"
    • purpose: "assistants" or "assistants_output" or "batch" or 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: "uploaded" or "processed" or "error"

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: optional number

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

    • status_details: optional string

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

Example

curl https://api.openai.com/v1/files \
    -H 'Content-Type: multipart/form-data' \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -F 'file=@/path/to/file' \
    -F purpose=assistants

Response

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

Example

curl https://api.openai.com/v1/files \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F purpose="fine-tune" \
  -F file="@mydata.jsonl"
  -F expires_after[anchor]="created_at"
  -F expires_after[seconds]=2592000

Response

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

Delete file

delete /files/{file_id}

Delete file

Path Parameters

  • file_id: string

Returns

  • FileDeleted object { id, deleted, object }

    • id: string

    • deleted: boolean

    • object: "file"

      • "file"

Example

curl https://api.openai.com/v1/files/$FILE_ID \
    -X DELETE \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Response

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

Example

curl https://api.openai.com/v1/files/file-abc123 \
  -X DELETE \
  -H "Authorization: Bearer $OPENAI_API_KEY"

Response

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

Retrieve file

get /files/{file_id}

Retrieve file

Path Parameters

  • file_id: string

Returns

  • FileObject object { 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: number

      The size of the file, in bytes.

    • created_at: number

      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.

      • "file"
    • purpose: "assistants" or "assistants_output" or "batch" or 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: "uploaded" or "processed" or "error"

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: optional number

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

    • status_details: optional string

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

Example

curl https://api.openai.com/v1/files/$FILE_ID \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Response

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

Example

curl https://api.openai.com/v1/files/file-abc123 \
  -H "Authorization: Bearer $OPENAI_API_KEY"

Response

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

Retrieve file content

get /files/{file_id}/content

Retrieve file content

Path Parameters

  • file_id: string

Example

curl https://api.openai.com/v1/files/$FILE_ID/content \
    -H "Authorization: Bearer $OPENAI_API_KEY"

Example

curl https://api.openai.com/v1/files/file-abc123/content \
  -H "Authorization: Bearer $OPENAI_API_KEY" > file.jsonl

Domain Types

File Content

  • FileContent = string

File Deleted

  • FileDeleted object { id, deleted, object }

    • id: string

    • deleted: boolean

    • object: "file"

      • "file"

File Object

  • FileObject object { 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: number

      The size of the file, in bytes.

    • created_at: number

      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.

      • "file"
    • purpose: "assistants" or "assistants_output" or "batch" or 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: "uploaded" or "processed" or "error"

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

      • "uploaded"

      • "processed"

      • "error"

    • expires_at: optional number

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

    • status_details: optional string

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

File Purpose

  • FilePurpose = "assistants" or "batch" or "fine-tune" or 3 more

    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

    • "assistants"

    • "batch"

    • "fine-tune"

    • "vision"

    • "user_data"

    • "evals"