Transmodal360 API Documentation
Endpoints Description
1. Introduction
Transmodal360 APIs are secure, key-based services designed to provide customers with access to shipment-related data. Access is restricted to registered customers who have been issued a valid API key by Transmodal.
Example API key format: aa74a9cya16242b1c9c83c85ead45eb56478fa3cdcb0e6a07fa3110eeb67672b
2. Usage in headers
Authorization: Bearer <API_KEY>
OR
x-api-key: <API_KEY>
4. HTTP Status Codes
- 200 — Success
- 400 — Bad Request
- 401 — Unauthorized
- 403 — Forbidden
- 404 — Not Found
- 500 — Server Error
5. Sample Error Response
{
"success": false,
"error": {
"message": "Internal Server Error",
"code": 500
}
}
6. Endpoints
1. Tracking
Request
Method: GET
URL: {{base_url}}/tracking
Query Parameters
- page & perPage to control pagination
- mblno to search shipment by MBL#
- fileno to search shipment by File#
- eta_from , eta_to to to search shipment by ETA date range
- etd_from , etd_to to to search shipment by ETD date range
Response
Content-Type: application/json
Sample Request Payload
{{base_url}}/tracking?page=1&perPage=10&mblno=EGLV54050011111&eta_from=2025-08-01&eta_to=2025-08-31&etd_from=2025-07-01&etd_to=2025-07-31;
Sample Response Structure
The response will contain a JSON object with the following sample structure:
{
"data": [
{
"entered_value": 0,
"importer": "",
"consignee": "",
"manufacturer": "",
"serial_id": "",
"filer_code": "",
"entry_number": "",
"broker_ref": "",
"entry_type": 0,
"entry_sum_date": null,
"pms_month": 0,
"payment_type": 0,
"importer_of_record_declaration": false,
"purchase_agreement_declaration": false,
"total_value": "0",
"express_port": false,
"port_of_unlading": 0,
"arrival_date": null,
"import_date": null,
"it_date": null,
"surety": 0,
"duty": "0",
"add_cvd": "0",
"fees": "0",
"tax": "0",
"mpf": "0",
"hmf": "0",
"total": "0",
"first_abi_transmission_date_time": null,
"entry_summary_status": "",
"release_status": "",
"duty301": "0",
"base_duty": "0",
"mpf_plus_hmf": "0",
"validation_passed": false,
"master_bill_issuer": "",
"master_bill_number": "",
"house_bill_issuer": "",
"invoice_date": null,
"order_details": [
{
"header_serial_id": "",
"item_number": 0,
"supplier_part_number": "",
"commercial_description": "",
"country_of_origin": "",
"country_of_export": "",
"export_date": null,
"amount": "0",
"contno": "",
"seal": "",
"cont_type": "",
"port_of_entry": 0,
"port_of_unlading": 0,
"state_of_destination": "",
"location_of_goods": "",
"exam_port": 0,
"statement_date": null,
"carrier": "",
"vessel_name": "",
"voyage": "",
"manifest_unit": "",
"house_bill_number": "",
"hts_number": "",
"value": "0",
"quantity1": "0",
"duty_amount": "0",
"duty_rate": "0%",
"tax_fee_code": 0,
"tax_fee_amount": "0",
"lading_port": 0,
"entry_party_address_line1": "",
"entry_party_city": "",
"entry_party_country": "",
"entry_party_manufacturer_id": "",
"entry_party_name": "",
"entry_party_type": "",
"exchange_rate": "0",
"total_amount_usd": "0",
"gross_weight": "0"
}
]
}
],
"totalRecords": 0,
"currentPage": 0,
"perPage": 0,
"totalPages": 0
}
Response Fields
- data: An array of shipment objects, each containing details such as:
- serial_id: Unique identifier for the shipment.
- fileno: File number associated with the shipment.
- pol: Port of Loading.
- pod: Port of Destination.
- shipper: Name of the shipper.
- mblno: Master Bill of Lading number.
- blno: Bill of Lading number.
- contno: Container number.
- Other fields related to shipment details.
- totalRecords: Total number of records available.
- currentPage: Current page number of the results.
- perPage: Number of results per page.
- totalPages: Total number of pages available.
Note:
2. Booking
This endpoint retrieves booking information. It allows users to query the booking details associated with particular search and filters.
Request
Method: GET
URL: {{base_url}}/booking
Query Parameters
- page & perPage (number) to control pagination.
- mblno (string) to search bookings by MBL#.
- blno (string) to search bookings by File#.
- eta_from (date) , eta_to (date) to search bookings by ETA date range.
- etd_from (date) , etd_to (date) to search bookings by ETD date range.
- booking_from (date) , booking_to (date) to search bookings by booking date range.
- t360_booking_id (string) to search by the t360 booking id.
- line_booking_id (string) to search by the line booking id.
- status (string) to filter records by different booking statuses.
Important Notes :
- Use Date format : YYYY-MM-DD
- Use this status keywords to filter using status param:
[“New”,”Approved”,”Cancelled”,”Draft”,”ALL”] - Default: status = "ALL"
Response
Content-Type: application/json
Sample Request Payload
{{base_url}}/booking?page=1&perPage=10&status=All&booking_from=2023-08-31&booking_to=2023-08-31
Sample Response Structure
The response will contain a JSON object with the following sample structure:
{
"data": [
{
"id": "",
"line_booking_id": "",
"t360_booking_id": "",
"line_booking_date": "",
"booking_creation_date": "",
"transport_mode": "",
"pol": "",
"pol_code": "",
"pod": "",
"pod_code": "",
"fpd": "",
"fpd_code": "",
"vessel": "",
"voyage": "",
"si_cutoff_date": "",
"cy_cutoff": "",
"docs_cutoff": "",
"mbl_details": [
{
"blno": "",
"contno": "",
"gross_wt": 0,
"net_wt": 0,
"gross_volume": 0,
"net_volume": 0
}
],
"move_type": "",
"scac_code": "",
"status": "",
"est_cargo_ready_date": "",
"total_weight": "",
"total_cbm": "",
"ship_name": "",
"eta": "",
"etd": "",
"country_of_origin": ""
}
],
"totalRecords": "",
"currentPage": 0,
"perPage": 0,
"totalPages": 0
}
Response Fields
- data: An array of objects, each containing details such as:
- id: Unique identifier for the booking.
- line_booking_id: Lines booking number.
- t360_booking_id: transmodal booking number.
- pod: Port of Destination.
- pol: Port of Loading.
- fpd: Final place of delivery.
- status: current booking status.
- blno: Bill of Lading number.
- Other fields related to booking details.
- totalRecords: Total number of records available.
- currentPage: Current page number of the results.
- perPage: Number of results per page.
- totalPages: Total number of pages available.
Note:
The response may include null or blank string values for certain fields if the data is not available.
3. 7501 Duties
Request
Method: GET
URL: {{base_url}}/7501_duties
Query Parameters
- page & perPage (number) to control pagination.
- mblno (string) to search bookings by MBL#.
- fromDate (date) , toDate (date) to search records by invoice date range.
- entry_number to search record by entry number
Important Notes:
- Use Date format : YYYY-MM-DD
- Default : page = 1 & perPage = 1
Response
Content-Type: application/json
Sample Request Payload
{{base_url}}/7501_duties?entry_number=0160205-8
Sample Response Structure
The response will contain a JSON object with the following sample structure:
{
"data": [
{
"entered_value": 0,
"importer": "",
"consignee": "",
"manufacturer": "",
"serial_id": "",
"filer_code": "",
"entry_number": "",
"broker_ref": "",
"entry_type": 0,
"entry_sum_date": null,
"pms_month": 0,
"payment_type": 0,
"importer_of_record_declaration": false,
"purchase_agreement_declaration": false,
"total_value": "0",
"express_port": false,
"port_of_unlading": 0,
"arrival_date": null,
"import_date": null,
"it_date": null,
"surety": 0,
"duty": "0",
"add_cvd": "0",
"fees": "0",
"tax": "0",
"mpf": "0",
"hmf": "0",
"total": "0",
"first_abi_transmission_date_time": null,
"entry_summary_status": "",
"release_status": "",
"duty301": "0",
"base_duty": "0",
"mpf_plus_hmf": "0",
"validation_passed": false,
"master_bill_issuer": "",
"master_bill_number": "",
"house_bill_issuer": "",
"invoice_date": null,
"order_details": [
{
"header_serial_id": "",
"item_number": 0,
"supplier_part_number": "",
"commercial_description": "",
"country_of_origin": "",
"country_of_export": "",
"export_date": null,
"amount": "0",
"contno": "",
"seal": "",
"cont_type": "",
"port_of_entry": 0,
"port_of_unlading": 0,
"state_of_destination": "",
"location_of_goods": "",
"exam_port": 0,
"statement_date": null,
"carrier": "",
"vessel_name": "",
"voyage": "",
"manifest_unit": "",
"house_bill_number": "",
"hts_number": "",
"value": "0",
"quantity1": "0",
"duty_amount": "0",
"duty_rate": "0%",
"tax_fee_code": 0,
"tax_fee_amount": "0",
"lading_port": 0,
"entry_party_address_line1": "",
"entry_party_city": "",
"entry_party_country": "",
"entry_party_manufacturer_id": "",
"entry_party_name": "",
"entry_party_type": "",
"exchange_rate": "0",
"total_amount_usd": "0",
"gross_weight": "0"
}
]
}
],
"totalRecords": 0,
"currentPage": 0,
"perPage": 0,
"totalPages": 0
}
Response Fields
- data: An array of objects, each containing details such as:
- serial_id: Unique identifier for the 7501 details..
- Other fields related to 7501 details.
- totalRecords: Total number of records available.
- currentPage: Current page number of the results.
- perPage: Number of results per page.
- totalPages: Total number of pages available.
Note:
4. Invoice
This endpoint retrieves invoice data. It allows users to query the invoice details associated with particular search and filters.
Request
Method: GET
URL: {{base_url}}/invoice
Query Parameters
- page & perPage (number) to control pagination.
- mblno (string) to search bookings by MBL#.
- fromDate (date) , toDate (date) to search records by invoice date range.
- invoice_no to search record by invoice number.
Important Notes:
- Use Date format : YYYY-MM-DD
- Default : page = 1 & perPage = 10
Response
Content-Type: application/json
Sample Request Payload
{{base_url}}/invoice?invoice_no=4114444-01-01
Sample Response Structure
The response will contain a JSON object with the following sample structure:
{
"data": [
{
"serial_id": "",
"invoice_no": "",
"inv_date": null,
"entry_number": "",
"entry_date": null,
"inv_total": "0",
"tot_kgs": "0",
"tot_cbm": "0",
"total_pieces": 0,
"carrier": "",
"port_of_load_name": "",
"port_of_dchg_code": "",
"placeofdeliv_name": "",
"reference_no": "",
"vessel": "",
"voyagenumber": "",
"etd": null,
"eta": null,
"bl_number_master": "",
"status": "",
"reject_reason": "",
"cng_order_id": "",
"ship_to": "",
"ship_from": "",
"error_message": "",
"invoice_status": "",
"otm_status": "",
"otm_error": "",
"send_date": null,
"ref_no": "",
"invoice_details": [
{
"ar_charge": 0,
"line_item": 0,
"serial_id": 0,
"charge_code": "",
"charge_name": ""
}
]
}
],
"totalRecords": 0,
"currentPage": 0,
"perPage": 0,
"totalPages": 0
}
Response Fields
- data: An array of objects, each containing details such as:
- serial_id: Unique identifier for the invoice.
- Other fields related to invoice details.
- totalRecords: Total number of records available.
- currentPage: Current page number of the results.
- perPage: Number of results per page.
- totalPages: Total number of pages available.
Note:
The response may include null or blank string values for certain fields if the data is not available.
5. ISF
This endpoint retrieves isf data. It allows users to query the isf details associated with particular search and filters.
Request
Method: GET
URL: {{base_url}}/isf
Query Parameters
- page & perPage (number) to control pagination.
- mblno (string) to search bookings by MBL#.
- blno (string) to search bookings by File#.
- etd_from (date) , etd_to (date) to search bookings by ETD date range.
- isf_ref (string) to search by the t360 agent_booking_id.
- status (string) to filter records by different isf statuses.
Important Notes:
- Use Date format : YYYY-MM-DD
- Default : page = 1 & perPage = 10
- Use this status keywords to filter using status param:
[“Draft”,”New”,”Failed To Send”,”ALL”,”SENT”] - Default: status = "ALL"
Response
Content-Type: application/json
Sample Request Payload
{{base_url}}/isf?currentPage=1&perPage=10&etd_from=2025-01-01&etd_to=2025-02-28
Sample Response Structure
The response will contain a JSON object with the following sample structure:
{
"data": [
{
"isf_ref_id": "",
"line_booking_id": "",
"importer_name": "",
"isf_status": "",
"mblno": "",
"blno": "",
"scac_code": "",
"ship_name": "",
"isf_shipment_type": "",
"filing_type": "",
"country_of_origin": "",
"sent_status": "",
"remarks": "",
"transaction_id": "",
"vessel": "",
"voyage": "",
"cbp_status": "",
"cbp_errors": "",
"etd": "",
"eta": "",
"shipper": {
"ship_name": "",
"ship_code": "",
"ship_add1": "",
"ship_add2": "",
"ship_add3": "",
"ship_city": "",
"ship_state": "",
"ship_zipcode": "",
"ship_country": "",
"ship_email": "",
"ship_contperson": "",
"ship_print": ""
},
"manufacturer": {
"manufacturer_name": "",
"manufacturer_code": "",
"manufacturer_add1": "",
"manufacturer_add2": "",
"manufacturer_add3": "",
"manufacturer_city": "",
"manufacturer_state": "",
"manufacturer_zipcode": "",
"manufacturer_country": ""
},
"seller": {
"seller_name": "",
"seller_code": "",
"seller_add1": "",
"seller_add2": "",
"seller_add3": "",
"seller_city": "",
"seller_state": "",
"seller_zipcode": "",
"seller_country": ""
},
"consolidator": {
"consolidator_name": "",
"consolidator_code": "",
"consolidator_add1": "",
"consolidator_add2": "",
"consolidator_add3": "",
"consolidator_city": "",
"consolidator_state": "",
"consolidator_zipcode": "",
"consolidator_country": ""
},
"importer": {
"importer_name": "",
"importer_code": "",
"importer_ein_no": "",
"importer_add1": "",
"importer_add2": "",
"importer_add3": "",
"importer_city": "",
"importer_state": "",
"importer_zipcode": "",
"importer_country": ""
},
"commodities": ""
}
],
"totalRecords": 0,
"currentPage": 0,
"perPage": 0,
"totalPages": 0
}
Response Fields
- data: An array of objects, each containing details such as:
- isf_ref_id: Unique identifier for the isf.
- Other fields related to isf details.
- totalRecords: Total number of records available.
- currentPage: Current page number of the results.
- perPage: Number of results per page.
- totalPages: Total number of pages available.
Note:
The response may include null or blank string values for certain fields if the data is not available.
