# Files ## List files `$ deeptable files list` **get** `/v1/files` List all files uploaded by the current user. ### Parameters - `--after: optional string` A cursor for pagination. Use the `last_id` from a previous response to fetch the next page. - `--limit: optional number` Maximum number of files to return. ### Returns - `FileListResponse: object { data, has_more, object, 2 more }` Paginated response for listing files. Uses cursor-based pagination for efficient iteration through results. - `data: array of File` List of files. - `id: string` The unique identifier for this file. - `content_type: string` The MIME type of the file. - `created_at: string` The timestamp when the file was uploaded. - `file_name: string` The original filename of the uploaded file. - `object: "file"` The object type, which is always 'file'. - `"file"` - `size: number` The size of the file in bytes. - `has_more: boolean` Whether there are more results available after this page. - `object: "list"` The object type, which is always 'list'. - `"list"` - `first_id: optional string` Unique identifier for a file. - `last_id: optional string` Unique identifier for a file. ### Example ```cli deeptable files list \ --api-key 'My API Key' ``` #### 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 `$ deeptable files upload` **post** `/v1/files` Upload an Excel spreadsheet file for later processing. Supported formats: - Excel (.xlsx) Maximum file size: 100 MB ### Parameters - `--file: string` The spreadsheet file to upload ### Returns - `file: object { id, content_type, created_at, 3 more }` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: string` The unique identifier for this file. - `content_type: string` The MIME type of the file. - `created_at: string` The timestamp when the file was uploaded. - `file_name: string` The original filename of the uploaded file. - `object: "file"` The object type, which is always 'file'. - `"file"` - `size: number` The size of the file in bytes. ### Example ```cli deeptable files upload \ --api-key 'My API Key' \ --file 'Example data' ``` #### 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 `$ deeptable files delete` **delete** `/v1/files/{file_id}` Delete a file. This cannot be undone. ### Parameters - `--file-id: string` The unique identifier of the file. ### Returns - `FileDeleteResponse: object { id, deleted, object }` Response from deleting a file. Following the OpenAI API convention for delete responses. - `id: string` The unique identifier of the deleted file. - `deleted: true` Whether the file was successfully deleted. - `true` - `object: "file"` The object type, which is always 'file'. - `"file"` ### Example ```cli deeptable files delete \ --api-key 'My API Key' \ --file-id file_01kfxgjd94fn9stqm414vjb0s8 ``` #### Response ```json { "id": "file_01kfxgjd94fn9stqm414vjb0s8", "deleted": true, "object": "file" } ``` ## Get file metadata `$ deeptable files retrieve` **get** `/v1/files/{file_id}` Get metadata for a specific file. ### Parameters - `--file-id: string` The unique identifier of the file. ### Returns - `file: object { id, content_type, created_at, 3 more }` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: string` The unique identifier for this file. - `content_type: string` The MIME type of the file. - `created_at: string` The timestamp when the file was uploaded. - `file_name: string` The original filename of the uploaded file. - `object: "file"` The object type, which is always 'file'. - `"file"` - `size: number` The size of the file in bytes. ### Example ```cli deeptable files retrieve \ --api-key 'My API Key' \ --file-id file_01kfxgjd94fn9stqm414vjb0s8 ``` #### 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 `$ deeptable files download` **get** `/v1/files/{file_id}/content` Download the original uploaded file content. ### Parameters - `--file-id: string` The unique identifier of the file. ### Returns - `unnamed_schema_0: file path` ### Example ```cli deeptable files download \ --api-key 'My API Key' \ --file-id file_01kfxgjd94fn9stqm414vjb0s8 ``` ## Domain Types ### File - `file: object { id, content_type, created_at, 3 more }` Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints. - `id: string` The unique identifier for this file. - `content_type: string` The MIME type of the file. - `created_at: string` The timestamp when the file was uploaded. - `file_name: string` The original filename of the uploaded file. - `object: "file"` The object type, which is always 'file'. - `"file"` - `size: number` The size of the file in bytes.