---
title: "Upload file"
method: POST
path: "/files"
tags: ["Files"]
---

# Upload file

`POST /files`

Upload a file that can be used across various endpoints. Individual files
can be up to 512 MB, and each project can store up to 2.5 TB of files in
total. There is no organization-wide storage limit.

- The Assistants API supports files up to 2 million tokens and of specific
  file types. See the [Assistants Tools guide](https://platform.openai.com/docs/assistants/tools) for
  details.
- The Fine-tuning API only supports `.jsonl` files. The input also has
  certain required formats for fine-tuning
  [chat](https://platform.openai.com/docs/api-reference/fine-tuning/chat-input) or
  [completions](https://platform.openai.com/docs/api-reference/fine-tuning/completions-input) models.
- The Batch API only supports `.jsonl` files up to 200 MB in size. The input
  also has a specific required
  [format](https://platform.openai.com/docs/api-reference/batch/request-input).

Please [contact us](https://help.openai.com/) if you need to increase these
storage limits.

## Response `200`

OK

- OpenAIFile — 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.
  - `expires_at` integer — The Unix timestamp (in seconds) for when the file will expire.
  - `filename` string, required — The name of the file.
  - `object` 'file', required — The object type, which is always `file`.
  - `purpose` 'assistants' | 'assistants_output' | 'batch' | 'batch_output' | 'fine-tune' | 'fine-tune-results' | 'vision' | 'user_data', required — The intended purpose of the file. Supported values are `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`.
  - `status` 'uploaded' | 'processed' | 'error', required — Deprecated. The current status of the file, which can be either `uploaded`, `processed`, or `error`.
  - `status_details` string — Deprecated. For details on why a fine-tuning training file failed validation, see the `error` field on `fine_tuning.job`.

---

[API](https://skmtc.dev/openai/apis/openai-api.md) · [All operations](https://skmtc.dev/openai/apis/openai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openai/openai-api/revisions/64c6ba619ccb/schema)
