Skip to main content
POST
/
files
Upload File
curl --request POST \
  --url https://api.tess.im/files \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file' \
  --form process=false

Documentation Index

Fetch the complete documentation index at: https://docs.tess.im/llms.txt

Use this file to discover all available pages before exploring further.

Supported files

LabelFile Pattern(s)
Text*.txt
Word*.{doc,docx}
Spreadsheet*.csv
PDF*.pdf
Excel*.xls,*.xlsx
Power Point*.{ppt,pptx}
Image*.{jpg,jpeg,png,gif,bmp,svg,tiff,webp}
Video*.{mp4,avi,mov,mkv,wmv,flv}
Audio*.{mp3,wav,aac,ogg,flac,m4a}
Code*.bas, *.bat, *.xml, *.css, *.dart, *.{html,htm}, *.inc, *.js, *.json, *.kt, *.lua, *.pas, *.php, *.pl, *.ps1, *.py, *.r, *.sh, *.vsd, *.sql, *.swift, *.ts, *.vb, *.vba, *.{yml,yaml}, *.md

Limits

  • Maximum file size per upload: 200 MB
  • This endpoint accepts one file per request (use multiple requests for multiple files).
  • File storage limit: 30 files
  • Some features have different limits:
    • Chat attachments: up to 200 MB per file; up to 5 files per send
    • Audio transcription: up to 10 MB per file

Code Examples

curl --request POST \
  --url 'https://api.tess.im/files' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: multipart/form-data' \
  --form 'file=@/path/to/file' \
  --form 'process=false'

Response

{
"id": 73325,
"object": "file",
"bytes": 35504128,
"created_at": "2025-01-05T22:26:27+00:00",
"filename": "endpoints.pdf",
"credits": 0,
"status": "waiting"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-workspace-id
integer

ID of the workspace. If not provided, the user's selected workspace will be used.

Body

multipart/form-data
file
file
required

The file to upload.

process
boolean
default:false

Whether to process the file after upload.

Response

200

File uploaded successfully.