Stable v1.0Last updated recently
Get Started

File Upload

Upload one or multiple documents securely using the DocScanner File Upload API.

Upload Files

The File Upload API allows you to upload one or multiple documents for processing. All requests must be authenticated using an API key sent in thex-api-key header.

API keys can be generated from your Dashboard or Subscription page. Requests without a valid API key will be rejected.

Endpoint

HTTP Endpoint
POST /api/v1/documents/upload_files

Request Authentication

Every request must include your API key in the request headers.

Authentication Header
x-api-key:  YOUR_API_KEY_HERE

Request Format

The request must be sent as multipart/form-data. Files must be attached using thefiles[] field.

Single File Upload

cURL – Single File Upload
curl -X POST "/api/v1/documents/upload_files" \
  -H "x-api-key: YOUR_API_KEY_HERE" \
  -F "files[]=@/path/to/file1.pdf"

Multiple File Upload

You can upload multiple documents in a single request by attaching multiple files[] fields.

cURL – Multiple Files Upload
curl -X POST "/api/v1/documents/upload_files" \
  -H "x-api-key: YOUR_API_KEY_HERE" \
  -F "files[]=@/path/to/file1.pdf" \
  -F "files[]=@/path/to/file2.jpg" \
  -F "files[]=@/path/to/file3.png"

Supported Formats

  • PDF (.pdf)
  • Images (.png, .jpg, .jpeg)
  • Scanned documents

Response

On success, the API returns metadata for each uploaded file along with its initial processing status.

200 OKFiles uploaded successfully
Response Body
{
    "status": 201,
    "message": "1 files uploaded successfully.",
    "result": [
        {
            "id": 102,
            "user_id": 1,
            "original_filename": "imagedata.jpg",
            "file_type": "image",
            "file_size": 74356,
            "status": "processing",
            "industry": null,
            "created_at": "2026-01-13T15:04:27.734333+05:00",
            "updated_at": "2026-01-13T15:04:27.734333+05:00",
            "processed_at": null,
            "s3_url": "STORAGE_IMAGE_URL/1/24eb986d-fb37-4910-8cea-fe0e1c68834c/imagedata.jpg"
        }
    ]
}

Processing Status

Uploaded files are processed asynchronously. Common status values include:

  • processing – File is being processed
  • completed – Processing finished successfully
  • failed – Processing failed

Error Responses

401 UnauthorizedMissing or invalid API key
Response Body
{
    "status": 401,
    "message": "API key required for API access",
    "result": null
}
400 ErrorNo files provided
Response Body
{
    "status": 400,
    "message": "No files provided. Please upload the files first.",
    "result": null
}

Rate Limits

File upload limits and request rates depend on your active subscription plan. Exceeding limits may result in temporary request blocking.