# Files ## List files `files.list(FileListParams**kwargs) -> SyncCursorIDPage[File]` **get** `/v1/files` List all files uploaded by the current user. ### Parameters - `after: Optional[str]` A cursor for pagination. Use the `last_id` from a previous response to fetch the next page. - `limit: Optional[int]` Maximum number of files to return. ### Returns - `class File: …` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: str` The unique identifier for this file. - `content_type: str` The MIME type of the file. - `created_at: datetime` The timestamp when the file was uploaded. - `file_name: str` The original filename of the uploaded file. - `object: Literal["file"]` The object type, which is always 'file'. - `"file"` - `size: int` The size of the file in bytes. ### Example ```python import os from deeptable import DeepTable client = DeepTable( api_key=os.environ.get("DEEPTABLE_API_KEY"), # This is the default and can be omitted ) page = client.files.list() page = page.data[0] print(page.id) ``` #### Response ```json { "data": [ { "id": "file_01kfxgjd94fn9stqm414vjb0s8", "content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "created_at": "2024-01-15T10:30:00Z", "file_name": "financial_report.xlsx", "object": "file", "size": 1048576 } ], "has_more": false, "object": "list", "first_id": "file_01kfxgjd94fn9stqm414vjb0s8", "last_id": "file_01kfxgjd94fn9stqm414vjb0s8" } ``` ## Upload a file `files.upload(FileUploadParams**kwargs) -> File` **post** `/v1/files` Upload an Excel spreadsheet file for later processing. Supported formats: - Excel (.xlsx) Maximum file size: 100 MB ### Parameters - `file: FileTypes` The spreadsheet file to upload ### Returns - `class File: …` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: str` The unique identifier for this file. - `content_type: str` The MIME type of the file. - `created_at: datetime` The timestamp when the file was uploaded. - `file_name: str` The original filename of the uploaded file. - `object: Literal["file"]` The object type, which is always 'file'. - `"file"` - `size: int` The size of the file in bytes. ### Example ```python import os from deeptable import DeepTable client = DeepTable( api_key=os.environ.get("DEEPTABLE_API_KEY"), # This is the default and can be omitted ) file = client.files.upload( file=b"Example data", ) print(file.id) ``` #### Response ```json { "id": "file_01kfxgjd94fn9stqm414vjb0s8", "content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "created_at": "2024-01-15T10:30:00Z", "file_name": "financial_report.xlsx", "object": "file", "size": 1048576 } ``` ## Delete a file `files.delete(strfile_id) -> FileDeleteResponse` **delete** `/v1/files/{file_id}` Delete a file. This cannot be undone. ### Parameters - `file_id: str` The unique identifier of the file. ### Returns - `class FileDeleteResponse: …` Response from deleting a file. Following the OpenAI API convention for delete responses. - `id: str` The unique identifier of the deleted file. - `deleted: Literal[true]` Whether the file was successfully deleted. - `true` - `object: Literal["file"]` The object type, which is always 'file'. - `"file"` ### Example ```python import os from deeptable import DeepTable client = DeepTable( api_key=os.environ.get("DEEPTABLE_API_KEY"), # This is the default and can be omitted ) file = client.files.delete( "file_01kfxgjd94fn9stqm414vjb0s8", ) print(file.id) ``` #### Response ```json { "id": "file_01kfxgjd94fn9stqm414vjb0s8", "deleted": true, "object": "file" } ``` ## Get file metadata `files.retrieve(strfile_id) -> File` **get** `/v1/files/{file_id}` Get metadata for a specific file. ### Parameters - `file_id: str` The unique identifier of the file. ### Returns - `class File: …` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: str` The unique identifier for this file. - `content_type: str` The MIME type of the file. - `created_at: datetime` The timestamp when the file was uploaded. - `file_name: str` The original filename of the uploaded file. - `object: Literal["file"]` The object type, which is always 'file'. - `"file"` - `size: int` The size of the file in bytes. ### Example ```python import os from deeptable import DeepTable client = DeepTable( api_key=os.environ.get("DEEPTABLE_API_KEY"), # This is the default and can be omitted ) file = client.files.retrieve( "file_01kfxgjd94fn9stqm414vjb0s8", ) print(file.id) ``` #### Response ```json { "id": "file_01kfxgjd94fn9stqm414vjb0s8", "content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "created_at": "2024-01-15T10:30:00Z", "file_name": "financial_report.xlsx", "object": "file", "size": 1048576 } ``` ## Download file `files.download(strfile_id) -> BinaryResponseContent` **get** `/v1/files/{file_id}/content` Download the original uploaded file content. ### Parameters - `file_id: str` The unique identifier of the file. ### Returns - `BinaryResponseContent` ### Example ```python import os from deeptable import DeepTable client = DeepTable( api_key=os.environ.get("DEEPTABLE_API_KEY"), # This is the default and can be omitted ) response = client.files.download( "file_01kfxgjd94fn9stqm414vjb0s8", ) print(response) content = response.read() print(content) ``` ## Domain Types ### File - `class File: …` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: str` The unique identifier for this file. - `content_type: str` The MIME type of the file. - `created_at: datetime` The timestamp when the file was uploaded. - `file_name: str` The original filename of the uploaded file. - `object: Literal["file"]` The object type, which is always 'file'. - `"file"` - `size: int` The size of the file in bytes.