Technical documentation – API Baltic Hub
| Version | Release date | Author | Change description |
|---|---|---|---|
| 1.0 | 2025-07-24 | IT BHCT | First release |
| 1.1 | 2025-08-24 | IT BHCT | Added the ability to send multiple containers (up to 500) in a single request (applies to the UNITS endpoint). |
| 1.2 | 2025-10-17 | IT BHCT | Added information about three endpoints: Train Operator Units & Update Seals Train Operator & Self Assign Train Operator |
| 1.3 | 2026-01-20 | IT BHCT | Added information about endpoint: Self Assign Agent One |
| 1.4 | 2026-05-27 | IT BHCT | Added information: 1. new endpoint: Self Assign One Booking 2. added new fields to Unit endpoint: DSK Number and Loaded |
Authorization Method: OAuth 2.0
Access to the API is only possible from specified IP addresses (from the whitelist).
For API access, please contact our customer service at customerservice@baltichub.com or submit API Application Form available here: API.
200 requests / 60 seconds
Title: Baltic Hub API Azure
Description: BalticHub API. Access from whitelisted addresses only. Authorization method – BEARER Token.
Version: 1.4.0
Host: api2.baltichub.com Base Path: /V1
Summary: Train discharge list
Description: Get list of containers scheduled/onboard/incoming on Train Visit.
API address with example:
https://api2.baltichub.com/V1/TRAIN_DISCHARGE_LIST?TRAIN_VISIT_ID=TUX2W31-25_EXP
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| TRAIN_VISIT_ID | query | string | (Required) BalticHub terminal system Train Visit ID. | Yes |
Example:
<columns> <column>Unit Nbr</column> <column>T-State</column> <column>V-State</column> <column>Category</column> <column>Line Op</column> <column>Type ISO</column> <column>Frght Kind</column> <column>I/B Actual Service Name</column> <column>Planned Position</column> <column>Position</column> </columns>
<rows>
<row primary-key="9669222089">
<field>MNBU4126562</field>
<field>Yard</field>
<field>Active</field>
<field>Storage</field>
<field>MAE</field>
<field>45R1</field>
<field>Empty</field>
<field>LOCONI - Szczecin</field>
<field />
<field>Y-CY1-I05.008.4.3</field>
</row>
<row primary-key="9669232792">
<field>MNBU3159052</field>
<field>Yard</field>
<field>Active</field>
<field>Storage</field>
<field>MAE</field>
<field>45R1</field>
<field>Empty</field>
<field>LOCONI - Szczecin</field>
<field />
<field>Y-CY1-I05.008.4.2</field>
</row>
</rows>Summary: Train load list
Description: Get list of containers scheduled/loaded/departed on Train Visit.
API address with example:
https://api2.baltichub.com/V1/TRAIN_LOAD_LIST?TRAIN_VISIT_ID=TUX3W31-25_IMP
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| TRAIN_VISIT_ID | query | string | (Required) BalticHub terminal system Train Visit ID. | Yes |
Example:
<columns> <column>Unit Nbr</column> <column>T-State</column> <column>V-State</column> <column>Category</column> <column>Line Op</column> <column>Type ISO</column> <column>Frght Kind</column> <column>I/B Actual Service Name</column> <column>Planned Position</column> <column>Position</column> </columns>
<rows>
<row primary-key="9628689976">
<field>CMAU5668810</field>
<field>Departed</field>
<field>Departed</field>
<field>Import</field>
<field>CMA</field>
<field>45G1</field>
<field>FCL</field>
<field>OCEAN Alliance (AEU1)</field>
<field />
<field>R-335449805019-1B2</field>
</row>
<row primary-key="9629435816">
<field>CMAU4193221</field>
<field>Departed</field>
<field>Departed</field>
<field>Import</field>
<field>CMA</field>
<field>45G1</field>
<field>FCL</field>
<field>OCEAN Alliance (AEU1)</field>
<field />
<field>R-378449501246-1B1</field>
</row>
</rows>Summary: Train visits
Description: Get Train Visits.
API address with example:
https://api2.baltichub.com/V1/TRAIN_VISITS?VISIT_PHASE=10CREATED&ETA_AFTER=2025-10-08 12:00&ETA_BEFORE=2025-10-12 15:30
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| VISIT_PHASE | query | string | (Optional). Multiple values allowed – use comma as separator. Possible Values: 10CREATED, 20INBOUND, 30ARRIVED, 40WORKING, 50COMPLETE, 60DEPARTED, 70CLOSED, 80CANCELED, 90ARCHIVED | No |
| ETA_AFTER | query | string | (Required) Mandatory. Start date of time range. Date/Time format yyyy-mm-dd hh:mm | Yes |
| ETA_BEFORE | query | string | (Required) Mandatory. End date of time range. Date/Time format yyyy-mm-dd hh:mm | Yes |
Example:
<columns> <column>Visit</column> <column>Phase</column> <column>ETA</column> <column>ETD</column> <column>ATA</column> <column>ATD</column> <column>Direction</column> <column>Service Name</column> </columns>
<rows>
<row primary-key="9723456969">
<field>ZZZZZW33-25_EXP</field>
<field>Complete</field>
<field>2025-08-14 06:00</field>
<field>2025-08-14 12:00</field>
<field>2025-08-14 02:54</field>
<field />
<field>Inbound Only Train</field>
<field>Service Name</field>
</row>
<row primary-key="9723454856">
<field>YYYYY33-25_IMP</field>
<field>Complete</field>
<field>2025-08-14 06:00</field>
<field>2025-08-14 12:00</field>
<field>2025-08-14 02:54</field>
<field />
<field>Outbound Only Train</field>
<field>Service name</field>
</row>
</rows>Summary: Vessel
Description: Vessel – Get Vessel Visit details.
API address with example:
https://api2.baltichub.com/V1/VESSEL?VISIT_REF=25BERA523
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| VISIT_REF | query | string | (Required) BalticHub terminal system Vessel Visit ID. | Yes |
Example:
<columns> <column>Visit</column> <column>Vessel Name</column> <column>I/B Vyg</column> <column>O/B Vyg</column> <column>Line</column> <column>Phase</column> <column>ETA</column> <column>ETD</column> <column>ATA</column> <column>ATD</column> <column>Begin Receive</column> <column>DryCutoff</column> </columns>
<rows>
<row primary-key="9530124090">
<field>25BERA523</field>
<field>MSC BERANGERE</field>
<field>GA523W</field>
<field>GA533E</field>
<field>MSC</field>
<field>Working</field>
<field>2025-08-10 22:00</field>
<field>2025-08-14 13:00</field>
<field>2025-08-11 01:20</field>
<field />
<field>2025-08-03 04:00</field>
<field>2025-08-10 10:00</field>
</row>
</rows>Summary: Unit
Description: Get Unit (container) details. The ability to send multiple containers (up to 500) in a single request, separated by commas.
API address with example:
https://api2.baltichub.com/V1/unit?UNIT_NBR=SUDU1234567,SUDU7654321,MSKU1234567
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| UNIT_NBR | query | string | (Required) | Yes |
| VISIT_STATE | query | string | (Optional) Multiple values allowed – use comma as separator. Possible values: 1ACTIVE, 2ADVISED, 3DEPARTED, 4RETIRED | No |
| TRANSIT_STATE | query | string | (Optional) Multiple values allowed – use comma as separator. Possible values: S10_ADVISED, S20_INBOUND, S30_ECIN, S40_YARD, S60_LOADED, S70_DEPARTED, S99_RETIRED | No |
Example:
<columns> <column>Unit Nbr</column> <column>T-State</column> <column>V-State</column> <column>Category</column> <column>Line Op</column> <column>Type ISO</column> <column>Frght Kind</column> <column>I/B Actual Visit</column> <column>O/B Actual Visit</column> <column>Time In</column> <column>Time Out</column> <column>Unit Impediments</column> <column>CEN Number</column> <column>Cmdy</column> <column>VGM Weight</column> <column>Cargo Wt (kg)</column> <column>Tare Wt</column> <column>Weight (kg)</column> <column>Seal Nbr1</column> <column>Seal Nbr2</column> <column>Seal Nbr3</column> <column>Seal Nbr4</column> <column>DSK Number</column> <column>Loaded</column> </columns>
<rows>
<row primary-key="8971657315">
<field>SUDU1234567</field>
<field>Departed</field>
<field>Departed</field>
<field>Import</field>
<field>MAE</field>
<field>45G1</field>
<field>FCL</field>
<field>25XXX510</field>
<field>XXXX5656</field>
<field>2025-03-08 01:16</field>
<field>2025-03-12 14:48</field>
<field>!TECHNICAL_FULL_CONTAINER</field>
<field>CustmosNumber</field>
<field>YYYYYYYYYY</field>
<field>14442.0</field>
<field>10442.0</field>
<field>4000.0</field>
<field>14442.0</field>
<field />
<field />
<field>ML-XXXXXX</field>
<field />
<field>DSK Number</field>
<field>2025-03-12 14:48</field>
</row>
</rows>Summary: TRAIN OPERATOR UNITS. Endpoint only for train operators.
Description: Get Unit (container) details with an assigned train operator. The train operator can only see their own containers.
API address with example:
https://api2.baltichub.com/V1/TRAIN_OPERATOR_UNITS?UNIT_NBR=SUDU1234567
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| UNIT_NBR | query | string | (Required) | Yes |
Example:
<columns> <column>Unit Nbr</column> <column>Type ISO</column> <column>Category</column> <column>T-State</column> <column>V-State</column> <column>Line Op</column> <column>Frght Kind</column> <column>Train Operator</column> </columns>
<rows>
<row primary-key="8971657315">
<field>SUDU1234567</field>
<field>45G1</field>
<field>Import</field>
<field>Departed</field>
<field>Departed</field>
<field>MAE</field>
<field>FCL</field>
<field>Loconi</field>
</row>
</rows>Summary: Endpoint only for train operators.
Description: Update container seal numbers in the Navis system.
Address with example:
https://api2.baltichub.com/V1/UPDATE_SEALS_TRAIN_OPERATOR
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| Ufv_Gkey | query | string | (Required). Unique Unit (container visit) key in the terminal system. Refers to primary-key available in 'Unit' endpoint response. | Yes |
| UnitSeal1, UnitSeal2, UnitSeal3, UnitSeal4 | query | string | (Required) Space for entering subsequent seal numbers for a given container. | Yes |
Example:
<custom class="WS_CUSTOM_HANDLER_UPDATE_SEALS" type="extension">
<item>
<Ufv_Gkey>8836072559</Ufv_Gkey>
<UnitSeal1>testseal123</UnitSeal1>
<UnitSeal2>testseal1666623</UnitSeal2>
<UnitSeal3>testseal123</UnitSeal3>
<UnitSeal4>testseal123</UnitSeal4>
</item>
</custom>Summary: Endpoint only for train operators.
Description: Assigning Train Operator to a container using a PIN code in the Navis system.
Address with example:
https://api2.baltichub.com/V1/SELF_ASSIGN_TRAIN_OPERATOR
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| Ufv_Gkey | query | string | (Required). Unique Unit (container visit) key in the terminal system. Refers to primary-key available in 'Unit' endpoint response. | Yes |
| UnitPIN | query | string | (Required). Unit PIN. The PIN must match the Unit PIN in the terminal system. | Yes |
Example:
<items>
<item>
<Ufv_Gkey>8781457138</Ufv_Gkey>
<UnitPIN>XYZ123XYZ</UnitPIN>
</item>
</items>Summary: Endpoint only for Agents One.
Description: Assigning Agent One to a container using a PIN code in the Navis system.
Address with example:
https://api2.baltichub.com/V1/SELF_ASSIGN_AGENT_ONE
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| Ufv_Gkey | query | string | (Required). Unique Unit (container visit) key in the terminal system. Refers to primary-key available in 'Unit' endpoint response. | Yes |
| UnitPIN | query | string | (Required). Unit PIN. The PIN must match the Unit PIN in the terminal system. | Yes |
Example:
<items>
<item>
<Ufv_Gkey>10017457249</Ufv_Gkey>
<UnitPIN>123123</UnitPIN>
</item>
</items>Summary: Endpoint only for Agents One.
Description: Assigning Agent One to a container using a Booking number in the Navis system.
Address with example:
https://api2.baltichub.com/V1/SELF_ASSIGN_AGENT_ONE_BOOKING
| Name | In | Type | Description | Required |
|---|---|---|---|---|
| Ufv_Gkey | query | string | (Required). Unique Unit (container visit) key in the terminal system. Refers to primary-key available in 'Unit' endpoint response. | Yes |
| UnitBooking | query | string | (Required). Unit Booking Number. The Booking Number must match the Booking Number in the terminal system. | Yes |
Example:
<items>
<item>
<Ufv_Gkey>9100461217</Ufv_Gkey>
<UnitBooking>EBKG15952147</UnitBooking>
</item>
</items>