# File Requirements

| Property | Value |
|  --- | --- |
| Accepted types | PDF, HL7, XML, JSON, CSV, Parquet, PNG, JPEG, HEIC, AVIF, WEBP |
| Max file size | 25 MB |
| Filename | Prefer ASCII; avoid special symbols |


## Form field name

The file field name is `file`.

```
Content-Disposition: form-data; name="file"; filename="your-file.pdf"
```

## Single file upload

```bash
curl --location 'https://app.jondax.eu/api/master?module=pathology' \
--header 'Authorization: Bearer <JONDAX_API_KEY>' \
--form 'file=@"/path/to/lab-report.pdf"'
```

**Response:**

```json
{
  "success": true,
  "data": {
    "type": "pathology",
    "status": "uploaded",
    "uploads": [
      {
        "uploadId": "a71fd99c-f510-4226-82ce-c50028e71505",
        "fileName": "E46UNRB_96dpi_1.png",
        "message": "File uploaded successfully"
      }
    ],
    "filesCount": 1,
    "message": "1 pathology file(s) uploaded successfully"
  }
}
```

## Multiple files

You can upload up to **10 files** in a single request by sending multiple `file` fields. Each file is processed independently and gets its own `uploadId` in the response.

```bash
curl --location 'https://app.jondax.eu/api/master?module=pathology' \
--header 'Authorization: Bearer <JONDAX_API_KEY>' \
--form 'file=@"/path/to/report-1.pdf"' \
--form 'file=@"/path/to/report-2.pdf"'
```

**Response:**

```json
{
  "success": true,
  "data": {
    "type": "pathology",
    "status": "uploaded",
    "uploads": [
      {
        "uploadId": "dfe26526-4879-4a87-8e51-86770ffeb911",
        "fileName": "E46UNRB_96dpi_1.png",
        "message": "File uploaded successfully"
      },
      {
        "uploadId": "645caacc-0d8b-45c2-9ab5-9dd7f183ce1a",
        "fileName": "E46UNRB_96dpi_1.png",
        "message": "File uploaded successfully"
      }
    ],
    "filesCount": 2,
    "message": "2 pathology file(s) uploaded successfully"
  }
}
```

## Upload response field reference

| Field | Type | Description |
|  --- | --- | --- |
| `data.type` | string | Always `"pathology"` |
| `data.status` | string | Always `"uploaded"` on success |
| `data.uploads` | array | One entry per uploaded file |
| `data.uploads[].uploadId` | string | UUID to track this upload — store it for status polling |
| `data.uploads[].fileName` | string | Original filename as received |
| `data.uploads[].message` | string | Always `"File uploaded successfully"` |
| `data.filesCount` | integer | Number of files accepted in this request |
| `data.message` | string | Human-readable summary |