# Upload Widget

The Upload Widget lets you upload files to JondaX without writing any code. It supports both the **Pathology** and **Medical Device** modules.

## What is the Upload Widget?

The Upload Widget is a ready-made upload interface available in your JondaX client portal. You can:

- **Use it directly** in the portal to upload files and receive results — ideal for quick testing or occasional uploads
- **Embed it** in your own application so your users can upload files without you building a custom upload feature


## Who is it for?

- Clients who want to **test JondaX immediately** without setting up API calls or using curl
- Teams that prefer a **no-code integration** — embed the widget rather than building file upload logic
- Users who need to **upload files occasionally** without developer involvement


## Using the Widget in the Portal

### Where to find it

The Upload Widget is located on the **Integration** page in your JondaX client portal.

![Upload Widget on Integration page](/assets/widget-integration-page.ab4a2ed90af5fb61fede07b39aac94a019f4c1ec5dddfcdd1e8cbaa1217903f5.a1161040.png)

### How to upload

1. Navigate to the **Integration** page in your portal
2. Click on **Upload File** button
3. Select the module — **Pathology** or **Medical Device**
4. Drag and drop your file onto the widget, or click to browse
5. The widget uploads the file and shows you the status


![Widget upload in progress](/assets/widget-upload-progress.e14b1c5e3f59180817bd8a01805c99f29fc0c085a2a63eaa96b86de07bb8749c.a1161040.png)

### What happens after upload

- **Pathology:** The file enters the processing pipeline. Results are delivered to your configured callback URL (same as API uploads). You can also download the output from the **Transformed Files** page in the portal.


![Pathology results in widget output](/assets/widget-pathology-output.85ae2a12a8b8b86a90f647119616163db15d3d0d80b62de586a68cb65e61db73.a1161040.png)

- **Medical Device:** Since processing is synchronous, the extracted data (device type, readings, confidence score) appears **immediately in the widget output section** — no callback or separate download needed.


![Medical device results in widget output](/assets/widget-medical-output.021cfc13b354891bd3676ffc3c99bf01c9caf8924b11a0bfb6b8948e875f9afd.a1161040.png)

## Embedding the Widget

You can embed the Upload Widget directly into your own web application. This gives your end-users a JondaX-powered upload experience without any backend integration work on your side.

### Getting the embed code

1. Go to the **Integration** page in the client portal
2. Click on **Upload File** button
3. Locate the **Embed Widget** section
4. Copy the embed snippet


![Embed code section](/assets/widget-embed-code.865a93e0af2298b6c84f0425f65fb2dc4cd4d08703d6cda64cb4d30835a53f47.a1161040.png)

### Embed snippet example

```html
<iframe
  src="https://app.jondax.eu/widget/upload?apiKey=YOUR_API_KEY&module=pathology"
  width="100%"
  height="400"
  frameborder="0"
  allow="clipboard-write"
></iframe>
```

### Configuration options

| Parameter | Required | Description |
|  --- | --- | --- |
| `apiKey` | Yes | Your JondaX API key |
| `module` | Yes | `pathology` or `medical` |


### Security considerations

- The embed uses your API key. Only embed the widget in trusted, authenticated environments.
- Never expose the widget on a public-facing page without access controls.
- For production use, ensure your hosting page is served over HTTPS.


## Supported file types

The widget accepts the same file types as the API:

Pathology
- PDF (`.pdf`)
- HL7, XML, JSON, CSV, Parquet
- Images (`.png`, `.jpg`, `.jpeg`, `.heic`, `.avif`, `.webp`)
- Max file size: 25 MB
- Up to 10 files per upload


Medical Device
- Images (`.jpg`, `.jpeg`, `.png`, `.gif`, `.webp`)
- PDF (`.pdf`)
- Max file size: 25 MB
- Up to 10 files per upload


## Widget vs API — when to use which

| Scenario | Recommended |
|  --- | --- |
| Quick test of JondaX without setup | Widget |
| Occasional manual uploads by non-technical staff | Widget |
| Embedding upload in your app without backend work | Widget (embed) |
| High-volume automated processing | API |
| Custom upload logic with retries and queuing | API |
| Server-to-server integration | API |


## Troubleshooting

| Issue | Solution |
|  --- | --- |
| Widget not loading | Check that your API key is valid and not expired |
| Upload fails | Verify the file meets the [file requirements](/docs/pathology/file-requirements) for your module |
| No callback received (Pathology) | Confirm your callback URL is configured on the Integration page |
| Embed blocked by browser | Ensure your page is served over HTTPS and CSP headers allow the JondaX iframe |