Technical validation
Format
{
"errors": {
"{field}": [
"{errorCode}: {errorMessage}"
]
},
"status": 400,
"title": "{title}",
"traceId": "{traceId}",
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1 "
}
Example
{
"errors": {
"NumberOfPieces": [
"BCTV0004: The numberOfPieces value is not higher than 0."
]
},
"status": 400,
"title": "One or more validation errors occurred.",
"traceId": "00-f2d055723f7bbee867bb84941b11f5e4-22c55454316b9e2e-01",
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1 "
}
Error messages
|
Error code |
Error message |
|
BCTV0001 |
FluentValidation is used, more info on https://docs.fluentvalidation.net/en/latest/built-in-validators.html. Example: 'Description' must not be empty. |
|
BCTV0002 |
The date-time value is not in the future. |
|
BCTV0003 |
The date-time value is not later than the value specified in the expectedDeliveryDateTimeFrom element. |
|
BCTV0004 |
The numberOfPieces value is not higher than 0. |
|
BCTV0005 |
If the lspVisitReference is filled in within the sku object, then this data element is mandatory. Otherwise, it is optional. |
|
BCTV0006 |
If the status has the value ‘exit’, then the following data elements become mandatory: incoTerms, bookingNumber and portOfDestination. Otherwise, these elements cannot be provided. |
|
BCTV0007 |
The packageCode value is not valid according to CL017. |
|
BCTV0008 |
The lspVisitReference value filled in within the sku object, cannot be found again in the lspVisitReference element of at least 1 visit object. |
|
BCTV0010 |
If tdoKey is filled in, then this data element is mandatory. Otherwise, it is optional. |
|
BCTV0013 |
The date-time value is not later than the value specified in the actualDeliveryDateTimeFrom element. |
|
BCTV0014 |
Only the terminal operator can get by toReference. |
|
BCTV0015 |
Only the logistic service provider can get by lspReference. |
Business validation
Format
{
"MessageHeader": {
"MessageTimestamp": "{messageTimestamp}",
"MessageId": "{messageId}",
"CorrelationId": "{correlationId}"
},
"NotificationDate": "{notificationDate}",
"EventType": "{eventType}",
"Body": {
"Errors": [
{
"SourceError": "Bulkchain",
"SequenceNumber": 1,
"ErrorReason": "{errorCode}",
"ErrorPointer": "{errorPointer}",
"ErrorMessage": "{errorMessage}"
}
]
}
}
Example
{
"MessageHeader": {
"MessageTimestamp": "2026-03-26T08:13:06.2889244+00:00",
"MessageId": "b025a361-6309-4170-8a94-d705dfff7bf5",
"CorrelationId": "c4d879cd-3038-4e4f-9d04-efd1e61a8f82"
},
"NotificationDate": "2026-03-26T08:13:06.2889245+00:00",
"EventType": "UpdateSkuFailed",
"Body": {
"Errors": [
{
"SourceError": "Bulkchain",
"SequenceNumber": 1,
"ErrorReason": "BCBV0025",
"ErrorPointer": "SkuKey",
"ErrorMessage": "The sku with 3069a28e-035e-416d-8105-11de62dcdf2c provided in the request does not exist within Bulkchain for your entity."
}
]
}
}
Error messages
|
Error code |
Error message |
|
BCBV0001 |
The [lspReference] with value [lspReference value from the request to be provided here dynamically] is not unique in combination with the NxtEntityId of the caller within Bulkchain. |
|
BCBV0002 |
The terminalOperatorIdentificationCode could not be matched with a terminal operator party in the identity module of NxtPort. |
|
BCBV0005 |
The [lspVisitReference] with value [lspVisitReference value from the request to be provided here dynamically] is not unique in combination with the NxtEntityId of the caller within Bulkchain. |
|
BCBV0006 |
The terminalCode value does not exist within the identity module of NxtPort for the related terminal operator. |
|
BCBV0007 |
The portLoCode value does not exist within the identity module of NxtPort for the related terminal operator. |
|
BCBV0008 |
The [tdoKey] with value [tdoKey value from the request to be provided here dynamically] provided in the request does not exist within Bulkchain for your entity. Example 1: The tdoKey with value ‘TDO-REFERENCE-00001’ provided in the request does not exist within Bulkchain for your entity. |
|
BCBV0009 |
The vloKey with value [vloKey value from the request to be provided here dynamically] provided in the request does not exist within Bulkchain for your entity. |
|
BCBV0010 |
The visitKey with value [visitKey] in the request does not exist within Bulkchain for your terminal entity. |
|
BCBV0011 |
The visitKey with value [visitKey] in the request already received a terminal delivery confirmation for the following skuKey value(s): [skuKey], [skuKey],… |
|
BCBV0012 |
The skuKey(s) with value(s): [skuKey], [skuKey],… in the request are not available for visit [visitKey] at your terminal. |
|
BCBV0016 |
The sku with provided referenceKey value [insert value of skuKey] does not exist in Bulkchain for the related terminal delivery order. |
|
BCBV0017 |
The lspVisitReference value filled in within the sku object, cannot be found in either the Bulkchain database or in the lspVisitReference element of at least 1 new visit object within the request. |
|
BCBV0018 |
The visit with provided value [insert value of visitKey] does not exist in Bulkchain for the related terminal delivery order. |
|
BCBV0020 |
The sku with provided referenceKey value [insert value of skuKey] cannot be updated, deleted or unassigned because a terminal delivery confirmation has already been received for it. |
|
BCBV0021 |
The visit with provided value [insert value of visitKey] cannot be updated or deleted because a terminal delivery confirmation has already been received for it. |
|
BCBV0022 |
The tdo cannot be deleted because a terminal delivery confirmation has already been received for one of its sku’s. |
|
BCBV0023 |
The sku with provided value [insert value of skuKey] cannot be updated as the visit reference is trying to be added without defining the status. Both the status and the visit reference need to be defined. |
|
BCBV0025 |
The sku with [skuKey value from the request] provided in the request does not exist within Bulkchain for your entity. |
|
BCBV0026 |
This endpoint can only be called upon once the terminal delivery confirmation is received for the sku with value [skuKey]. At the moment there is no terminal delivery confirmation received for it. |
|
BCBV0028 |
The sku with [skuKey value from the request] cannot be assigned to the specified visit as it is already assigned to another visit. |
|
BCBV0029 |
The sku with [skuKey value from the request] cannot be unassigned from the specified visit as it is not assigned to that visit. |
|
BCBV0031 |
The shipAgentIdentificationCode could not be matched with a ship agent party in the identity module of NxtPort. |
|
BCBV0032 |
The terminalCode value can’t be related to a terminal operator within the identity module of NxtPort. |
|
BCBV0033 |
The sku with skuKey [skuKey value from the request] cannot be assigned to the specified vessel load order as it is already assigned to another vessel load order. |
|
BCBV0034 |
The portOfDestination of sku with skuKey [skuKey value from the request] is not identical to the portOfDestination of the vessel load order. |
|
BCBV0035 |
The status of sku with skuKey [skuKey value from the request] is not “exit”. |
|
BCBV0036 |
The terminal operator for sku with skuKey [skuKey value from the request] is not identical to the terminal operator for the vessel load order. |
|
BCBV0037 |
The sku with skuKey [skuKey value from the request] cannot be unassigned from the specified vessel load order as it is not assigned to that vessel load order. |
|
BCBV0038 |
The vessel load order cannot be shared with the SA since there’s no sku assigned to the vessel load order. |
|
BCBV0039 |
The vessel load order state is [vesselLoadOrderState to be provided here dynamically] so it’s not possible to perform the requested update. Example: The vessel load order state is “Draft” so it’s not possible to perform the requested update. |
|
BCBV0040 |
The vessel load order is not assigned to your company, so it’s not possible to request the details. |