Uploads

Securely upload files for processing

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/pdf

    Images
    image/jpeg, image/png, image/tiff, image/gif, image/bmp, image/webp, image/heic

    Files 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.