DCSA Standards Public Reference / Standards / Releases / Bill of Lading / Archive / Bill of Lading v3.0.3
DCSA eBL 3.0.3 - Changelog
Archived release: Bill of Lading v3.0.3 has been superseded. View the current v3 documentation.
Contents
- Shipping Instructions and Transport Document
- Release v3.0.3 (14 April 2026)
- Release v3.0.2 (14 Nov 2025)
- Release v3.0.1 (31 July 2025)
- Release v3.0.0 (17 December 2024)
- Release v3.0.0 Beta 20241108 (8 of November 2024)
- Release v3.0.0 Beta 20241025 (25 of October 2024)
- Release v3.0.0 Beta 20241011 (11 of October 2024)
- Release v3.0.0 Beta 20240927 (27 of September 2024)
- Release v3.0.0 Beta 20240913 (13 of September 2024)
- Release v3.0.0 Beta 20240830 (30 of August 2024)
- Release v3.0.0 Beta 20240816 (16 of August 2024)
- Release v3.0.0 Beta 20240726 (26 of July 2024)
- Release v3.0.0 Beta 20240614 (28 June 2024)
- Release v3.0.0 Beta 3
- Release v3.0.0 Beta 2 (12 April 2024)
- Release v3.0.0 Beta 1 (28 December 2023)
- Issuance
- Release v3.0.3 (14 April 2026)
- Release v3.0.2 (14 November 2025)
- Release v3.0.1 (31 July 2025)
- Release v3.0.0 (17 December 2024)
- Release v3.0.0 Beta 20241108 (8 of November 2024)
- Release v3.0.0 Beta 20241025 (25 of October 2024)
- Release v3.0.0 Beta 20241011 (11 of October 2024)
- Release v3.0.0 Beta 20240927 (27 of September 2024)
- Release v3.0.0 Beta 20240913 (13 of September 2024)
- Release v3.0.0 Beta 20240830 (30 of August 2024)
- Release v3.0.0 Beta 20240816 (16 of August 2024)
- Release v3.0.0 Beta 20240726 (26 of July 2024)
- Release v3.0.0 Beta 20240614 (28 of June 2024)
- Release v3.0.0 Beta 2 (12 April 2024)
- Release v3.0.0 Beta 1 (28 December 2023)
- Surrender
- Release v3.0.3 (14 April 2026)
- Release v3.0.2 (14 November 2025)
- Release v3.0.1 (31 July 2025)
- Release v3.0.0 (17 December 2024)
- Release v3.0.0 Beta 20241108 (8 of November 2024)
- Release v3.0.0 Beta 20241025 (25 of October 2024)
- Release v3.0.0 Beta 20241011 (10 of October 2024)
- Release v3.0.0 Beta 20240927 (27 of September 2024)
- Release v3.0.0 Beta 20240913 (13 of September 2024)
- Release v3.0.0 Beta 20240830 (30 of August 2024)
- Release v3.0.0 Beta 20240816 (16 of August 2024)
- Release v3.0.0 Beta 20240726 (26 of July 2024)
- Release v3.0.0 Beta 20240614 (28 of June 2024)
- Release v3.0.0 Beta 2 (12 April 2024)
- Release v3.0.0 Beta 1 (28 December 2023)
- Endorsement Chain
Shipping Instructions and Transport Document
Release v3.0.3 (14 April 2026)
This is a patch version for the DCSA Bill of Lading API. The primary reason for this patch is adding the Direct Transport Document amendment flow. It is also possible to cancel Shipping Instructions.
- update API description to include the Direct Transport Document amendment flow. Direct Transport Document amendment is optional to support.
- added 3 new endpoints:
GET /v3/transport-documents/{transportDocumentReference}/amendment- fetches a Transport Document amendmentPUT /v3/transport-documents/{transportDocumentReference}/amendment- updates a Transport Document amendmentDELETE /v3/transport-documents/{transportDocumentReference}/amendment- cancels a Transport Document amendment
- added 3 new endpoints:
- improved property and endpoint descriptions
- update Transport Document amendment endpoint
- added new Direct Transport Document amendment examples
- added
amendedTransportDocumentStatusto the Transport Document Notification and to the amended Transport Document endpoint (the Transport Document object has NOT changed). The following states are possible:AMENDMENT_RECEIVED(An amendment to a Transport Document is waiting to be processed)AMENDMENT_CONFIRMED(An amendment to a Transport Document has been confirmed)AMENDMENT_CANCELLED(An amendment to a Transport Document is discontinued by consumer)AMENDMENT_DECLINED(An amendment to a Transport Document is discontinued by provider)
- improved the
CancelShippingInstructionsUpdatedescription and content. When using this object, it is possible to cancel either an update or the entire Shipping Instructions. shippingInstructionsStatusnow has 2 new states:CANCELLED(The Shipping Instructions have been cancelled by Shipper)DECLINED(The Shipping Instructions have been declined by Carrier)
- Transport Document Notification object now also contains:
amendedTransportDocumentStatusamendedTransportDocument
Shipping Instructionsupdates:- added new
shippingInstructionsRevisionNumber transportDocumentReferencedescription updated to reflectICS2requirements- many description updates (typos and grammatical errors fixed)
shippingInstructionsStatustwo new status codes added (see above)
- added new
errorCodedescription updatedAddressHBLobject created to improve the description for House B/L party objectsPartyShipperobject created to improve the description for parties provided by the Shipper (as part of the Shipping Instructions) vs parties provided by the carrier (as part of the Transport Document)- Party objects previously shared between SI and TD have now been split into two. Objects created for SI have been prefixed with
Shipper(as they are provided by the shipper). There are no structural changes - only changes to the descriptions. This goes for:ShipperShipperobject addedOnBehalfOfShipperShipperobject addedOnBehalfOfConsigneeShipperobject addednotifyPartyShipperobject addedpartyShipperobject added
eblPlatformadded to:Shipper,Consignee,ConsigneeShipper,EndorseeandEndorseeShipperparty objects- an unstructured address object called
addressLinesadded to the following party objects:Shipper,OnBehalfOfShipper,Consignee,ConsigneeShipper,OnBehalfOfConsignee,Endorsee,EndorseeShipper,CarriersAgentAtDestination,NotifyParty,Seller,Buyer,PartyShipper,IssuingPartyandShippingInstructionsRequestor sendToPlatformandcodeListProviderlists updated with platforms that have been onboarded to the DCSA eBL APIsDOCU(DocuTrade)AEOT(AEOTrade)SGTD(SGTraDex)
HSCodesmarked as deprecated everywhere,extendedHSCodesto be used insteadextendedHSCodesadded in order to support 12 character codesnationalCommodityCodesmarked as deprecated everywhere,extendedNationalCommodityCodesto be used insteadextendedNationalCommodityCodesadded in order to support 16 character codesdescriptionOfGoodsForCustomsadded as part of theConsignmentItemin the SI (only)shippingMarksForCustomsadded as part of theConsignmentItemin the SI (only)innerPackagingscan now have a nestedinnerPackagingsto allow multiple innerPackaging-layersroleadded toVesselVoyagein order to specify the vessel as being:FIRST_SEA_GOING(First sea-going vessel) orMOTHER(Mother vessel)- the following objects have
addressLines(an unstructured address object) andfacilityNameadded:PlaceOfReceipt,PlaceOfDeliveryandOnwardInlandRouting
chargeNamemarked as deprecated - useextendedChargeNameinstead which covers 100 characters (instead of 50 characters)
Release v3.0.2 (14 Nov 2025)
This is a patch version for the DCSA Bill of Lading API. The primary reason for this patch is adding the OnBehalfOf parties, allowing ZZ as a countryCode and updating eBL Solution Providers:
- condition clarified for:
numberOfOriginalsWithChargesandnumberOfOriginalsWithoutCharges countryCodedescription inTaxLegalReference,NationalCommodityCode,CustomsReference,Address,PartyAddress,City,PlaceOfIssue,AdvanceManifestFiling,PlaceOfAcceptanceandPlaceOfFinalDeliveryupdated to allow the use ofZZin case it is not known- two new DocumentParties added:
OnBehalfOfShipperandOnBehalfOfConsignee Issue To Partydescription updatedESSDassendToPlatformandcodeListProviderhave been deprecated -IDTshould be usedBLOC(BlockPeer Technologies) added as a newsendToPlatformandcodeListProvider- add
transportDocumentSubReferenceto the Notifications - add
feedbacksobject toTransportDocument - clarify in
latitudeandlongitudedescription that the value is expressed using ISO 6709 data interchange numeric format
Minor changes
- descriptions added to the following properties/objects:
CancelShippingInstructionsUpdate,ApproveTransportDocument,IdentifyingCode,Transports - updated some examples with
transportDocumentSubReference
Release v3.0.1 (31 July 2025)
This is a patch version for the DCSA Bill of Lading API. The primary reason for this patch is the ShippingInstructionRequestor party and adding a transportDocumentReference by Shipper, but other improvements have been added as well:
Schema changes
- added
shippingInstructionsRequestoras an optional party - added
transportDocumentReferenceas an optional property when creating and updating aShipping Instructions - removed
nullable=falseas false is the default - updated
partyFunctionCodefor theTransportDocumentas it was wrongly aligned withShippingInstructions(CS(Consolidator),MF(Manufacturer) andWH(Warehouse Keeper) removed) - added
carrierCodeandcarrierCodeListProviderto identify which carrier a ShippingInstructions should be sent to
Minor changes
- removed Servers list that was wrongly added (no Virtual Servers are connected to DCSA APIs)
- added an extra Note on the
displayedAdressmentioning that some carriers might allow for more than 2 lines for physical Bill of Ladings - updated spelling for Jerricans -> Jerrycans
- updated some typos
- removed the reference to
ISO 8601(all dateTime fields must comply with RFC 3339, section 5.6) - fixed some formatting in the
transportDocumentStatusdescription and some places referring toTransport Document codeListProviderandsendToPlatformupdated with the following values:COVA(Covantis),ETIT(e-title),KTNE(KTNET) andCRED(Credore)- clarifies which party
partyContactDetailsrefers to
Release v3.0.0 (17 December 2024)
This is the final version 3.0.0 for the DCSA Bill of Lading API. Compared to latest snapshot released 8 November the following has changed: Schema changes
BuyerandSellerobjects duplicated in order to have different requirements on House B/L level (onDocumentPartiesHBL) vs Master B/L level (onDocumentParties)PartyContactDetailobject duplicated in order to have different requirements on House B/L level vs Master B/L level (regular expression pattern on thephonediffers)
Other changes
- the API follows API Design & Implementation Principles v2.0 instead of v2.1
- Link to create a GitHub issue has been updated to point to DCSA Contact Us page
- License url has been updated to secure socket (http —> https)
- typos fixed: everywhere EBL was mentioned has been changed to eBL
- a
nullhas been inserted into the empty202response values - typo fixed: Jarricans —> Jerricans in DG-examples
- type fixed: timeperiod —> time period
- typo fixed: cosumer —> consumer
- the following object titles have been updated:
- In
ShippingInstructionsDatatitle has been updated fromData—>Shipping Instructions Data - In
ShippingInstructionsFullNotificationtitle has been updated fromShipping Instructions—>Shipping Instructions Full Notification - In
TransportDocumentDatatitle has been updated fromData—>Transport Document Data - In
TransportDocumentFullNotificationtitle has been updated fromTransport Document—>Transport Document Full Notification - In
InvoicePayableAtShippingInstructionstitle has been updated fromInvoice Payable At—>Invoice Payable At (Shipping Instructions) - In
DocumentPartiesShippingInstructionstitle has been updated fromDocument Parties—>Document Parties (Shipping Instructions) - In
DocumentPartiesHouseBLtitle has been updated fromDocument Parties—>Document Parties (House B/L)
- In
- The following conditions have been made more clear:
ConsigneeandEndorseeconditions updated:identifyingCodesis mandatory so no need to mention as a conditiondeclaredValueCurrencyshould not be provided ifdeclaredValueis not providedtemperatureUnitshould not be provided iftemperatureSetpointis not providedairExchangeUnitshould not be provided ifairExchangeis not provided
- typo fixed in
o2Setpoint(CO2 —> O2) PlaceOfReceiptandPlaceOfDeliverydescription updated (wrong reference toGeo Coordinateremoved)- description updated for
PlaceOfIssue - typo fixed in
reference(inImportLicenseandImportLicenseShipper) (athorizes —> authorizes)
Release v3.0.0 Beta 20241108 (8 of November 2024)
Snapshot as of 8 of November 2024 for EBL 3.0.0 Beta. Key changes
- Made it more clear in the
PUT /v3/shipping-instructions/{documentReference}endPoint that an update can update an ongoing update-request - fixed the bad
IdentifyingCodesexamples in endPoint payloads - split
ConsigneeandEndorseeinto aShippingInstructions- and aTransportDocument-version since the “TransportDocument-versions” MUST have at least 1identifyingCodesprovided
Object changes
- properties modified:
identifyingCodesis now mandatory and has aminItems: 1onConsigneeandEndorsee
Minor changes
- removed wrongly added condition on
IssuingPartyandidentifyingCodesonIssuingParty
Release v3.0.0 Beta 20241025 (25 of October 2024)
Snapshot as of 25 of October 2024 for EBL 3.0.0 Beta. Key changes
identifyingCodesdescription updated to require one of ‘address’ or ‘identifyingCode’- On
Consignee,Endorsee,NotifyParty,IssuingPartyandPartynow has a condition that eitheraddressoridentifyingCodesshould be provided in theShipping Instructions identifyingCodesnow has aminItems: 1and is a required property onIssueToParty- removed the array type on
OuterPackagingfor House B/Ls - going forward there is a 1:1 mapping betweenOuterPackagingandCargoItem
Object changes
- properties added:
- properties modified:
- all House parties now link to
PartyContactDetailHBL - On
Consignee,Endorsee,NotifyParty,IssuingPartyandPartynow has a condition that eitheraddressoridentifyingCodesshould be provided identifyingCodesnow has aminItems: 1and is a required property onIssueToParty- removed the array type on
OuterPackaging- going forward there is a 1:1 mapping betweenOuterPackagingandCargoItem
- all House parties now link to
- properties removed:
Minor changes
- descriptions have been updated to make it more clear that ‘one of X or Y’ should be provided instead of ‘either X or Y’
requestedCarrierClauseslink updated to include newly added Clausesunitdescriptions aligned between weights and volumes- removed the condition on House B/L
OuterPackagingproperty onCargoItem declaredValueCurrencyis now a conditional property based ondeclaredValuebeing provided
Release v3.0.0 Beta 20241011 (11 of October 2024)
Snapshot as of 11 of October 2024 for EBL 3.0.0 Beta. Key changes
- many ICS2 updates
transportDocumentSubReferenceadded toTransportDocumentExportLicenseandImportLicenseadded toTransportDocument
Changes to the Shipping Instructions
methodOfPaymentremoved fromShipping InstructionsroutingOfConsignmentCountriesremoved fromShipping InstructionsisCargoDeliveredInICS2Zoneadded as a mandatory property toShipping InstructionsexportLicenseandimportLicenseadded toShipping InstructionsisHBLIssuedrenamed toisHouseBillOfLadingsIssued, description updated and Condition addedexportLicenseandimportLicenseadded toShipping Instructions,ConsignmentItemShipperandCargoItemShippercarrierBookingReferenceno longer has a ConditionemptyIndicatorCodeadded toUtilizedTransportEquipmentShipper
The above changes are applicable to:
CreateShippingInstructionsused inPOST /v3/shipping-instructionsendPointUpdateShippingInstructionsused inPUT /v3/shipping-instructions/{documentReference}endPointShippingInstructionsused inGET /v3/shipping-instructions/{documentReference}endPoint
Changes to the Transport Document
transportDocumentSubReferenceadded toTransportDocumentroutingOfConsignmentCountriesremoved fromTransportDocumentexportLicenseandimportLicenseadded toTransportDocument,ConsignmentItemandCargoItemcarrierBookingReferenceno longer has a ConditionemptyIndicatorCodeadded toUtilizedTransportEquipment
Object changes
- properties added:
isCargoDeliveredInICS2Zoneadded toShipping InstructionsexportLicenseandimportLicenseadded toShipping InstructionspartyContactDetailsadded toSellerandBuyerpartiesPartyHBLobject addedPartyContactDetailHBLobject added to include a pattern forphonetransportDocumentSubReferenceadded toTransportDocumentConsignmentItemHBLadded toHouseBillofLadingCargoItemHBLadded toConsignmentItemHBLOuterPackagingHBLadded toCargoItemHBLemptyIndicatorCodeadded toUtilizedTransportEquipmentandUtilizedTransportEquipmentShipperUtilizedTransportEquipmentHBLadded toHouseBillofLading- following properties added to
HouseBillofLading:isCargoDeliveredInICS2Zone,routingOfConsignmentCountries,consignmentItemsandutilizedTransportEquipments ExportLicense,ImportLicense,ExportLicenseShipperandImportLicenseShipperobjects added with the following properties:isRequired,reference,issueDateandexpiryDate
- properties modified:
isHBLIssuedrenamed toisHouseBillOfLadingsIssuedpartyFunctionCodesupdated:CSR->CS(Consolidator)MFR->MF(Manufacturer)WHK->WH(Warehouse Keeper)
typeOfPersonnow mandatory onShipperHBL,ConsigneeHBL,NotifyPartyHBL,Seller,BuyerpartyContactDetailsnow mandatory onNotifyPartyHBLcarrierBookingReferenceno longer has a ConditioncountryCodeis now optional onNationalCommodityCodeunNumberandnaNumberrenamed toUNNumberandNANumberinDangerous GoodssupplementaryDeclarantEORINumberrenamed toidentificationNumberinAdvanceManifestFilingand description updated and condition addedcountryCodemade optional inAdvanceManifestFiling
- properties removed:
methodOfPaymentremoved fromShipping InstructionsroutingOfConsignmentCountriesremoved fromShipping Instructions
All changes
- endPoint examples updated
- 2 new Carrier Classes that can be requested by the Shipper has been added:
- Shipper’s Load, Stow, Weight and Count
- In transit clause
- all “House B/L” related objects (that have a “duplicate” MBL object) have
(House B/L)suffixed to their titles OtherDocumentPartyHBLlinks to aPartyHBLinstead ofPartyobjectShipperHBL,ConsigneeHBL,NotifyPartyHBL,Seller,Buyernow link toAddressinstead ofPartyAddresstypeOfPersonnow mandatory onShipperHBL,ConsigneeHBL,NotifyPartyHBL,Seller,BuyerTRACdescription updated fromTRACE OriginaltoEnigio trace:original- condition added to
NotifyPartyHBLwhich also now haspartyContactDetailsas a mandatory property EUremoved fromcodeListProviderinIdentifyingCodeEORIremoved fromcodeListNameinIdentifyingCodeTaxLegalReferencedescription updated with extra example- description of
descriptionOfGoodsinConsignmentItemupdated NationalCommodityCodeexample added- updated
CustomsReferencedescription and examples - examples of
AdvanceManifestFilingupdated methodOfPaymentdescription updated onHouseBillofLadingPlaceOfAcceptanceandPlaceOfFinalDeliverydescription updated and:locationNameupdatedaddress,facilityandgeoCoordinateremovedcountryCodeadded
buyerandsellerare now conditional onDocumentPartiesShipperandDocumentPartiesHouseBLshipperis a required party onHouseBillofLading
Release v3.0.0 Beta 20240927 (27 of September 2024)
Snapshot as of 27 of September 2024 for EBL 3.0.0 Beta. Key changes
- Converted all inner defined objects to globally defined objects. The following objects are now global:
CreateShippingInstructionsResponsepreviously defined as inner object on thePOST /v3/shipping-instructionsendPointCancelShippingInstructionsUpdatepreviously defined as inner object on thePATCH /v3/shipping-instructions/{documentReference}endPoint- description on
GET /v3/transport-documents/{transportDocumentReference}endPoint updated so it now requires that “the order of ALL lists/arrays MUST be preserved as by the provider of the API” ApproveTransportDocumentpreviously defined as inner object on thePATCH /v3/transport-documents/{transportDocumentReference}endPointShippingInstructionsNotificationobject split into multiple global objects:dataproperty of the CloudEvent now defined asShippingInstructionsData- the
shippingInstructionsproperty of thedataobject now defined asShippingInstructionsFullNotification - the
updatedShippingInstructionsproperty of thedataobject now defined asUpdatedShippingInstructionsFullNotification ShippingInstructionsFullNotificationdefined as anallOfof theShippingInstructionsobjectUpdatedShippingInstructionsFullNotificationdefined as anallOfof theShippingInstructionsobject
TransportDocumentNotificationobject split into multiple global objects:dataproperty of the CloudEvent now defined asTransportDocumentData- the
transportDocumentproperty of thedataobject now defined asTransportDocumentFullNotification TransportDocumentFullNotificationdefined as anallOfof theTransportDocumentobject
PlaceOfIssuepreviously defined as inner object onShipping InstructionsandTransportDocumentInvoicePayableAtpreviously defined as inner object onShipping InstructionsandTransportDocumentDocumentPartiespreviously defined as inner object onShipping Instructions,HouseBillofLadingandTransportDocumentCargoGrossWeightandCargoGrossVolumepreviously defined as inner object onCargoItemGrossWeight,NetWeight,NetExplosiveContentandNetVolumepreviously defined as inner object onDangerousGoodsTareWeightpreviously defined as inner object onEquipmentandRequiredEquipment
- description clearly updated on properties that are lists/arrays where order needs to be preserved. This goes for:
- 4x
displayedNameForXXXonShipping InstructionsandTransport Documentroot level routingOfConsignmentCountriesonShipping InstructionsandTransport Documentroot leveldisplayedAddresson the Party objectsdescriptionOfGoodsonConsignmentItemshippingMarksonConsignmentItemandUtilizedTransportEquipment
- 4x
Changes to the Shipping Instructions
- description update on the
numberOf[Copies|Originals][With|Without]Chargesto better explain the conditions as to how the properties are to be used - 4x
displayedNameForXXXdescription updated to clearly indicate the order of the items in the list must be preserved - converted
placeOfIssueto a $ref instead of defining it inline - converted
invoicePayableAtto a $ref instead of defining it inline - converted
documentPartiesto a $ref instead of defining it inline routingOfConsignmentCountriesdescription updated to clearly indicate the order of the items in the list must be preservedShipperandConsigneenow allows for a list ofpurchaseOrderReferencesIssueToPartydescription updated- description updated on
sendToPlatformproperty onIssueToPartyand it is now an optional property ConsignmentItemnow allowsSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order) as ReferencesgrossWeightandgrossVolumerenamed tocargoGrossWeightandcargoGrossVolumeonCargoItemcargoNetWeightandcargoNetVolumeadded onCargoItem- converted the following properties:
GrossWeight,NetWeight,NetExplosiveContentandNetVolumeonDangerousGoodsto a $ref instead of defining it inline - converted
tareWeightto a $ref instead of defining it inline
The above changes are applicable to:
CreateShippingInstructionsused inPOST /v3/shipping-instructionsendPointUpdateShippingInstructionsused inPUT /v3/shipping-instructions/{documentReference}endPointShippingInstructionsused inGET /v3/shipping-instructions/{documentReference}endPoint
Changes to the Transport Document
- description update on the
numberOf[Copies|Originals][With|Without]Chargesto better explain the conditions as to how the properties are to be used - 4x
displayedNameForXXXdescription updated to clearly indicate the order of the items in the list must be preserved - converted
placeOfIssueto a $ref instead of defining it inline - converted
invoicePayableAtto a $ref instead of defining it inline - converted
documentPartiesto a $ref instead of defining it inline ShipperandConsigneenow allows for a list ofpurchaseOrderReferencesConsignmentItemnow allowsSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order) as ReferencesroutingOfConsignmentCountriesdescription updated to clearly indicate the order of the items in the list must be preservedgrossWeightandgrossVolumerenamed tocargoGrossWeightandcargoGrossVolumeonCargoItemcargoNetWeightandcargoNetVolumeadded onCargoItem- converted the following properties:
GrossWeight,NetWeight,NetExplosiveContentandNetVolumeonDangerousGoodsto a $ref instead of defining it inline - converted
tareWeightto a $ref instead of defining it inline
Object changes
- properties added:
cargoNetWeightandcargoNetVolumeadded onCargoItemreferencesonConsignmentItemnow allowsSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order)
- properties modified:
POboxrenamed toPOBox(with capitalB)purchaseOrderReferenceonShipperandConsigneerenamed topurchaseOrderReferencesand now allows a list of valuesgrossWeightandgrossVolumerenamed tocargoGrossWeightandcargoGrossVolumeonCargoItemnumberOfPackagesonOuterPackagingupper limit set to 99999999
- properties removed:
- No properties have been removed in this release
All changes
- API description update
- examples in endPoint payloads updated to comply with schema
- Link to the standardized
errorCodein theErrorobject updated to a public page: Error codes as specified by DCSA - description updates to properties in the
AddressandCityobjects (the object can be used for other things than just a Party-address) phonedescription updated to include ITU-T recommendation E.123ReferenceConsignmentItemobject created to, in addition, allowSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order) onConsignmentItem
Release v3.0.0 Beta 20240913 (13 of September 2024)
Snapshot as of 13 of September 2024 for EBL 3.0.0 Beta. Key changes
POST,PUTandPATCHendPoints only return202(Accepted) as a success response code- changed all PseudoEnum values so they no longer include spaces (
) - links to specific standardisation bodies versions replaced with more “general” links (Wikipedia links replaced with links to www.iso.org)
- structure of
weightandvolume(valueandunit) specifications changed to object containing two mandatory properties:valueandunitinstead of conditional properties volumerenamed tonetVolumein DG (Dangerous Goods)
All changes
- Added a link to API Design & Implementation Principles v2.0
- multiple typos fixed
- API endPoint descriptions and examples updated
- anything but
200(OK) and201(Created) removed as response codes forPOSt,PUTandPATCH - title property inserted on objects where it is missing
shippingInstructionsStatusandupdatedShippingInstructionsStatusvalues updated, all spaces () have been replaced with underscore (_). Reference data links removedoriginChargesPaymentTermanddestinationChargesPaymentTermproperties now reference objects instead of defining properties inlinesendToPlatformremoved from SI and TD root level as it has been replaced by theIssue TopartyrequestedCarrierCertificatesandrequestedCarroerClausesnow have the string defined inline as part of the array rather than referencing a String “object”declaredValueCurrencydescription link changedcarrierCodedescription updated to make it more clear that it is aSCACcodeShippingInstructionsRefStatus,ShippingInstructionsRefCancelStatusandTransportDocumentRefStatusobjects deleted as they are no longer needed as part of the response payloads- changed
errorDateTimeexample to UTC instead of timeZone specific facilityCodedescription link updated to a more general page instead of a specific versiontypeOfPersonvalues no longer contain space ()IssueToPartydescription updatedsendToPlatformreference data link in description removed fromIssueToPartyobjectTaxLegalReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align with type example
transportDocumentStatusvalues no longer contain space ()descriptionOfGoodschanged from string to string array with amaxItemsof 150 and amaxLengthof 35HSCodesdescription link updated to a general link instead of a specific versionshippingMarksmaxItemsis now 50 and length of each line is 35SCHEDULE Bupdated toSCHEDULE_Bas a value in the type in NationalCommodityCode to avoid the space ()CustomsReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align with type example
equipmentReferencedescription link updated to www.iso.org instead of WikipediaweightandvolumeofCargoItemrenamed togrossWeightandgrossVolumeand structure changed to object containing mandatoryvalueandunitpackageCodedescription link updated to a general link instead of a specific versionimoPackagingCodedescription updatedwoodDeclarationvalues no longer contain space ()imoClassreference data link removedfumigationDateTimeexample updated to use UTC timevolumerenamed tonetVolumein DG (Dangerous Goods)ISOEquipmentCodedescription link updated and example modifiedtareWeightandweightUnitmerged into one optional object containing mandatoryvalueandunitAdvanceManifestFilingobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
manifestTypeCodedescription link to reference data removedsupplementaryDeclarantEORInumberrenamed tosupplementaryDeclarantEORINumber(n—>N)
PlaceOfAcceptance,PlaceOfFinalDelivery,PlaceOfReceipt,PortOfLoading,PortOfDischarge,PlaceOfDeliveryandOnwardInlandRoutingcondition added to make sure if multiple ways of expressing a location is used that always point to the same locationcurrencyCodedescription link changedRequestedCarrierCertificateandRequestedCarrierClauseobjects deletedOriginChargesPaymentTermandDestinationChargesPaymentTermobjects created
Release v3.0.0 Beta 20240830 (30 of August 2024)
Snapshot as of 30 of August 2024 for EBL 3.0.0 Beta. Key changes
- Semantics for
202responseCode changed ICS2addedIssueToPartyobject addedHouseBillOfLadingobject added- many new parties added
partyName,street,ContactDetailNameandcitymaxLength modified to be compatible with EDIFeedbackobject inserted as a communication fromCarrier—>Shipper(no morereasonproperty)
All changes
- API endPoint descriptions updated
- API examples updated
409responseCode added toGETShippingInstructions andPATCHTransportDocument endPointsShippingInstructionsNotificationobject updated:reasonproperty replaced withfeedbacksarrayshippingInstructionsandupdatedShippingInstructionsproperties aligned withShippingInstructionsobject
TransportDocumentNotificationobject updated:reasonproperty replaced withfeedbacksarraytransportDocumentproperty aligned withTransportDocumentobject
CreateShippingInstructions,UpdateShippingInstructionsandShippingInstructionsobject updated:methodOfPaymentaddednumberOfCopiesWithCharges,numberOfCopiesWithoutCharges,numberOfOriginalsWithChargesandnumberOfOriginalsWithoutChargesdescriptions updated (conditions removed)issueTo,seller,buyerandnotifyPartiesadded todocumentPartiesroutingOfConsignmentCountriesaddedisHBLIssuedandhouseBillOfLadingsproperties added
ShippingInstructionsobject andShippingInstructionsRefStatusobject hasreasonproperty removed andfeedbacksdescription updated to remove the conditionShippingInstructionsRefCancelStatusobject hasreasonreplaced withfeedbacksmessagemaxLength updated from 500 —> 5000 inFeedbackobjecterrorCodeMessagemaxLength updated from 200 —> 5000 inDetailedErrorobjectpartyFunctionCodeinOtherDocumentPartyhas additional values:CSR(Consolidator)MFR(Manufacturer)WHK(Warehouse Keeper)
- special
Partyobjects forICS2created:OtherDocumentPartyHBL,ShipperHBL,ConsigneeHBL,NotifyPartyHBL - new Party objects added:
IssueToParty,NotifyParty,SellerandBuyerobject added IssuingPartyobject changes:partyNamemaxLength changed from 100 —> 70
commoditySubreferenceis no longer a mandatory property inConsignmentItemShipperobjecthouseBillOfLadingReferenceadded toCargoItemin theShippingInstructionsAdvanceManifestFilingobject updated- description updated
advanceManifestFilingsHouseBLPerformedByvalueSHIPPERchanged toSELF(and everywhereSHIPPERvalue is referred,SELFis used)supplementaryDeclarantEORInumberadded
HouseBillOfLadingobject addedPlaceOfAcceptanceobject addedPlaceOfFinalDeliveryobject addedTransportDocumentobject updated:numberOfCopiesWithCharges,numberOfCopiesWithoutCharges,numberOfOriginalsWithChargesandnumberOfOriginalsWithoutChargesdescriptions updated (conditions removed)displayedShippedOnBoardReceivedForShipmentaddedcarrierCodeListProviderdescription forNMFTAis updatedissuingPartymoved from root level —>documentPartiesnotifyPartiesadded as adocumentParty(split frompartyFunctionCodein “Other Document Parties”)routingOfConsignmentCountriesadded
namemaxLength changed from 100 —> 35 inPartyContactDetailobjectSchedule Bchanged toSCHEDULE Bin type inNationalCommodityCodeobject and a typo was fixed in the descriptionnationalCommodityCodesadded onCargoItemlevelwoodDeclarationpseudoEnum values changed to CAPITALIZATIONisCompetentAuthorityApprovalProvidedrenamed toisCompetentAuthorityApprovalRequiredin Dangerous Goods (DG)shippingMarksdescription updatedsealSourcedescription updated (condition added)AddressandPartyAddressobjects updates:streetmaxLength changed from 100 —> 70POboxadded as propertycitymaxLength changed from 65 —> 35
partyFunctionCodevalues updated (NotifyPartyvalues removed)Shipperobject changes:partyNamemaxLength changed from 100 —> 70typeOfPersonaddeddisplayedAddressmaxItems changed from 999 —> 6 and a condition has been added for physical BLsshippersReferencerenamed toreferenceshippersPurchaseOrderReferencerenamed topurchaseOrderReference
Consigneeobject changes:partyNamemaxLength changed from 100 —> 70typeOfPersonaddeddisplayedAddressmaxItems changed from 999 —> 6 and a condition has been added for physical BLsconsigneesReferencerenamed toreferenceconsigneesPurchaseOrderReferencerenamed topurchaseOrderReference
Endorseeobject changes:partyNamemaxLength changed from 100 —> 70displayedAddressmaxItems changed from 999 —> 6 and a condition has been added for physical BLs
CarriersAgentAtDestinationobject changes:partyNamemaxLength changed from 100 —> 70
NotifyPartyobject addedPartyandIssuingPartyobjects changes:partyNamemaxLength changed from 100 —> 70
Release v3.0.0 Beta 20240816 (16 of August 2024)
Snapshot as of 16 of August 2024 for EBL 3.0.0 Beta. Key changes
202response code added to all endPoints- maxLength of
valueproperty of all references changed from100—>35(in order to align with EDI) CustomReferencenow allows a list of values
All changes
- API description updated
- all endPoint descriptions updated to support
202response 202response code added to all endPoints404(Not Found) added toPUTSI-endPoint,GETTD-endPoint andPATCHTD-endPointdeclaredValuedescription updatedmaxLength=100changed tomaxLength=35(in order to be EDI compatible):- in
shippersReferenceinShipperparty object - in
shippersPurchaseOrderReferenceinShipperparty object - in
consigneesReferenceinConsigneeparty object - in
consigneesPurchaseOrderReferenceinConsigneeparty object - in
referenceinPartyobject - in
valueinTaxLegalReferenceobject - in
valueinReferenceandReferenceShipperobjects (which also has apatternadded)
- in
CustomReferenceobject has the following changes:maxLength=100changed tomaxLength=35for thevalueproperty- the
valueproperty has been renamed tovaluesand is now a list of values instead of a single value
Release v3.0.0 Beta 20240726 (26 of July 2024)
Snapshot as of 26 of July 2024 for EBL 3.0.0 Beta. Key changes
- Notification endPoints added (supporting both
LightweightandFull State TransferNotifications) requestedChangesreplaced byFeedbackobject- locations no longer use
oneOfbut is now a set of optional properties
All changes
- API description updated
- endPoint examples updated
/v3/shipping-instructions-notificationsadded to include:Lightweight Notificationsfor Shipping InstructionsFull State Transfer Notificationsfor Shipping Instructions- Notifications use the
CloudEventstructure (and is merged from the deprecated Bill of Lading Notification API)
/v3/transport-document-notificationsadded to includeLightweight Notificationsfor Transport DocumentFull State Transfer Notificationsfor Transport Document- Notifications use the
CloudEventstructure (and is merged from the deprecated Bill of Lading Notification API)
ShippingInstructionsNotificationandTransportDocumentNotificationobjects added- in
CreateShippingInstructions,UpdateShippingInstructions,ShippingInstructionsandTransportDocumentobject the following changes have been done:placeOfIssueis no longer defined inline but is now $ref aPlaceOfIssueobject
- in
CreateShippingInstructions,UpdateShippingInstructionsandShippingInstructionsobject the following changes have been done:isCarriersAgentAtDestinationRequiredlocation in object moved
requestedChangesreplaced byfeedbacksfor better “feedback” from provider —> consumer in the following objects:ShippingInstructionsandShippingInstructionsRefStatusRequestedChangesobject deletedFeedback objectadded- locations are handled differently going forward. Locations are no longer defined using a
oneOfbut rather via optional properties. This impacts:AddressLocationobject deleted as it is no longer neededCityLocationrenamed toCityand modified to no longer havelocationTypenor a nestedCityobjectFacilityLocationrenamed toFacilityand modified to no longer havelocationTypeUnLocationLocationobject deleted as it is no longer neededGeoCoordinateobject added
streetNumberis no longer a mandatory field in theAddressnorPartyAddressobjectsshippersReferenceandshippersPurchaseOrderReferenceadded toShipperobjectconsigneesReferenceandconsigneesPurchaseOrderReferenceadded toConsigneeobjectreferenceadded toPartyobject- values removed from
typeinreference(FF,SI,SPO,CPO,AAO,ECR,CSI,BPR,BIDandSACall removed andAKGadded) nationalCommodityCodesadded toConsignmentItemandConsignmentItemShipperobjectsNationalCommodityCodeobject addedwoodDeclarationadded toOuterPackagingandOuterPackagingShipperobjects- fixed typo in required fields of
Transports(vesselVoyage—>vesselVoyages) MULTIMODALadded as aMode of TransporttopreCarriageByandonCarriageByPlaceOfReceipt,PortOfLoading,PortOfDischarge,PlaceOfDeliveryandOnwardInlandRoutingobjects changed from using aoneOfinto an object where all location types are optional and can be used at the same time
Release v3.0.0 Beta 20240614 (28 June 2024)
Snapshot as of 14 of June 2024 for EBL 3.0.0 Beta. Major changes
sendToPlatformupdated:pattern: ^\S+$added- 2 new values have been added
TRAC(TRACE Original) andBRIT(BRITC eBL)
- boolean property
isCarriersAgentAtDestinationRequiredadded to SI minItems=1added when providing thedisplayedNameForPlaceOfReceipt,displayedNameForPortOfLoad,displayedNameForPlaceOfDeliveryanddisplayedNameForPortOfDischargepattern: ^\S(?:.*\S)?$has been added to thelocationNameof theAddressLocationinterface- Follow changes has been done on the
Addressobjectnameproperty removed- for
postCode:maxLengthchanged from 50 —> 10 nullable=trueremoved onstateRegionstreet,streetNumberandcityhave been added as required properties (namehas been removed)
CityLocationinterface has the following changes:maxLength: 4added tolocationTypenullable=trueremoved onstateRegion- wronly defined
countryhas been changed tocountryCodeas a required property
- in
PartyAddressobject:postCodemaxlengthhas been changed from 50 —> 10nullable=trueremoved fromstateRegion
CarriersAgentAtDestinationadded as aDocument PartyTRAC(TRACE Original) andBRIT(BRITC eBL) added as values forcodeListProviderinIdentifyingCodeobject- in
DangerousGoodsthe following has changed:netWeightproperty must now be >= 0netExplosiveContentproperty must now be >= 0netExplosiveContentunit now also allow:LBR(Pounds) andONZ(Ounce)volumeproperty object must now be >= 0
ShippingMarksadded toUtilizedTransportEquipmentandUtilizedTransportEquipmentShippervesselVoyagerenamed tovesselVoyagesin theTransportsobject
Object changes
ConsignmentItemCarrierrenamed toConsignmentItemand updated to no longer need anallOfConsignmentItemShipperupdated to no longer need anallOfCargoItemCarrierrenamed toCargoItemOuterPackagingCarrierrenamed toOuterPackagingUtilizedTransportEquipmentCarrierrenamed toUtilizedTransportEquipmentVesselVoyagecreated instead of having as inline object
##Minor changes
- example changes for endPoints: typo
UNCO—>UNLO titleproperty added to all objects (titleproperty removed on thereasonproperty)- examples added/updated where needed
- descriptions updated
Release v3.0.0 Beta 3
Going forward Beta 3 will not be updated anymore. The new way of working will be that we update the final v3.0.0 continuously. Every once in a while we release “Snapshots”. An example of this is the Snapshot of 14 June 2024 just above.
Release v3.0.0 Beta 2 (12 April 2024)
Beta 2 release of the DCSA OpenAPI definitions for EBL 3.0.0. Business changes:
This is a list of high-level business changes:
DocumentPartiesstructure has been changed so it no longer is a “one-size fits all” solution.[Origin|Destination]ChargesPaymentTermshave been updated to allow a differentiation betweenport,haulageandotherpayment codes (PREorCOL).- longer
vesselNameandvesselIMONumberallowed codeListProviderlist cleaned up and all SP (Solution Providers) have been addedUNLocationCodeadded as a property on Party-addresses- calculated fields have been removed from
UtilizedTransportEquipmentandConsignmentItems ShippingMarkshave been moved fromConsignmentItem—>CargoItemTransportsobject now allows for an array ofVesselVoyagesSealno longer supportstypenor can thesourcebe:PHY(Phytosanitary)- support for multiple
Vessel/VouyageonTransportDocument(e.g. the first sea going vessel and the mother vessel) Technical changes:
This is a list of high-level technical changes:
-
The API is now developed using ShopLight instead of SwaggerHub-editor. This means that we are no longer using Domains but now have everything defined inline.
-
As a new principle:
- no $ref pointing outside the yaml file
- all
simpleTypesare now specified “inline” in objects - all
objectsare now PascalCased and have atitleproperty set with a presentable version of the object name in Title Case (all representations of snake_case or Pascal_Snake_Case have been removed)
-
all strings having a pattern that matches
^\S+(\s+\S+)*$have been changed to\S(?:.*\S)?$in order to prevent Catastrophic Backtracking -
additionalProperties= falsehave been added to theUNLocationLocationin order to prevent schema errors whenUNLocationis used together with aFacilityLocationin aoneOfconstruction (prevents schema error: should be valid to one and only one schema, but 2 are valid) List of detailed changes -
API description has been updated with new link to Information Model and Interface documents. Link to the Stats API has been updated
-
all endPoint examples have been updated to reflect changes
-
CreateShippingInstructionsobject has the following changes:titlechanged fromShipping Instructions—>Create Shipping InstructionsoriginChargesPaymentTermCodeanddestinationChargesPaymentTermCodehas changed from being a string to being a structure with the following properties:haulageChargesPaymentTermCode,portChargesPaymentTermCodeandotherChargesPaymentTermCodewhich can all be either Prepaid (PRE) or Collect (COL). Both properties have also been renamed tooriginChargesPaymentTermanddestinationChargesPaymentTerm(so the name no longer ends withCode)sendToPlatformnow supports 2 extra SP (Solution Providers):IDT(ICE Digital Trade) andETEU(eTEU)placeOfBLIssuestructure changed to a more simple structure. It is now aoneOfbetween aUNLocationCodeand acountryCodeinvoicePayableAtstructure changed - it is no longer aoneOfbetween aUNLocationLocationand anAddressLocation.invoicePayableAtis now an object consisting of a single property:UNLocationCodewhich is requiredpartyContactDetailsnow has aminItemsof 1documentPartiesstructure changed - it is no longer a list ofDocumentPartiesbut an object containing a requiredShipperand optionalConsignee,EndorseeandotherdocumentParties.Shipperis a required fieldconsignmentItemsandutilizedTransportEquipmentswrongly hadminLength=1, this is now changed tominItems=1invoicePayableAtis no longer a required field
-
UpdateShippingInstructionsobject has the same changes asCreateShippingInstructionsexcept:titlechanged fromShipping Instructions—>Update Shipping Instructions
-
ShippingInstructions(used for the GET request) object has the same changes asCreateShippingInstructionsexcept:titlestays asShipping Instructions
-
ShippingInstructionsRefCancelStatustitle changed toShipping Instructions Cancel Response -
RequestedChangeobject has split thefieldproperty into 2 properties:propertyandjsonPathin order to align with theDetailedErrorobject -
fixed some typos in the
ErrorResponseproperties descriptions -
in the
Addressobject thecountryproperty has been changed tocountryCode -
CityLocationobject has extratitleproperty and thecountryproperty has been changed tocountryCode -
FacilityLocationobject has extratitleproperty -
UNLocationCodein theFacilityLocationhas been fixed (all properties were missing) -
UNLocationLocationinterface hasadditionalProperties= falsein order to prevent schema violations when included in aoneOfconstruction together with aFacilityLocationin properties defining a location -
DocumentPartyhas been renamed toOtherDocumentPartyandisToBeNotifiedhas been removedpartyFunctionhas been reduced to only contain:SCO(Service Contract Owner)DDR(Consignor’s freight forwarder)DDS(Consignee’s freight forwarder)COW(Invoice payer on behalf of the consignor (shipper))COX(Invoice payer on behalf of the consignee)N1(First Notify Party)N2(Second Notify Party)NI(Other Notify Party)
-
new
PartyAddressobject created wherestreet,streetNumber,cityandcountryCodeare required fieldsUNLocationCodeis addedcountryis now acountryCode
-
added 3 new “Document Party” objects:
Shipper,ConsigneeandEndorseeto be used in the newdocumentPariesstructure -
updated
Partyobject with:- use
PartyAddressobject instead of theAddressobject - removed
minItemsof 1 onpartyContactDetails
- use
-
created a new
IssuingPartyobject which is similar toPartyobject except theaddressis a required field -
IdentifyingCodestructure has the following changes:codeListProviderhas changedmaxLengthfrom 5 —> 100codeListProviderhas a new list of allowed values:WAVE(Wave),CARX(CargoX),ESSD(EssDOCS),IDT(ICE Digital Trade),BOLE(Bolero),EDOX(EdoxOnline),IQAX(IQAX),SECR(Secro),TRGO(TradeGO),ETEU(eTEU),GSBN(Global Shipping Business Network),WISE(WiseTech),GLEIF(Global Legal Entity Identifier Foundation),W3C(World Wide Web Consortium),DNB(Dun and Bradstreet),FMC(Federal Maritime Commission),DCSA(Digital Container Shipping Association) andZZZ(Mutually defined)codeListProviderexample updatedcodeListNamedescription changed
-
ConsignmentItemhas the follow changes:- all calculated fields have been removed - this means:
weight,weightUnit,volumeandvolumeUnithave been removed descriptionOfGoodsexample updated to not include “number Of Packages value”HSCodeswrongly hadminLength=1, this is now changed tominItems=1- added
ShippingMarkswhich has been moved fromCargoItems
- all calculated fields have been removed - this means:
-
ConsignmentItem_CARhas been renamed toConsignmentItemCarrier -
ConsignmentItem_SHIhas been renamed toConsignmentItemShipper -
fixed typo in
CustomsReferencestitleproperty -
CargoItem_CARhas been renamed toCargoItemCarrier -
CargoItem_SHIhas been renamed toCargoItemShipper -
outerPackagingis no longer a required field onCargoItemShipperobject -
OuterPackaging_SHIrenamed toOuterPackagingShipper -
packageCodeminLengthandmaxLengthset to 2 in order to allow exactly 2 characters -
descriptionis now a required field onOuterPackagingShipper -
OuterPackaging_CARrenamed toOuterPackagingCarrier -
imoPackagingCodeminLengthandmaxLengthset to 1 and 5 in order to allow exactly 1-5 characters -
descriptionis now a required field onOuterPackagingCarrier -
DangerousGoods_CARandDangerousGoodsconsolidated into one object:DangerousGoods -
unNumber,naNumberandcodedVariantListminLengthandmaxLengthset to 4 in order to allow exactly 4 characters -
subsidiaryRisk[1|2]minLengthandmaxLengthset to 1 and 3 in order to allow strings of length 1-3 -
typo in
inhalationZonedescription fixed -
volumeproperty of DG now has both properties (valueandunit) as required properties -
UtilizedTransportEquipment_CARrenamed toUtilizedTransportEquipmentCarrier -
UtilizedTransportEquipmentCarrierhas the follow changes:- all calculated fields have been removed - this means:
cargoGrossWeight,cargoGrossWeightUnit,cargoGrossVolumeandcargoGrossVolumeUnithave been removed sealswrongly hadminLength=1, this is now changed tominItems=1
- all calculated fields have been removed - this means:
-
UtilizedTransportEquipment_SHIrenamed toUtilizedTransportEquipmentShipper -
sealsonUtilizedTransportEquipmentShipperwrongly hadminLength=1, this is now changed tominItems=1 -
titleproperty onRequiredEquipmentadded -
typeproperty removed from theSealobject -
PHY(Phytosanitary) removed as asealSource -
AdvanceManifestFiling_BKGandAdvanceManifestFiling_EBLconsolidated into one object calledAdvanceManifestFilingand example modified Transport Document changes -
TransportDocumenthas the following changes:- all strings pattern matching
^\S+(\s+\S+)*$have been changed to\S(?:.*\S)?$in order to prevent Catastrophic Backtracking originChargesPaymentTermCodeanddestinationChargesPaymentTermCodehave been removeddeclaredValueCurrencyadded aminLengthof 3 (as thedeclaredValueCurrencymust be exactly 3 characters long)issuingPartynow uses aIssuingPartyobject instead of aPartyobject (theaddressproperty is now required)placeOfBLIssuestructure changed to a more simple structure. It is now aoneOfbetween aUNLocationCodeand acountryCodeand not aoneOfbetween aUNLocationLocationinterface and anAddressLocationinterfaceinvoicePayableAtstructure changed into a more simple structure. It is now aoneOfbetween aUNLocationCodeand afreeTextfield and not aoneOfbetween aUNLocationLocationinterface and anAddressLocationinterface. ThefreeTextis only to be used when theinvoicePayableAtcannot be expressed as aUNLocationCodeminItemsof 1 onpartyContactDetailsas it is a required fielddocumentPartiesstructure changed - it is no longer a list ofDocumentPartiesbut an object containing a requiredShipperand optionalConsignee,EndorseeandotherdocumentParties.Shipperis a required fieldconsignmentItemsandutilizedTransportEquipmentswrongly hadminLength=1, this is now changed tominItems=1freightPaymentTermCodeis no longer a required property
- all strings pattern matching
-
Transportsobject changed:- new object
vesselVoyagehas been added. The object is a list of “Vessel” and “Voyage” information allowing for multiple Vessels to be mentioned on theTransportDocument vesselNamehas changedmaxLengthfrom 35 —> 50universalExportVoyageReferenceminLengthandmaxLengthset to 5 in order to allow exactly 5 characters
- new object
-
titleproperty onPlaceOfReceipt,PortOfLoading,PortOfDischarge,PlaceOfDeliveryandOnwardInlandRoutingaddedcurrencyCodeminLengthset to 3 in order to allow exactly 3 characters
-
PLUS changes listed in the objects defined above that the
TransportDocumentlinks to
Release v3.0.0 Beta 1 (28 December 2023)
Beta 1 release of the DCSA OpenAPI definitions for Bill of Lading 3.0.0. This release adds Active Reefer Settings (Phase 1) and Dangerous Goods. It removes the Events endPoint and now supports the Notification pattern.
- Bump Documentation_Domain to version 3.0.0 (was previously v2.1.0)
- Bump Error_Domain to version 3.0.0 (was previously v2.0.0)
- Bump DCSA_Domain to version 3.1.0 (was previously v2.0.3)
- Event_Domain no longer needed
- Check above Domains to see changes of objects since last version
summary-endPoints removed- amendment flow changed.
- amendments to
ActiveReeferSettingsandDangerous Goodsmust be done via aBooking Amendment. - amendments to a
Shipping Instructionsmust be done via anShipping Instructions updateand can be monitored via theupdatedShippingInstructionsStatusstatus property
- amendments to
eventsendPoint removed and a notification API added to support Push Notifications- multiple examples added to most endPoints
- descriptions improved to all endPoints explaining flows
Issuance
Release v3.0.3 (14 April 2026)
This is a patch version for the DCSA Issuance API including updates to e.g. eBL Solution Provider lists, deprecation of consignmentItem properties and adding addressLines:
- examples on endpoints have been added
errorCodedescription updated- removed
TODOcomments sendToPlatform,eblPlatformandcodeListProviderlists updated with platforms that have been onboarded to the DCSA eBL APIsDOCU(DocuTrade)AEOT(AEOTrade)SGTD(SGTraDex)
- Transport Document changes:
- corrected many descriptions for typos and grammatical errors (
numberOfOriginalsWithCharges,numberOfOriginalsWithoutCharges, Reference and ReferenceConsignmentItemtype,OuterPackaging,packageCode,numberOfPackages, OuterPackagingdescription,innerPackagings,NetExplosiveContent, NetExplosiveContentdescription,InnerPackaging,UtilizedTransportEquipment,VesselVoyage,street,streetNumber,floor,postCode,cityandstateRegion) HSCodesmarked as deprecated everywhere,extendedHSCodesto be used insteadextendedHSCodesadded in order to support 12 character codesnationalCommodityCodesmarked as deprecated everywhere,extendedNationalCommodityCodesto be used insteadextendedNationalCommodityCodesadded in order to support 16 character codesinnerPackagingscan now have a nestedinnerPackagingsto allow multiple innerPackaging-layersroleadded toVesselVoyagein order to specify the vessel as being:FIRST_SEA_GOING(First sea going vessel) orMOTHER(Mother vessel)- an unstructured address object called
addressLinesadded to:PlaceOfReceipt,PlaceOfDeliveryandOnwardInlandRouting. Also added to the following party objects:Shipper,OnBehalfOfShipper,Consignee,OnBehalfOfConsignee,Endorsee,CarriersAgentAtDestination,NotifyParty, generalPartyandIssuingParty facilityNameadded to the following location objects:PlaceOfReceipt,PlaceOfDelivery,OnwardInlandRoutingchargeNamemarked as deprecated - useextendedChargeNameinstead which covers 100 characters (instead of 50 characters)eblPlatformadded to:Shipper,ConsigneeandEndorseeparty objects
- corrected many descriptions for typos and grammatical errors (
Release v3.0.2 (14 November 2025)
This is a patch version for the DCSA Issuance API. eBL Solution Providers updated, ZZ allowed as countryCode, 2 new DocumentParties added:
- descriptions added to properties and objects that did not have descriptions (
SupportingDocument,nameinSupportingDocument,IdentifyingCode,Transports,IssuanceErrorandIssuanceResponse) Issue To Partydescription updatedESSDassendToPlatformandcodeListProviderhave been deprecated -IDTshould be usedBLOC(BlockPeer Technologies) added as a newsendToPlatformandcodeListProvidercountryCodedescription inTaxLegalReference,NationalCommodityCode,CustomsReference,Address,PartyAddress,CityandPlaceOfIssueupdated (to align with eBL) to allow the use forZZin case it is not known- clarified conditions for
numberOfOriginalsWithChargesandnumberOfOriginalsWithoutCharges - 2 new DocumentParties added:
OnBehalfOfShipperandOnBehalfOfConsignee - SwaggerHub API Auto Mocking removed
- clarify in
latitudeandlongitudedescription that the value is expressed using ISO 6709 data interchange numeric format
Release v3.0.1 (31 July 2025)
This is a patch version for the DCSA Issuance API. It only includes minor cosmetic changes. The purpose of the patch is to align with electronic Bill of Lading v3.0.1 API. Minor changes
- removed Servers list that was wrongly added (no Virtual Servers are connected to DCSA APIs)
- removed the reference to
ISO 8601(all dateTime fields must comply with RFC 3339, section 5.6) - fixed some formatting in the
transportDocumentStatusdescription and some places referring toTransport Document - added an extra Note on the
displayedAdressmentioning that some carriers might allow for more than 2 lines for physical Bill of Ladings codeListProviderandsendToPlatformupdated with the following values:COVA(Covantis),ETIT(e-title),KTNE(KTNET) andCRED(Credore)- clarifies which party
partyContactDetailsrefers to
Release v3.0.0 (17 December 2024)
This is the final version 3.0.0 for the DCSA Bill of Lading Issuance API. Compared to latest snapshot released 8 November the following has changed:
- the API follows API Design & Implementation Principles v2.0 instead of v2.1
- Link to create a GitHub issue has been updated to point to DCSA Contact Us page
- License url has been updated to secure socket (http —> https)
- typos fixed: everywhere EBL was mentioned has been changed to eBL
- fixed
409response description for thePUTendPoint - The following conditions have been made more clear:
declaredValueCurrencyshould not be provided ifdeclaredValueis not providedtemperatureUnitshould not be provided iftemperatureSetpointis not providedairExchangeUnitshould not be provided ifairExchangeis not provided
- typo fixed in
o2Setpoint(CO2 —> O2) PlaceOfReceiptandPlaceOfDeliverydescription updated (wrong reference toGeo Coordinateremoved)- description updated for
PlaceOfBLIssue - typo fixed in
reference(inImportLicense) (athorizes —> authorizes)
Release v3.0.0 Beta 20241108 (8 of November 2024)
Snapshot as of 8 of November 2024 for EBL Issuance 3.0.0 Beta. Key changes
- A link on how to create Digital Signatures has been added to the API description
ConsigneeandEndorseenow require at least oneIdentifyingCode
Object changes
- properties modified:
IdentifyingCodesis now a mandatory property with aminItems: 1inConsigneeandEndorseeobjects
Transport Document changes
ConsigneeandEndorseenow require at least oneIdentifyingCode
Release v3.0.0 Beta 20241025 (25 of October 2024)
Snapshot as of 25 of October 2024 for EBL Issuance 3.0.0 Beta. Key changes
identifyingCodeswith a minItems of 1 is now mandatory onIssueToParty- On
Consignee,Endorsee,NotifyPartyit is now a condition that thedisplayedAddressshould be provided instead of theaddress
Object changes
- properties added:
- properties modified:
identifyingCodeswith a minItems of 1 is now mandatory onIssueToParty- On
Consignee,Endorsee,NotifyPartyit is now a condition that thedisplayedAddressshould be provided instead of theaddress
- properties removed:
Transport Document changes
- On
Consignee,Endorsee,NotifyPartyit is now a condition that thedisplayedAddressshould be provided instead of theaddress
Minor changes
issuanceManifestSignedContentexample updated to reflect aIssuanceManifestpayloaddeclaredValueCurrencyis now a conditional property based ondeclaredValuebeing provided- descriptions have been updated to make it more clear that ‘one of X or Y’ should be provided instead of ‘either X or Y’
unitdescriptions aligned between weights and volumesIssuingPartydescription updated
Release v3.0.0 Beta 20241011 (11 of October 2024)
Snapshot as of 11 of October 2024 for EBL Issuance 3.0.0 Beta. Key changes
- example updated on responseCode
409for endPointPUT /v3/ebl-issuance-requests - request example updated on
POST /v3/ebl-issuance-responsesendPoint transportDocumentSubReferenceadded to distinguish “versions” ofTransportDocumentsExportLicenseandImportLicenseadded toTransportDocument
Object changes
- properties added:
transportDocumentSubReferenceadded toTransportDocumentexportLicenseandimportLicenseproperties added toTransportDocument,ConsignmentItemandCargoItemExportLicenseandImportLicenseobjects added with the following properties:isRequired,reference,issueDateandexpiryDate
- properties modified:
carrierBookingReferenceno longer has a Condition regardingcountryCodeis now optional onNationalCommodityCodeunNumberandnaNumberrenamed toUNNumberandNANumberinDangerous GoodstransportDocumentSubReferenceadded toTransportDocument
- properties removed:
routingOfConsignmentCountriesremoved fromTransportDocument
Transport Document changes
transportDocumentSubReferenceadded as an optional property to theTransportDocumentroutingOfConsignmentCountriesremoved fromTransportDocumentexportLicenseandimportLicenseadded toTransportDocument,ConsignmentItemandCargoItem
All changes
- Description of
TRACchanged fromTRACE OriginaltoEnigio trace:originalin botheblPlatformandcodeListProvider EUremoved fromcodeListProviderEORIremoved fromcodeListName- extra example added to the
TaxLegalReferencedescription - description of
descriptionOfGoodsinConsignmentItemupdated NationalCommodityCodeexample added- updated
CustomsReferencedescription and examples
Release v3.0.0 Beta 20240927 (27 of September 2024)
Snapshot as of 27 of September 2024 for EBL Issuance 3.0.0 Beta. Key changes
- description on the failed
POST /v3/ebl-issuance-responsesno longer states it is a success contentTypeadded as an optional property to theSupportingDocumentobject with a default value ofapplication/pdf- description clearly updated on properties that are lists/arrays where order needs to be preserved. This goes for:
- 4x
displayedNameForXXXonTransport Documentroot level routingOfConsignmentCountriesonTransport Documentroot leveldescriptionOfGoodsonConsignmentItemshippingMarksonConsignmentItemandUtilizedTransportEquipmentdisplayedAddresson the Party objects
- 4x
- Converted all inner defined objects to globally defined objects. The following objects are now global:
PlaceOfIssuepreviously defined as inner object onTransportDocumentInvoicePayableAtpreviously defined as inner object onTransportDocumentDocumentPartiespreviously defined as inner object onTransportDocumentCargoGrossWeightandCargoGrossVolumepreviously defined as inner object onCargoItemGrossWeight,NetWeight,NetExplosiveContentandNetVolumepreviously defined as inner object onDangerousGoodsTareWeightpreviously defined as inner object onEquipment
Transport Documentchanges
Changes to the Transport Document
- description update on the
numberOf[Copies|Originals][With|Without]Chargesto better explain the conditions as to how the properties are to be used - 4x
displayedNameForXXXdescription updated to clearly indicate the order of the items in the list must be preserved - converted
placeOfIssueto a $ref instead of defining it inline - converted
invoicePayableAtto a $ref instead of defining it inline - converted
documentPartiesto a $ref instead of defining it inline routingOfConsignmentCountriesdescription updated to clearly indicate the order of the items in the list must be preservedConsignmentItemnow allowsSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order) as ReferencesgrossWeightandgrossVolumerenamed tocargoGrossWeightandcargoGrossVolumeonCargoItemcargoNetWeightandcargoNetVolumeadded onCargoItem- converted the following properties:
GrossWeight,NetWeight,NetExplosiveContentandNetVolumeonDangerousGoodsto a $ref instead of defining it inline - converted
tareWeightto a $ref instead of defining it inline purchaseOrderReferenceonShipperandConsigneerenamed topurchaseOrderReferencesand now allows a list of values
Object changes
- properties added:
cargoNetWeightandcargoNetVolumeadded onCargoItemreferencesonConsignmentItemnow allowsSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order)
- properties modified:
-
grossWeightandgrossVolumerenamed tocargoGrossWeightandcargoGrossVolumeonCargoItemnumberOfPackagesonOuterPackagingupper limit set to 99999999POboxrenamed toPOBox(with capitalB)purchaseOrderReferenceonShipperandConsigneerenamed topurchaseOrderReferencesand now allows a list of values
- properties removed:
- No properties have been removed in this release
All changes
- API description update
- Link to the standardized
errorCodein theErrorobject updated to a public page: Error codes as specified by DCSA phonedescription updated to include ITU-T recommendation E.123ReferenceConsignmentItemobject created to, in addition, allowSPO(Shipper’s Purchase Order) andCPO(Consignee’s Purchase Order) onConsignmentItem- description updates to properties in the
AddressandCityobjects (the object can be used for other things than just a Party-address)
Release v3.0.0 Beta 20240913 (13 of September 2024)
Snapshot as of 13 of September 2024 for EBL Issuance 3.0.0 Beta. Key changes
- changed all PseudoEnum values so they no longer include spaces (
) - changed regEx for:
XXXSignedContentproperties to reflect Base64Url encodings - links to specific standardisation bodies versions replaced with more “general” links (Wikipedia links replaced with links to www.iso.org)
Transport Documentchanges
All changes
- Added a link to API Design & Implementation Principles v2.0
- changed
errorDateTimeexample to UTC instead of timeZone specific - multiple typos fixed
- changed regEx for:
issuanceManifestSignedContentto now reflect Base64Url encodings - modified description for
IssueToParty - removed reference data link on
sendToPlatformdescription TaxLegalReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align with type example
transportDocumentStatusvalues no longer contain space ()declaredValueCurrencydescription link changedcarrierCodedescription updated to make it more clear that it is aSCACcodedescriptionOfGoodschanged from string to string array with amaxItemsof 150 and amaxLengthof 35HSCodesdescription link updated to a general link instead of a specific versionshippingMarksmaxItemsis now 50 and length of each line is 35SCHEDULE Bupdated toSCHEDULE_Bas a value in the type in NationalCommodityCode to avoid the space ()CustomsReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align with type example
equipmentReferencedescription link updated to www.iso.org instead of WikipediaweightandvolumeofCargoItemrenamed togrossWeightandgrossVolumeand structure changed to object containing mandatoryvalueandunitpackageCodedescription link updated to a general link instead of a specific versionimoPackagingCodedescription updatedwoodDeclarationvalues no longer contain space ()imoClassreference data link removedfumigationDateTimeexample updated to use UTC timevolumerenamed tonetVolumein DG (Dangerous Goods)ISOEquipmentCodedescription link updated and example modifiedtareWeightandweightUnitmerged into one optional object containing mandatoryvalueandunitPlaceOfReceipt,PortOfLoading,PortOfDischarge,PlaceOfDeliveryandOnwardInlandRoutingcondition added to make sure if multiple ways of expressing a location is used that always point to the same locationcurrencyCodedescription link changedfacilityCodedescription link updated to a more general page instead of a specific versiontypeOfPersonvalues no longer contain space ()
Release v3.0.0 Beta 20240830 (30 of August 2024)
Snapshot as of 30 of August 2024 for EBL Issuance 3.0.0 Beta. Key changes
errorCodeMessagemaxLength updated from 200 —> 5000 inDetailedErrorobjectpartyNamemaxLength changed from 100 —> 70 inIssueToPartyobject- IdentifyingCode object changes:
EUadded to thecodeListProvidervaluesEORIadded tocodeListNamevaluespartyCodemaxLength changed from 100 —> 150
Transport Documentupdated
Transport Document changes
numberOfCopiesWithCharges,numberOfCopiesWithoutCharges,numberOfOriginalsWithChargesandnumberOfOriginalsWithoutChargesdescriptions updated (conditions removed)displayedShippedOnBoardReceivedForShipmentaddedcarrierCodeListProviderdescription forNMFTAis updatedissuingPartymoved from root level —>documentPartiesnotifyPartiesadded as adocumentParty(split frompartyFunctionCodein “Other Document Parties”)routingOfConsignmentCountriesaddednamemaxLength changed from 100 —> 35 inPartyContactDetailobjectSchedule Bchanged toSCHEDULE Bin type inNationalCommodityCodeobject and a typo was fixed in the descriptionnationalCommodityCodesadded onCargoItemlevelwoodDeclarationpseudoEnum values changed to CAPITALIZATIONisCompetentAuthorityApprovalProvidedrenamed toisCompetentAuthorityApprovalRequiredin Dangerous Goods (DG)shippingMarksdescription updatedsealSourcedescription updated (condition added)AddressandPartyAddressobjects updates:streetmaxLength changed from 100 —> 70POboxadded as propertycitymaxLength changed from 65 —> 35
partyFunctionCodevalues updated (NotifyPartyvalues removed)Shipperobject changes:partyNamemaxLength changed from 100 —> 70typeOfPersonaddeddisplayedAddressmaxItems changed from 999 —> 6 and a condition has been added for physical BLsshippersReferencerenamed toreferenceshippersPurchaseOrderReferencerenamed topurchaseOrderReference
Consigneeobject changes:partyNamemaxLength changed from 100 —> 70typeOfPersonaddeddisplayedAddressmaxItems changed from 999 —> 6 and a condition has been added for physical BLsconsigneesReferencerenamed toreferenceconsigneesPurchaseOrderReferencerenamed topurchaseOrderReference
Endorseeobject changes:partyNamemaxLength changed from 100 —> 70displayedAddressmaxItems changed from 999 —> 6 and a condition has been added for physical BLs
CarriersAgentAtDestinationobject changes:partyNamemaxLength changed from 100 —> 70
NotifyPartyobject addedPartyandIssuingPartyobjects changes:partyNamemaxLength changed from 100 —> 70
Release v3.0.0 Beta 20240816 (16 of August 2024)
Snapshot as of 16 of August 2024 for EBL Issuance 3.0.0 Beta. Key changes
Transport Documentupdated- maxLength of
valueproperty of all references changed from100—>35(in order to align with EDI) CustomReferencenow allows a list of values
- maxLength of
- optional list of
errorsadded toIssuanceResponse
Transport Document changes
declaredValuedescription updatedmaxLength=100changed tomaxLength=35(in order to be EDI compatible):- in
referenceinPartyobject - in
valueinTaxLegalReferenceobject - in
valueinReferenceobjects (which also has apatternadded) - in
shippersReferenceinShipperparty object - in
shippersPurchaseOrderReferenceinShipperparty object - in
consigneesReferenceinConsigneeparty object - in
consigneesPurchaseOrderReferenceinConsigneeparty object
- in
CustomReferenceobject has the following changes:maxLength=100changed tomaxLength=35for thevalueproperty- the
valueproperty has been renamed tovaluesand is now a list of values instead of a single value
Issuance changes
IssuanceResponsehas new optionalerrorsarrayIssuanceErrorobject added
Release v3.0.0 Beta 20240726 (26 of July 2024)
Snapshot as of 26 of July 2024 for EBL Issuance 3.0.0 Beta. Key changes
Issuance ResponseendPoint addedTransport Documentupdated
Issuance changes
- API description updated
- Issuance Response endPoint added
issuanceManifestSignedContentadded toIssuanceRequestobjectIssuanceManifestobject deleted
Transport Document changes
placeOfIssueno longer defined inline but via a $ref toPlaceOfIssueobject- values removed from
typeinreference(FF,SI,SPO,CPO,AAO,ECR,CSI,BPR,BIDandSACall removed andAKGadded) streetNumberis no longer a mandatory field in theAddressnorPartyAddressobjectsshippersReferenceandshippersPurchaseOrderReferenceadded toShipperobjectconsigneesReferenceandconsigneesPurchaseOrderReferenceadded toConsigneeobjectreferenceadded toPartyobjectnationalCommodityCodesadded toConsignmentItemNationalCommodityCodeobject addedwoodDeclarationadded toOuterPackaging- fixed typo in required fields of
Transports(vesselVoyage—>vesselVoyages) MULTIMODALadded as aMode of TransporttopreCarriageByandonCarriageByPlaceOfReceipt,PortOfLoading,PortOfDischarge,PlaceOfDeliveryandOnwardInlandRoutingobjects changed from using aoneOfinto an object where all location types are optional and can be used at the same time
Release v3.0.0 Beta 20240614 (28 of June 2024)
Snapshot as of 14 of June 2024 for EBL Issuance 3.0.0 Beta. Key changes
Transport DocumentupdatedIssueToPartyupdated
General changes
- multiple examples added
- multiple descriptions improved (typos) and multiple
patternsimproved
Issuance changes
- improved pattern on
IssueToPartyand added 2 extra values:TRAC(TRACE Original) andBRIT(BRITC eBL) TRAC(TRACE Original) andBRIT(BRITC eBL) added tocodeListProviderinIdentifyingCode
Transport Document changes
minItems=1removed and examples added todisplayedNameFor***- added
titleproperty multiple places carriersAgentAtDestinationadded to theDocumentParties- missing condition added to
volumeUnitinCargoItem minimumandexclusiveMinimumadded tonetWeight,netExplosiveContentandvolumeproperties in DG (Dangerous Goods)LBR(Pounds) andONZ(Ounce) added as allowed value inunitonnetExplosiveContentin DGshippingMarksadded toUtilizedTransportEquipmentvesselVoyagerenamed tovesselVoyagesin theTransportsobject- missing
patternadded tolocationNameinAddressLocationobject nameproperty removed from theAddressobjectpostCodemaxLength changed from50—>10inAddressandPartyAddressobjectsstateRegionnullable removed inAddressLocation,PartyAddressandCityLocation- added, removed and fixed required fields in the
Addressobject - missing
maxLength=4onlocationTypeinCityLocationobject - fixed wrong required field
country—>countryCodeinCityLocationobject facilityCodenullable removed inFacilityLocationCarriersAgentAtDestinationobject added
Release v3.0.0 Beta 2 (12 April 2024)
Beta 2 release of the DCSA OpenAPI definitions for Bill of Lading Issuance 3.0.0-Beta-2 Business changes:
This is a list of high-level business changes:
TransportDocumenthas been updated - please check here for a list of changes: Transport Document v3.0.0-Beta-2IssueToPartyobject has been aligned with EBL Technical changes:
This is a list of high-level technical changes:
-
The API is now developed using ShopLight instead of SwaggerHub-editor. This means that we are no longer using Domains but now have everything defined inline.
-
As a new principle:
- no $ref pointing outside the yaml file
- all
simpleTypesare now specified “inline” in objects - all
objectsare now PascalCased and have atitleproperty set with a presentable version of the object name in Title Case (all representations of snake_case or Pascal_Snake_Case have been removed)
-
all strings having a pattern that matches
^\S+(\s+\S+)*$have been changed to\S(?:.*\S)?$in order to prevent Catastrophic Backtracking List of detailed changes -
API description has been updated with new links (including Stats API). A link to this ChangeLog has been added
-
tagssection has been added -
operationIdproperty added to all endPoints -
using updated
ErrorResponseobject when responding to a409 -
defaulterror now returns an updatederrorobject -
titleproperty added toIssuanceRequestandTransportDocumenthas been updated - se Transport Document 3.0.0-Beta-2 for changes -
IssueToPartyhas the following changes:titleproperty addedlegalNamechanged topartyNameto align with EBLregistrationNumber,locationOfRegistrationandtaxReferencehave been consolidated intoTaxLegalReferencessendToPlatformdescription updated to include all allowed valuespartyCodesrenamed toidentifyingCodesin order to align with EBL with the following changes:codeListProvideris no longer anEnumbut a String withmaxLength100 and description updated with all possible valuescodeListNamedescription changed to align with newcodeListProvider
-
TaxLegalReferenceobject added -
TransportDocumentobject is now included as part of the spec (and no longer a $ref to a Domain defined on SwaggerHub)
Release v3.0.0 Beta 1 (28 December 2023)
Initial release of the DCSA OpenAPI definitions for Bill of Lading Issuance 3.0.0-Beta-1.
Surrender
Release v3.0.3 (14 April 2026)
This is a patch version for the DCSA Surrender API. eBL Solution Providers updated:
- examples on endpoints have been added
eblPlatformandcodeListProviderlists updated with platforms that have been onboarded to the DCSA eBL APIsDOCU(DocuTrade)AEOT(AEOTrade)SGTD(SGTraDex)
endorsementChaindescription forEndorseeupdatederrorCodedescription updated- optional
feedbackElementsproperty on the Surrender Response
Release v3.0.2 (14 November 2025)
This is a patch version for the DCSA Surrender API. eBL Solution Providers updated, ZZ allowed as countryCode, NONE added to allow for “No Party”:
TransactionPartysplit intoActorPartyandRecipientPartyin order to provide better descriptionsESSDaseblPlatformandcodeListProviderhave been deprecated -IDTshould be usedBLOC(BlockPeer Technologies) added as a neweblPlatformandcodeListProviderNONEadded aseblPlatformandcodeListProviderto be used as “No Party” for the recipient when theactionCodeisSIGN,BLANK ENDORSEorSURRENDERED- added extra property
representedPartyonActorPartyandRecipientParty - added missing description to the following objects:
EndorsementChainLink,IdentifyingCodeandSurrenderRequestAnswer actionCodedescription updated for almost all values and 4 new codes added:BLANK_ENDORSEENDORSE_TO_ORDERTRANSFERSURRENDERED
- new
reasonCodeadded:COD(Change of destination)SWI(Switch BL)
- description for
commentsupdated endorsementChaindescription updated to reflectactionCodecountryCodedescription inTaxLegalReferenceupdated (to align with eBL) to allow the use forZZin case it is not known- SwaggerHub API Auto Mocking removed
auditReferenceproperty added to theEndorsementChainLinkobject, it can be used as an identifier issued by the eBL Solution Provider
Release v3.0.1 (31 July 2025)
This is a patch version for the DCSA Surrender API. It only includes minor cosmetic changes. The purpose of the patch is to align with electronic Bill of Lading v3.0.1 API. Minor changes
- removed Servers list that was wrongly added (no Virtual Servers are connected to DCSA APIs)
- removed the reference to
ISO 8601(all dateTime fields must comply with RFC 3339, section 5.6) codeListProviderandeblPlatformupdated with the following values:COVA(Covantis),ETIT(e-title),KTNE(KTNET) andCRED(Credore)
Release v3.0.0 (17 December 2024)
This is the final version 3.0.0 for the DCSA Bill of Lading Surrender API. Compared to latest snapshot released 8 November the following has changed:
- the API follows API Design & Implementation Principles v2.0 instead of v2.1
- Link to create a GitHub issue has been updated to point to DCSA Contact Us page
- License url has been updated to secure socket (http —> https)
- typos fixed: everywhere EBL was mentioned has been changed to eBL
- typos fixed: purpose —> purpose in
endorsementChaindescription
Release v3.0.0 Beta 20241108 (8 of November 2024)
Snapshot as of 8 of November 2024 for EBL Surrender 3.0.0 Beta.
There are no changes in this Snapshot
Release v3.0.0 Beta 20241025 (25 of October 2024)
Snapshot as of 25 of October 2024 for EBL Surrender 3.0.0 Beta. Key changes
- Description of API has been updated to make it clear that a Surrender Request for a B/L MUST be done from same Solution Provider as was used to Issue the B/L
identifyingCodesis now a mandatory property onTransactionParty
Object changes
- properties modified:
identifyingCodesset to mandatory with at least oneIdentifyingCodeonTransactionParty
Minor changes
- updated Tag descriptions to reflect which party is to implement the endPoints
Release v3.0.0 Beta 20241011 (10 of October 2024)
Snapshot as of 10 of October 2024 for EBL Surrender 3.0.0 Beta. Object changes
- properties added:
transportDocumentSubReferenceadded toSurrenderRequestDetails
All changes
- API description updated
- Description of
TRACchanged fromTRACE OriginaltoEnigio trace:originalin botheblPlatformandcodeListProvider SurrenderRequestDetailsdescription changedtransportDocumentSubReferenceadded as an optional property to theSurrenderRequestDetails- Wrongly defined mandatory required
surrenderRequestedByremoved fromSurrenderRequestDetails EUremoved fromcodeListProviderEORIremoved fromcodeListName- extra example added to the
TaxLegalReferencedescription
Release v3.0.0 Beta 20240927 (27 of September 2024)
Snapshot as of 27 of September 2024 for EBL Surrender 3.0.0 Beta. All changes
- API description updated
- Link to the standardized errorCode in the Error object updated to a public page: Error codes as specified by DCSA
Release v3.0.0 Beta 20240913 (13 of September 2024)
Snapshot as of 13 of September 2024 for EBL Surrender 3.0.0 Beta. Key changes
- Added a link to API Design & Implementation Principles v2.0
eblPlatformdescription updated to remove reference data linkactionDateTimeexample update to be UTCactionCodevalues updated to no longer contain space ()endorsementChaindescription updatedTaxLegalReferenceobject updated:- description updated to no longer link to reference data (it is currently out of scope for DCSA to maintain this list)
countryCodeexample updated to align with type example
- changed
errorDateTimeexample to UTC instead of timeZone specific and updated description link - typos fixed
Release v3.0.0 Beta 20240830 (30 of August 2024)
Snapshot as of 30 of August 2024 for EBL Surrender 3.0.0 Beta. Key changes
partyNamemaxLength changed from 100 -> 70 inTransactionPartyobject- description updated on
codeListProviderto includeEU(European Union Member State Customs Authority) as a value - description updated on
codeListNameto includeEORI(Economic Operators Registration and Identification) as a value partyCodemaxLength changed from 100 —> 150 inIdentifyingCodeobjecterrorCodeMessagemaxLength changed from 200 -> 5000
Release v3.0.0 Beta 20240816 (16 of August 2024)
Snapshot as of 16 of August 2024 for EBL Surrender 3.0.0 Beta. Key changes
- maxLength of
valueproperty ofTaxLegalReferenceall reference changed from100—>35(in order to align with EDI)
Release v3.0.0 Beta 20240726 (26 of July 2024)
Snapshot as of 26 of July 2024 for EBL Surrender 3.0.0 Beta. Key changes
Surrender ResponseendPoint added
Surrender changes
- API description updated
/v3/ebl-surrender-requestsresponseCode changed from202—>204- Surrender Response endPoint added
eblPlatformpattern improvedSurrenderRequestedByobject removedEndorsementChainLinkadded mandatoryactionCodepropertySurrenderRequestAcknowledgementobject removedSurrenderRequestDetailshas the following changesreasonrenamed toreasonCodein- pattern added to
comments titleaddedsurrenderRequestedByproperty added
codeListNameinIdentifyingCodesnow has a maxLength of 100 and is defined as type=stringSurrenderRequestAnswerobject added- multiple typos in descriptions fixed
Release v3.0.0 Beta 20240614 (28 of June 2024)
Snapshot as of 14 of June 2024 for EBL Surrender 3.0.0 Beta. Key changes
TRAC(TRACE Original) andBRIT(BRITC eBL) added aseblPlatformvalues in bothTransactionPartyandSurrenderRequestByobjectsTRAC(TRACE Original) andBRIT(BRITC eBL) added ascodeListProvidervalues inIdentifyingCodeobject.- typo in
DCSAvalue andDIDdescriptions fixed countryCodepattern improved
Release v3.0.0 Beta 2 (12 April 2024)
Beta 2 release of the DCSA OpenAPI definitions for Bill of Lading Surrender 3.0.0-Beta-2 Business changes:
This is a list of high-level business changes:
- all
Partyobjects (TransactionPartyandSurrenderRequestBy) have been aligned with EBL 3.0.0 Beta 2 Technical changes:
This is a list of high-level technical changes:
-
The API is now developed using ShopLight instead of SwaggerHub-editor. This means that we are no longer using Domains but now have everything defined inline.
-
As a new principle:
- no $ref pointing outside the yaml file
- all
simpleTypesare now specified “inline” in objects - all
objectsare now PascalCased and have atitleproperty set with a presentable version of the object name in Title Case (all representations of snake_case or Pascal_Snake_Case have been removed)
-
all strings having a pattern that matches
^\S+(\s+\S+)*$have been changed to\S(?:.*\S)?$in order to prevent Catastrophic Backtracking List of detailed changes -
API description has been updated with new links (including Stats API). A link to this ChangeLog has been added
-
tagssection has been added -
operationIdproperty added to all endPoints -
defaulterror now returnsErrorResponse(an updatederrorobject) -
API-Versionheader is now defined inline -
API-Version-Majorparameter is now defined inline -
TransactionPartyobject update so it is aligned with the EBLPartyobject -
SurrenderRequestedByobject created and is aligned with the EBLPartyobject -
SurrenderRequestAcknowledgementobject now has all properties defined inline -
surrenderRequestDetailsobject updated with the following:- all properties defined inline
surrenderRequestByreferencesSurrenderRequestedByobject
-
IdentifyingCodeobject added -
TaxLegalReferenceobject added -
ErrorResponseobject added
Release v3.0.0 Beta 1 (28 December 2023)
Initial release of the DCSA OpenAPI definitions for Bill of Lading Surrender 3.0.0-Beta-1.
Endorsement Chain
Release v3.0.3 (14 April 2026)
This is a “maintenance” release to align with eBL v3.0.3. This version updates the platform list and improves descriptions.
endorsementChaindescription forEndorseeupdatedeblPlatformandcodeListProviderlists updated with platforms that have been onboarded to the DCSA eBL APIsDOCU(DocuTrade)AEOT(AEOTrade)SGTD(SGTraDex)
errorCodedescription updated
Release v3.0.2 (14 November 2025)
This is the initial release for the Endorsement Chain API - it is introduced as v3.0.2 to align with other Bill of Lading modules.
- Initial version aligned with Bill of Lading Surrender API