Files
The /files
endpoints allow you to upload and manage files for batch processing. Uploaded files must be newline-delimited JSON (.jsonl
) and are used with the Batches API.
HTTP Requests
POST /files
POST /v1/files
Host: your-aqueduct-domain.com
Authorization: Bearer YOUR_AQUEDUCT_TOKEN
Content-Type: multipart/form-data
GET /files
GET /v1/files
Host: your-aqueduct-domain.com
Authorization: Bearer YOUR_AQUEDUCT_TOKEN
GET /files/{file_id}
GET /v1/files/{file_id}
Host: your-aqueduct-domain.com
Authorization: Bearer YOUR_AQUEDUCT_TOKEN
DELETE /files/{file_id}
DELETE /v1/files/{file_id}
Host: your-aqueduct-domain.com
Authorization: Bearer YOUR_AQUEDUCT_TOKEN
GET /files/{file_id}/content
GET /v1/files/{file_id}/content
Host: your-aqueduct-domain.com
Authorization: Bearer YOUR_AQUEDUCT_TOKEN
Upload a File
The request body must be sent as multipart/form-data
with the following fields:
Parameter | Type | Description |
---|---|---|
file | file | A newline-delimited JSON (.jsonl ) file to upload. |
purpose | string | Must be set to batch . |
Files are given an expiry date, after which they are deleted. By default, this expiry is 7 days.
See the OpenAI documentation for file uploads: File Upload API.
List Files
Retrieve a list of uploaded files for your user.
Retrieve File Metadata
Get metadata for a specific file by its ID.
Download File Content
Download the raw contents of a specific file by its ID.
Delete a File
Delete a specific file by its ID.
Examples
cURL Example
# Upload a file
curl https://your-aqueduct-domain.com/files \
-H "Authorization: Bearer YOUR_AQUEDUCT_TOKEN" \
-F "purpose=batch" \
-F "file=@data.jsonl"
# List files
curl https://your-aqueduct-domain.com/files \
-H "Authorization: Bearer YOUR_AQUEDUCT_TOKEN"
# Download file content
curl https://your-aqueduct-domain.com/files/{file_id}/content \
-H "Authorization: Bearer YOUR_AQUEDUCT_TOKEN"
# Delete file
curl https://your-aqueduct-domain.com/files/{file_id} \
-X DELETE \
-H "Authorization: Bearer YOUR_AQUEDUCT_TOKEN"
Python Example (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://your-aqueduct-domain.com",
api_key="YOUR_AQUEDUCT_TOKEN",
)
# Upload file
with open("data.jsonl", "rb") as f:
response = client.files.create(file=f, purpose="batch")
print(response.id)
# List files
files = client.files.list()
for file in files.data:
print(file.id, file.filename)
# Download content
content = client.files.content(response.id)
print(content)
# Delete file
client.files.delete(response.id)
Error Responses
Same as Completions endpoint, with the following file-specific cases:
Status Code | Description |
---|---|
400 | Bad request (missing file or purpose , unsupported purpose , invalid file extension, file too large) |
404 | File not found (for metadata, download, or delete) |