Files
OpenAI-compatible Files API (/v1/files). Upload documents (PDF/DOCX/XLSX/MD/TXT) once, then reference the returned file_… id from a Responses-API request as an input_file content part so an artifact-capable agent can read it with its docx_read / xlsx_read / pdf_read tools. Files are organization-scoped. See the Sending Documents to the Agent reference and the Attach Files to an Agent guide.
📄️ Upload a file
Upload a document for an artifact-capable agent to read at runtime. OpenAI-Files-API wire-conformant: a `multipart/form-data` body with a `file` part and a `purpose` part. The returned object's `id` (`file_…`) is referenced from a Responses-API request as an `input_file` content part — see [Sending Documents to the Agent](../streaming/document-inputs.md) and the [Attach Files to an Agent](../guides/attach-files-to-agents.md) guide.
📄️ List files
List the active organization's uploaded files, newest first, optionally filtered by `purpose`. Follows OpenAI's `{ object: 'list', data: [...] }` convention. Org-scoped via `x-organization-id` (falling back to the caller's current organization).
📄️ Retrieve file metadata
Get the OpenAI-shaped metadata object for a single file. Returns `404` when the file does not exist **or** belongs to a different organization (existence is not disclosed across organizations).
📄️ Delete a file
Hard-delete a file: the stored object is removed first, then its metadata row. Returns `404` when the file does not exist or belongs to a different organization (existence is not disclosed across organizations). The success body is OpenAI-shaped (`{ id, object: 'file', deleted: true }`).
📄️ Download file content
Download the raw bytes of a file. The endpoint responds with `302 Found` and a `Location` header pointing at a freshly-signed, short-lived storage URL; the URL forces `Content-Disposition: attachment` so the content is downloaded rather than rendered. Returns `404` when the file does not exist or belongs to a different organization. The response carries `Cache-Control: no-store`.