---
title: Stop ETA Update
slug: fourkites-api-reference/stop-eta-update
description: Learn about the notifications received through callback URLs when the ETA for a stop changes by more than 15 minutes. This document covers the requirements for receiving these notifications, including the need to enable Stop Reference Numbers and Encrypte
createdAt: 2023-04-14T06:08:33.000Z
---

When the ETA for a stop changes by more than 15 minutes, the following notification will be triggered.

:::hint{type="info"}
**Note**: Stop ETA updated callbacks are triggered exclusively by changes to **FourKites ETA** calculations. Callbacks will not trigger for carrier ETA changes alone.&#x20;
:::

:::hint{type="info"}
&#x20;**Note**: This applies only to the ETAs shown at the stop level.
:::

:::hint{type="info"}
**Note**: If you want the `StopReferenceNumbers` & `EncryptedURL` to be sent in callbacks, you need to have the Stop Reference Numbers & Encrypted URL feature flags enabled.
:::

:::hint{type="info"}
**Note**: Ocean Load specific EncryptedURL will be sent only for the following list of callbacks:

- Load Creation&#x20;
- Load Updation
- Stop Created
- Stop Updated
- Stop Deleted
:::

:::hint{type="info"}
**Note**: To see the updated Carrier ETA for Ocean Loads, you need to have the Callback ETA/ETD Type configured as "FourKites & Carrier ETA" for your company. The updated "`CarrierETA`" parameter will be shown in the callback message as given in the sample payload below.

