Beta: Exceptions via API

🚧

Please note

This is a new experimental feature. We're actively soliciting feedback from users and may change certain details in response. To give feedback, please reach out to us at [email protected].

What are Exceptions?

Exceptions in OpenTrack are significant disruptions or changes to a container's journey that may impact smooth operations. When an exception is detected, users of OpenTrack's web app can be alerted.

Now you can be alerted via API, too. We've recently released an Exceptions webhook event that allows API integrations to receive a webhook notification when an exception happens, so you can display the details to users of your own system or use it to trigger workflows.

The first supported exception is the Rolled Cargo event, described below, which alerts you when a container was moved to a new vessel with a new ETA.


Webhook Event: container.exceptions.updated

Available Exception Types

This is the first exception type available in the API:

exceptionNameDescription
rolledCargoThe container was changed to a different vessel with a new ETA
📣

Want more exception types? Please let us know at [email protected] or in your in-app chat.

Exception Status

exceptionStatusMeaning
RolledContainer was moved to a later vessel (ETA delayed)
AdvancedContainer was moved to an earlier vessel (ETA improved)

Payload structure

Unlike other webhook events, container.exceptions.updated has a simplified payload with exception-specific fields and no changes object:

{
  "event": "container.exceptions.updated",
  "data": {
    "containerId": "MSCU1234567",
    "masterBillNumber": "MEDU123456789",
    "exceptionName": "rolledCargo",
    "exceptionStatus": "Rolled",
    "originPort": { ... },
    "destinationPort": { ... },
    "previousVessel": { "name": "ORIGINAL VESSEL" },
    "currentVessel": { "name": "NEW VESSEL", "imo": "1234", "mmsi": "1234" },
    "previousEta": "2025-12-11T16:00:00.000Z",
    "currentEta": "2025-12-14T16:00:00.000Z"
  },
  "deliveryAttempt": 1,
  "pendingRetries": 4,
  "sentAt": "2025-12-11T16:00:00.000Z"
}