Code Interpreter
ApiFilesUpload

Upload files

POST
/upload

Uploads one or more files and returns the storage ids needed to reference them from /exec. The service mints the storage session; the caller does not choose it.

Rate limited to 30 uploads per 5 minutes by default. Per-file size is capped by MAX_FILE_SIZE (25 MiB default) and exceeding it returns 413.

Authorization

BearerAuth
AuthorizationBearer <token>

EdDSA (Ed25519) JWT minted by LibreChat. Required unless the service runs with LOCAL_MODE=true or CODEAPI_AUTH_PROVIDER=none.

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/upload"
{  "message": "success",  "storage_session_id": "string",  "files": [    {      "name": "string",      "id": "string",      "storage_session_id": "string",      "size": 0,      "lastModified": "2019-08-24T14:15:22Z",      "etag": "string",      "contentType": "string",      "metadata": {        "content-type": "string",        "original-filename": "string"      }    }  ]}