[Refer here](https://fourkites.my.site.com/hc/s/article/115007907167-Stop-ETA-Update#Air) for Air Load specific Carrier ETA update.
:::

:::hint{type="info"}
**Note**: `CarrierETA` is now also supported for **Air** loads, delivered inline on the same `STOP_ETA_UPDATED` callback alongside the FourKites ETA (`Timestamp`):

- If a carrier ETA is available, `CarrierETA` will contain the raw carrier ETA timestamp (ISO-8601 with timezone offset).
- If no carrier ETA is available, `CarrierETA` will be sent as an empty string (`""`), and `Timestamp` will still carry a non-empty FourKites ETA.
- This inline field does **not** apply to companies configured to receive Carrier and FourKites ETA as two separate callbacks (`ETAType: "Carrier"` / `"FourKites"`). For those companies, the existing two-callback behavior is unchanged.
- Ocean callback behavior is unaffected by this change.
:::

:::hint{type="info"}
**Note**: We have recently added new Ocean industry-standard stop types such as **Place of Receipt (POR)**, **Place of Delivery (DEL)**, **Empty Pickup Location**, and **Empty Return Location** -- The callbacks for events happening at these stops will include the mentioned "Stop Types".  Please note that, currently, these stop types are only visible in the callbacks. FourKites is actively working on making these new stops accessible through the user interface in the near future
:::

### Request Parameter

```json
{
"BillofLading": "bill_of_lading",
"BookingNumber": "booking_number",
"CarrierETA": "2022-08-15T07:08:44+08:00",
"dataSource": "fourkites-x",
"ContainerNumber":"BEAU5912889",
"ContainerType": "40FT",
"FourKitesLoadId": 1234,
"LoadNumber": "BOL12345",
"MessageType": "STOP_ETA_UPDATED",
"ProNumber": "",
"ReferenceNumbers": ["ref1", "ref2"],
"Scac": "ONEY",
"Shipper": "test-shipper",
"StopName": "ABC Stop",
"StopReferenceId": "1",
"StopSequence": 2,
"StopStatus": "on_track",
"StopType": "delivery",
"StopUnlocode": "NLRTM",
"Tags": ["tag1", "tag2"],
"TerminalName": "ECT DELTA TERMINAL",
"Timestamp": "2015-10-01T16:00:00-05:00",
"Timezone": "America/New_York",
"TimezoneShortName": "EST",
"TimezoneOffset" : -1800,
"VesselName": "ONE ORPHEUS",
"VoyageNumber": "069W"
}
```

**Sample Payload — Air (Carrier ETA available)**

```json
{
  "FourKitesLoadId": 675886708,
  "LoadNumber": "1074972149",
  "MessageType": "STOP_ETA_UPDATED",
  "Shipper": "test-shipper",
  "Scac": "KHNN",
  "StopType": "destinationAirport",
  "StopStatus": "on_track",
  "CarrierETA": "2026-06-20T02:01:00+02:00",
  "Timestamp": "2026-06-18T16:21:46+02:00",
  "Timezone": "Europe/Dublin",
  "Tags": ["Air"]
}
```

**Sample Payload — Air (no Carrier ETA available)**

Same shape as above, but with `CarrierETA` sent as an empty string and `Timestamp` (FourKites ETA) still populated:

```json
{
  "CarrierETA": "",
  "Timestamp": "2026-06-18T16:21:46+02:00"
}
```

###

### Field Descriptions

| **Field Name**  | **Data Type** | **Description**                                          | **Expected Values**                                                                                     | **Conditions for this to be available**                                                    | **Nullable Field?** |
| --------------- | ------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------- |
| `BillofLading`  | String        | It indicates the bill of lading associated with the load | Bill of lading reference                                                                                | Load should have a Bill Of Lading populated<br />This typically is provided by the shipper | Yes                 |
| `BookingNumber` | String        | It indicates the shipping line's booking number          | Booking Number reference                                                                                | Load should have a Booking Number populated<br />This typically is provided by the shipper | Yes                 |
| `CarrierETA`    | String        | It indicates the last updated Carrier ETA for the load   | - Timestamp format will be the following: "**2006-01-02T15:04:05-07:00**" \| Default **ISO8601** format |                                                                                            |                     |

- If there is no Carrier ETA received for that stop, the value would be **blank**
- If there is no Carrier ETA received for that stop, the value would be **blank**                                                    | Timestamp will be in stop's local time
  **For Ocean:** Carrier ETA will be applicable for the below StopTypes
  \- port\_of\_loading *(not common)*
- transhipment\_port
- port\_of\_discharge
- place\_of\_delivery
  **For Air:** Carrier ETA is applicable for companies **not** configured to receive Carrier and FourKites ETA as separate callbacks. For companies configured with the two-callback setup, this field is not sent inline, and the existing separate `ETAType: "Carrier"` / `"FourKites"` callbacks continue as-is. | Timestamp will be in stop's local time
  Carrier ETA will be applicable for the below StopTypes
  \- port\_of\_loading *(not common)*
- transhipment\_port
- port\_of\_discharge
- place\_of\_delivery                                                                                                                                                                                         | Yes                 |
  \| `ContainerNumber`   | String        | Container Number of the Ocean load                                                                                                                                                 | Container Number                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Load should have a Container Number populated                                                                                                                                                                                                                                                                                                                                                       | Yes                 |
  \| `ContainerType`     | String        | It indicates whether the container is a general, high cube, Reefer, etc.                                                                                                           | 20
  20 Reefer
  40
  40HC
  40HC Reefer
  45
  45HC
  48
  53
  55
  60                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 1. Load should have a Container Number populated

2. Container type info provided by the carrier source data                                                                                                                                                                                                                                                                                         | Yes                 |
   \| `FourKitesLoadId`   | String        | Unique load identifier from the FourKites system                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
   \| `LoadNumber`        | String        | Unique shipment identifier from shipper's system                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | - Provided by shipper (or)

- Container number is used as the load number
  When utilising the **Easy Load Create** option, the container number is used as the load number by default, unless a specific load number is explicitly provided by the shipper
  When utilising the **Automatically Create Load using EDI 315&#x20;**&#x6F;ption, the container number is used as the load number | No                  |
  \| `MessageType`       | String        | Indicates the type of the message.                                                                                                                                                 | STOP\_ETA\_UPDATED                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `ProNumber`         | String        | PRO# found on the ocean load.                                                                                                                                                      |  PRO number provided by the customer for a given load                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | As provided by customer, else “**null**”                                                                                                                                                                                                                                                                                                                                                            | Yes                 |
  \| `ReferenceNumbers`  | Array         | List of additional reference numbers associated with the load (empty list when no reference numbers are associated with the load)                                                  | Reference numbers provided by the customer for a given load                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | As provided by customer, else will be an **empty array**                                                                                                                                                                                                                                                                                                                                            | Yes                 |
  \| `Scac`              | String        | SCAC of the carrier assigned to the shipment/load                                                                                                                                  | \* SCAC code of the carrier on the load (or)
- If there are managing/operating carrier setup, this would be the SCAC code of the managing carrier on the load                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `Shipper`           | String        | Unique shipper ID from FourKites                                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `StopName`          | String        | Name of the stop as provided by the customer (or) carrier                                                                                                                          | The Stop Name will be sourced from the customer; if no specific stop name is provided, the carrier-provided location name will be used. In the absence of a location name within the carrier data, the UNLOCODE of the stop will be utilized                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `StopReferenceId`   | String        | It is the unique identifier of the stop from the customer's system. This populates the "Reference #" field on the stop and is used to indicate which stop an update is applied to. | Customer provided ID for a given stop                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `StopSequence`      | Integer       | The sequence of the stop on the load, for which the ETA update callback is being triggered                                                                                         | 1, 2, 3 etc.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Avoid using **StopSequence** field as an identifier for a stop, as it may change with carrier data updates                                                                                                                                                                                                                                                                                          | No                  |
  \| `StopStatus`        | String        | Status of the stop                                                                                                                                                                 | - on\_track
- delayed
- not\_tracking
- at\_facility
- completed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `StopType`          | String        | Indicator for the type of the stop                                                                                                                                                 | \* Pickup
- Terminal
- port\_of\_loading (not common)
- transhipment\_port
- port\_of\_discharge
- place\_of\_delivery
- Origin Airport
- Hub Airport
- Destination Airport
- Delivery                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `StopUnlocode`      | String        | It indicates the UNLOCODE of the stop                                                                                                                                              | UNLOCODE (United Nations Code for Trade and Transport Locations) follows a specific format consisting of a two-letter country code and a three-character location code, eg: BEANR                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | - UNLOCODE will *NOT* be populated for **Delivery** stoptype
- In rare instances where the location is unavailable in FourKites' address master, UNLOCODE might be “**null**”                                                                                                                                                                                                                       | Yes                 |
  \| `Tags`              | Array         | List of tags associated with the load (empty list when tags are not present)                                                                                                       | Tags provided by the customer for a given load                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | As provided by customer, else will be an **empty array**                                                                                                                                                                                                                                                                                                                                            | Yes                 |
  \| `TerminalName`      | String        | It indicates the terminal inside a port where the vessel is berthing (terminal name tied to a stop)                                                                                | Name of the terminal                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Applicable for messages tied to following stoptypes
  \- port\_of\_loading
- transhipment\_port
- port\_of\_discharge                                                                                                                                                                                                                                                                             | Yes                 |
  \| `Timestamp`         | String        | This is the Estimated Time of Arrival (ETA) for the given stop
  This is the FourKites calculated ETA                                                                           | Timestamp format will be the following: "**2006-01-02T15:04:05-07:00**" | Default **ISO8601** format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Timestamp will be in stop's local time                                                                                                                                                                                                                                                                                                                                                              | No                  |
  \| `Timezone`          | String        | Timezone of the stop                                                                                                                                                               | *Example:* “America/New\_York”, “Etc/UTC”
  Refer to [this article](https://fourkites.my.site.com/community/s/article/Timezones) for the list of timezones.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | The timezone of the stop's location                                                                                                                                                                                                                                                                                                                                                                 | No                  |
  \| `TimezoneShortName` | String        | Short name of Timezone of the stop in which "Timestamp" is specified                                                                                                               | *Example:* “CET”, “KST”
  If the short name is unavailable, the value will represent the timezone offset in hours, such as “+03” “+08” etc.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `TimezoneOffset`    | Integer       | It indicates the difference between local time and UTC in seconds                                                                                                                  | *Example:* “-18000”, “0”                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                     | No                  |
  \| `VesselName`        | String        | It indicates the name of the vessel carrying the load.                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | \* The **VesselName** field pertains to the currently active vessel assigned to the load. If there is no vessel assigned on the load, this field will be “null”
- If transshipment stops are part of the routing, this value will vary based on the active voyage leg
- Info provided by carrier                                                                                                | Yes                 |
  \| `VoyageNumber`      | String        | It indicates the unique identifier given for the voyage.                                                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | - The **VoyageNumber** field pertains to the currently active vessel assigned to the load. If there is no vessel assigned on the load, this field will be “null”
- If transshipment stops are part of the routing, this value will vary based on the active voyage leg
- Info provided by carrier                                                                                              | Yes                 |
