# Callback Configuration

Before uploading files, configure your callback endpoint on the **Integration** page in the JondaX client portal.

## Your system's URL and keys

| Setting | Required | Description |
|  --- | --- | --- |
| Endpoint URL | Yes | The URL JondaX will POST results to |
| Authentication Header | No | Header name your endpoint expects for auth |
| Authentication Key | No | Header value (shown masked in the portal after saving) |


## Output settings

| Setting | Required | Description |
|  --- | --- | --- |
| Payload Type | Yes | `File` or `Inline` — Inline is only available for **JSON** and **FHIR JSON**. All other formats (HL7, FHIR XML, CSV, Parquet) are File only. |
| Output Format | Yes | `JSON`, `FHIR JSON`, `HL7`, `FHIR XML`, `CSV`, `Parquet` |
| Original results in output | No | When enabled, includes raw source data alongside transformed results in the callback payload. Disabled by default. |


## Retry behavior

If your callback endpoint is unreachable or returns a non-2xx status, JondaX retries delivery up to **3 times**:

| Attempt | Timing |
|  --- | --- |
| 1st retry | Immediately after failure |
| 2nd retry | 30 minutes later |
| 3rd retry | 6 hours later |


If all retries fail, the result is stored for **30 days** and can be retrieved by contacting support.

## Checking delivery status

Use the status polling endpoint to inspect whether your callback was delivered:

```
GET https://app.jondax.eu/api/v1/status/:uploadId
Authorization: Bearer <JONDAX_API_KEY>
```

The `callbackDelivery.status` field reports one of: `pending`, `delivered`, `retrying`, or `exhausted`. See the [Status Polling](#status-polling) section for full details.

## Verifying callback authenticity

JondaX sends the authentication header name and value you configured on the Integration page with every callback. Verify this header matches your expected value to confirm the request is genuine.

> IP allowlisting will be available in a future release.