Overview
The POST /documents/upload endpoint enables authenticated users to upload one or more files containing utility bills or related documents. The uploaded files are stored in Amazon S3, and subsequently processed using our data extraction and parsing engine.
Authentication
Requests must include a valid JWT in the Authorization header (format described in separate authentication documentation).
Request
Method
POST
Path
/documents/upload
Content Type
multipart/form-data
Fields
| Field | Type | Required | Description |
|---|---|---|---|
fileData[] |
file[] | Yes | One or more files to upload. The field name must be fileData[] to allow multiple files. |
File Restrictions (Multer Configuration)
- Storage: Files are held in memory (
memoryStorage). - Maximum file size: 50 MB per file.
- Maximum number of files: 100 per request.
-
Allowed MIME types:
Documents
application/pdfImages
image/jpeg,image/png,image/tiff,image/gif,image/bmp,image/webp,image/heicFiles with unsupported MIME types are rejected silently (upload continues with only allowed files).
Responses
Success (201 Created)
{
"message": "Upload complete. Now processing X files... ETA Y minutes..."
}
X: Number of files uploaded.
Y: Rough estimate ETA in minutes.
This endpoint is designed for asynchronous operation: the response is returned as soon as files are uploaded to S3, while processing occurs separately.