Line Updated
The LINE_UPDATED callback is triggered when one or more line items within an existing order are modified in FourKites. Use this callback to track granular line-level changes — such as quantity adjustments, status updates, or shipment associations — without processing a full order update.
The payload includes full order context alongside the updated line item details. Unlike ORDER_UPDATED, this callback does not include a shipmentDetails object.
Request Parameter
{
"messageType": "LINE_UPDATED",
"companyPermalink": "string",
"fourKitesOrderId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-15T10:30:45.123456789Z",
"uuid": "string",
"subStatusType": "order",
"subStatus": "string",
"eventTimestamp": "2025-01-15T10:30:45.123456789Z",
"timezone": "Coordinated Universal Time",
"timezoneShortName": "UTC",
"timezoneOffset": 0,
"isSuccess": true,
"updatedAt": "2025-01-15T10:30:45.123456789Z",
"requestId": "string",
"orderDetails": {
"orderNumber": "string",
"orderStatus": "string",
"orderStatusTime": "2025-01-15T10:30:45.123456789Z",
"orderType": "PO",
"orderPaymentType": "string",
"orderTransportType": "domestic",
"orderActualShipDate": "2025-01-15T10:30:45.123456789Z",
"orderDestinationETA": "2025-01-15T10:30:45.123456789Z",
"orderPickupETA": "2025-01-15T10:30:45.123456789Z",
"orderActualDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"orderRequiredDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"orderMustShipByDate": "2025-01-15T10:30:45.123456789Z",
"orderETA": "2025-01-15T10:30:45.123456789Z",
"orderETAStatus": "ON_TIME",
"orderDestination": "string",
"orderReferenceNumbers": ["string"],
"orderEURL": "string",
"releaseDate": "2025-01-15T10:30:45.123456789Z",
"holdDate": "2025-01-15T10:30:45.123456789Z",
"originalRequiredDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"originalShipDate": "2025-01-15T10:30:45.123456789Z",
"latestDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"orderCreationDate": "2025-01-15T10:30:45.123456789Z",
"lastUpdatedTime": "2025-01-15T10:30:45.123456789Z",
"currencyCode": "string",
"totalMonetaryAmountIncludingTaxes": "string",
"totalMonetaryAmountExcludingTaxes": "string",
"totalTaxAmount": "string",
"isOrderFreeOfExciseTaxDuty": "string",
"totalTariffCost": 0.0,
"totalTariffPercentage": 0,
"status": "string",
"orderStatusCode": "string",
"orderPriority": "NORMAL",
"sourceType": "erp",
"orderEntryType": "string",
"orderInstructionCode": "string",
"additionalOrderInstruction": "string",
"paymentMethodCode": "string",
"numberOfDeliveries": 0,
"numberOfShipments": 0,
"numberOfLineItems": 0,
"referenceNumbers": [
{
"type": "string",
"value": "string"
}
],
"reasonCodes": ["string"],
"buyer": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "Factory",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"seller": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "Factory",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"shipFrom": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "Factory",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"shipTo": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "DC",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"billTo": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"pickupFrom": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"pickupETAStatus": "ON_TIME",
"externalUrl": [
{
"name": "string",
"url": "string"
}
],
"deliveryTerms": {
"inCoTermsCode": "string",
"deliveryInstructions": "string"
},
"shipmentReference": ["string"],
"orderAvpList": [
{
"customKey": "customValue"
}
],
"shipmentNumbers": ["string"],
"trackingNumbers": ["string"],
"deliveryIdentifiers": ["string"],
"lineItems": [
{
"itemName": "string",
"lineItemNumber": "string",
"itemDescription": "string",
"lineMabd": "2025-01-15T10:30:45.123456789Z",
"lineShipDate": "2025-01-15T10:30:45.123456789Z",
"lineShipTo": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"lineShipFrom": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"externalUrl": [
{
"name": "string",
"url": "string"
}
],
"requestedQuantity": 0.0,
"shippedQuantity": 0.0,
"quantityUnit": "string",
"netPrice": 0.0,
"netAmount": 0.0,
"weightUnit": "string",
"distributionMethod": "string",
"itemNetWeight": 0.0,
"itemGrossWeight": 0.0,
"additionalOrderLineInstruction": "string",
"promoDate": "string",
"holdDate": "string",
"originalLineRequiredDeliveryDate": "string",
"originalLineShipDate": "string",
"lineItemActionCode": "updated",
"orderLineItemInstructionCode": "string",
"orderLineItemPriority": "NORMAL",
"transactionalTradeItem": {
"transactionalItemData": {
"itemNumber": "string",
"itemNameOnInvoice": "string"
},
"color": {
"colorCode": "string",
"colorName": "string"
},
"size": {
"sizeCode": "string",
"sizeName": "string"
}
},
"avpList": {},
"caseDetails": [
{
"caseNumber": "string",
"caseQuantity": 0.0,
"innerPackQuantity": 0.0
}
],
"product": {
"productId": "string",
"productName": "string",
"productDescription": "string",
"productSku": "string",
"productCategory": "string",
"gtin": "string",
"commodityTypeCode": "string",
"productOwner": "string",
"productUpc": "string",
"additionalTradeItemClassificationCode": "string",
"gpcCategoryCode": "string",
"gpcCategoryName": "string",
"gpcAttributeTypeCode": "string",
"gpcAttributeTypeName": "string",
"gpcAttributeValueCode": "string",
"gpcAttributeValueName": "string"
},
"referenceNumbers": [
{
"type": "string",
"value": "string"
}
],
"htsCode": "string",
"tariffCost": 0.0,
"tariffPercentage": 0,
"supplierHtsCode": "string",
"lineStatus": "string",
"shipmentIds": [123],
"shipmentNumbers": ["SHIP001"],
"deliveryIds": ["DEL001"]
}
]
}
}Field Descriptions
Top-Level Fields
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
messageType | The type of callback message (e.g., LINE_UPDATED) | Yes | Yes | String | No Max |
companyPermalink | The unique permalink identifier for the company | Yes | Yes | String | No Max |
fourKitesOrderId | The unique FourKites-generated UUID for the order | Yes | Yes | String (UUID) | No Max |
createdAt | The timestamp when the callback was generated | Yes | Yes | Timestamp | No Max |
uuid | Unique ID for the callback | Yes | Yes | String | No Max |
subStatusType | The category of the sub-status (e.g., order) | Yes | No | String | No Max |
subStatus | The sub-status value | Yes | No | String | No Max |
eventTimestamp | The timestamp of the triggering event | Yes | Yes | Timestamp | No Max |
timezone | Full timezone name (e.g., Coordinated Universal Time) | Yes | No | String | No Max |
timezoneShortName | Abbreviated timezone name (e.g., UTC) | Yes | No | String | No Max |
timezoneOffset | UTC offset in hours | Yes | No | Integer | No Max |
isSuccess | Indicates if the event was processed successfully | Yes | Yes | Boolean | — |
updatedAt | Timestamp of the last update to the callback | Yes | Yes | Timestamp | No Max |
requestId | Unique identifier for the API request | Yes | No | String | No Max |
orderDetails | Object containing full order details | Yes | No | Object | No Max |
orderDetails Object
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
orderNumber | The unique identifier for the order | Yes | Yes | String | No Max |
orderStatus | The current status of the order | Yes | Yes | String | No Max |
orderStatusTime | Timestamp of the current order status | Yes | No | Timestamp | No Max |
orderType | Type of order (e.g., PO) | Yes | No | String | No Max |
orderPaymentType | Payment type for the order | Yes | No | String | No Max |
orderTransportType | Transport type (e.g., domestic, international) | Yes | No | String | No Max |
orderActualShipDate | Actual ship date of the order | Yes | No | Timestamp | No Max |
orderDestinationETA | Estimated arrival time at the destination | Yes | No | Timestamp | No Max |
orderPickupETA | Estimated pickup time | Yes | No | Timestamp | No Max |
orderActualDeliveryDate | Actual delivery date of the order | Yes | No | Timestamp | No Max |
orderRequiredDeliveryDate | Required delivery date for the order | Yes | No | Timestamp | No Max |
orderMustShipByDate | Latest date by which the order must ship | Yes | No | Timestamp | No Max |
orderETA | Overall ETA for the order | Yes | No | Timestamp | No Max |
orderETAStatus | ETA status of the order (e.g., ON_TIME, LATE) | Yes | No | String | No Max |
orderDestination | Destination of the order | Yes | No | String | No Max |
orderReferenceNumbers | List of reference numbers associated with the order | Yes | No | Array[String] | No Max |
orderEURL | External URL for the order | Yes | No | String | No Max |
releaseDate | Date the order was released | Yes | No | Timestamp | No Max |
holdDate | Date the order was placed on hold | Yes | No | Timestamp | No Max |
originalRequiredDeliveryDate | Original required delivery date before any changes | Yes | No | Timestamp | No Max |
originalShipDate | Original planned ship date | Yes | No | Timestamp | No Max |
latestDeliveryDate | Latest acceptable delivery date | Yes | No | Timestamp | No Max |
orderCreationDate | Date the order was created in the source system | Yes | Yes | Timestamp | No Max |
lastUpdatedTime | Timestamp of the last update to the order | Yes | No | Timestamp | No Max |
currencyCode | Currency code for monetary values (e.g., USD) | Yes | No | String | No Max |
totalMonetaryAmountIncludingTaxes | Total order value including taxes | Yes | No | String | No Max |
totalMonetaryAmountExcludingTaxes | Total order value excluding taxes | Yes | No | String | No Max |
totalTaxAmount | Total tax amount for the order | Yes | No | String | No Max |
isOrderFreeOfExciseTaxDuty | Indicates if the order is exempt from excise tax/duty | Yes | No | String | No Max |
totalTariffCost | Total tariff cost applied to the order | Yes | No | Float | No Max |
totalTariffPercentage | Total tariff percentage applied to the order | Yes | No | Integer | No Max |
status | General status of the order | Yes | No | String | No Max |
orderStatusCode | Status code for the order | Yes | No | String | No Max |
orderPriority | Priority level of the order (e.g., NORMAL, HIGH) | Yes | No | String | No Max |
sourceType | Source system type (e.g., erp) | Yes | No | String | No Max |
orderEntryType | Method by which the order was entered | Yes | No | String | No Max |
orderInstructionCode | Instruction code for the order | Yes | No | String | No Max |
additionalOrderInstruction | Free-text additional instructions for the order | Yes | No | String | No Max |
paymentMethodCode | Code representing the payment method | Yes | No | String | No Max |
numberOfDeliveries | Total number of deliveries for the order | Yes | No | Integer | No Max |
numberOfShipments | Total number of shipments for the order | Yes | No | Integer | No Max |
numberOfLineItems | Total number of line items in the order | Yes | No | Integer | No Max |
referenceNumbers | Typed reference number pairs (type + value) | Yes | No | Array[Object] | No Max |
reasonCodes | List of reason codes associated with the order | Yes | No | Array[String] | No Max |
pickupETAStatus | ETA status for pickup (e.g., ON_TIME, LATE) | Yes | No | String | No Max |
externalUrl | List of named external URLs related to the order | Yes | No | Array[Object] | No Max |
deliveryTerms | Incoterms code and delivery instructions | Yes | No | Object | No Max |
shipmentReference | List of associated shipment reference numbers | Yes | No | Array[String] | No Max |
orderAvpList | Custom key-value attribute pairs for the order | Yes | No | Array[Object] | No Max |
shipmentNumbers | List of shipment numbers linked to the order | Yes | No | Array[String] | No Max |
trackingNumbers | List of tracking numbers for the order | Yes | No | Array[String] | No Max |
deliveryIdentifiers | List of delivery identifiers for the order | Yes | No | Array[String] | No Max |
buyer | Party details for the buyer | Yes | No | Object | No Max |
seller | Party details for the seller | Yes | No | Object | No Max |
shipFrom | Party and address details for the ship-from location | Yes | No | Object | No Max |
shipTo | Party and address details for the ship-to location | Yes | No | Object | No Max |
billTo | Party and address details for the bill-to location | Yes | No | Object | No Max |
pickupFrom | Party and address details for the pickup location | Yes | No | Object | No Max |
lineItems | List of line items included in the order | Yes | No | Array[Object] | No Max |
Party Object Fields
Applies to: buyer, seller, shipFrom, shipTo, billTo, pickupFrom
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
gln | Global Location Number of the party | Yes | No | String | No Max |
id | Internal identifier for the party | Yes | No | String | No Max |
organisationName | Name of the organization | Yes | No | String | No Max |
address.name | Name of the location | Yes | No | String | No Max |
address.addressLine1 | Primary street address | Yes | No | String | No Max |
address.addressLine2 | Secondary address line | Yes | No | String | No Max |
address.city | City | Yes | No | String | No Max |
address.state | State or province | Yes | No | String | No Max |
address.country | Country | Yes | No | String | No Max |
address.zip | Postal or ZIP code | Yes | No | String | No Max |
address.locationType | Type of location (e.g., Factory, DC) | Yes | No | String | No Max |
address.idNumber | Location ID number | Yes | No | String | No Max |
contact.firstName | First name of the contact person | Yes | No | String | No Max |
contact.lastName | Last name of the contact person | Yes | No | String | No Max |
contact.email | Email address of the contact | Yes | No | String | No Max |
contact.phone | Phone number of the contact | Yes | No | String | No Max |
lineItems — Per Line Item Fields
Includes all fields from ORDER_CREATED plus lineStatus, shipmentIds, shipmentNumbers, and deliveryIds.
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
itemName | Name of the line item | Yes | No | String | No Max |
lineItemNumber | Line item number | Yes | No | String | No Max |
itemDescription | Description of the item | Yes | No | String | No Max |
lineMabd | Must-arrive-by date for the line item | Yes | No | Timestamp | No Max |
lineShipDate | Planned ship date for the line item | Yes | No | Timestamp | No Max |
lineShipTo | Ship-to party details for the line item | Yes | No | Object | No Max |
lineShipFrom | Ship-from party details for the line item | Yes | No | Object | No Max |
externalUrl | Named external URLs for the line item | Yes | No | Array[Object] | No Max |
requestedQuantity | Quantity requested for the line item | Yes | No | Float | No Max |
shippedQuantity | Quantity actually shipped | Yes | No | Float | No Max |
quantityUnit | Unit of measure for quantity | Yes | No | String | No Max |
netPrice | Net price per unit | Yes | No | Float | No Max |
netAmount | Total net amount for the line item | Yes | No | Float | No Max |
weightUnit | Unit of measure for weight | Yes | No | String | No Max |
distributionMethod | Method of distribution for the line item | Yes | No | String | No Max |
itemNetWeight | Net weight of the item | Yes | No | Float | No Max |
itemGrossWeight | Gross weight of the item | Yes | No | Float | No Max |
additionalOrderLineInstruction | Additional free-text instructions for the line | Yes | No | String | No Max |
promoDate | Promotional date associated with the line item | Yes | No | String | No Max |
holdDate | Hold date for the line item | Yes | No | String | No Max |
originalLineRequiredDeliveryDate | Original required delivery date for the line | Yes | No | String | No Max |
originalLineShipDate | Original planned ship date for the line | Yes | No | String | No Max |
lineItemActionCode | Action code for the line item (e.g., added, updated) | Yes | No | String | No Max |
orderLineItemInstructionCode | Instruction code for the line item | Yes | No | String | No Max |
orderLineItemPriority | Priority of the line item (e.g., NORMAL, HIGH) | Yes | No | String | No Max |
lineStatus | Current status of the line item | Yes | No | String | No Max |
shipmentIds | List of shipment IDs associated with the line item | Yes | No | Array[Integer] | No Max |
shipmentNumbers | List of shipment numbers associated with the line item | Yes | No | Array[String] | No Max |
deliveryIds | List of delivery IDs associated with the line item | Yes | No | Array[String] | No Max |
transactionalTradeItem.transactionalItemData.itemNumber | Item number from the trade item data | Yes | No | String | No Max |
transactionalTradeItem.transactionalItemData.itemNameOnInvoice | Item name as it appears on the invoice | Yes | No | String | No Max |
transactionalTradeItem.color.colorCode | Color code for the item | Yes | No | String | No Max |
transactionalTradeItem.color.colorName | Color name for the item | Yes | No | String | No Max |
transactionalTradeItem.size.sizeCode | Size code for the item | Yes | No | String | No Max |
transactionalTradeItem.size.sizeName | Size name for the item | Yes | No | String | No Max |
avpList | Custom attribute key-value pairs for the line item | Yes | No | Object | No Max |
caseDetails.caseNumber | Case number for packaging | Yes | No | String | No Max |
caseDetails.caseQuantity | Quantity per case | Yes | No | Float | No Max |
caseDetails.innerPackQuantity | Inner pack quantity within the case | Yes | No | Float | No Max |
product.productId | Unique product identifier | Yes | No | String | No Max |
product.productName | Name of the product | Yes | No | String | No Max |
product.productDescription | Description of the product | Yes | No | String | No Max |
product.productSku | SKU of the product | Yes | No | String | No Max |
product.productCategory | Category of the product | Yes | No | String | No Max |
product.gtin | Global Trade Item Number | Yes | No | String | No Max |
product.commodityTypeCode | Commodity type code for the product | Yes | No | String | No Max |
product.productOwner | Owner of the product | Yes | No | String | No Max |
product.productUpc | Universal Product Code | Yes | No | String | No Max |
product.additionalTradeItemClassificationCode | Additional classification code for the trade item | Yes | No | String | No Max |
product.gpcCategoryCode | GPC category code | Yes | No | String | No Max |
product.gpcCategoryName | GPC category name | Yes | No | String | No Max |
product.gpcAttributeTypeCode | GPC attribute type code | Yes | No | String | No Max |
product.gpcAttributeTypeName | GPC attribute type name | Yes | No | String | No Max |
product.gpcAttributeValueCode | GPC attribute value code | Yes | No | String | No Max |
product.gpcAttributeValueName | GPC attribute value name | Yes | No | String | No Max |
referenceNumbers | Typed reference numbers for the line item | Yes | No | Array[Object] | No Max |
htsCode | Harmonized Tariff Schedule code for the item | Yes | No | String | No Max |
tariffCost | Tariff cost for the line item | Yes | No | Float | No Max |
tariffPercentage | Tariff percentage for the line item | Yes | No | Integer | No Max |
supplierHtsCode | Supplier-provided HTS code | Yes | No | String | No Max |
