> ## Documentation Index
> Fetch the complete documentation index at: https://traddal.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Event types

> Every event Traddal can deliver to your endpoint.

Every consignment timeline event is a webhook event, plus manifest lifecycle
and carrier tracking.

## Consignment events

| Event                                 | Fires when                                           |
| ------------------------------------- | ---------------------------------------------------- |
| `consignment.created`                 | A consignment is created (API, import, or dashboard) |
| `items.classified`                    | The classifier assigns HS codes to items             |
| `duties.calculated`                   | A duty assessment completes                          |
| `payment.requested`                   | A duty payment link is issued                        |
| `payment.paid`                        | The payer completes payment                          |
| `email.queued` / `email.opened`       | Notification emails move                             |
| `hold.placed` / `hold.released`       | A hold changes state                                 |
| `label.generated`                     | A carrier label is produced                          |
| `group.scanned`                       | A parcel is scanned into a processing group          |
| `product.applied` / `product.matched` | Catalogue products attach to items                   |
| `pre_alert.created`                   | A pre-alert is sent                                  |
| `comment`                             | A timeline comment is added                          |

## Manifest events

| Event                                                  | Fires when                                |
| ------------------------------------------------------ | ----------------------------------------- |
| `manifest.created`                                     | A manifest is created                     |
| `manifest.linked`                                      | A consignment links to a manifest row     |
| `manifest.mismatch`                                    | A linked row disagrees with declared data |
| `manifest.import.completed`                            | An uploaded manifest finishes importing   |
| `manifest.ingest.completed` / `manifest.ingest.failed` | Automated ingest finishes or fails        |

## Carrier events

| Event              | Fires when                                                     |
| ------------------ | -------------------------------------------------------------- |
| `carrier.tracking` | Any harmonised tracking event arrives, with matched parcel IDs |

## Test

| Event       | Fires when                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `test.ping` | You press the test button on the Developers page. Delivered synchronously — the response reports your endpoint's actual HTTP status. |

<Tip>
  Use category wildcards to subscribe to a family: `manifest.*` receives every
  manifest event, including types added later.
</Tip>
