CargoSmart · Capability
CargoSmart Shipment Tracking API
The CargoSmart Shipment Tracking API provides real-time container tracking and shipment visibility across ocean carriers and ports. APIs return container movement events, vessel positions, ETA predictions, and port arrival/departure data for supply chain visibility platforms.
What You Can Do
GET
Trackcontainer
— Track container
/tracking/v1/containers/{containerId}
GET
Listcontainertracking
— Track multiple containers
/tracking/v1/containers
GET
Getshipment
— Get shipment by bill of lading
/tracking/v1/shipments/{billOfLadingNumber}
GET
Searchvesselschedules
— Search vessel schedules
/vessels/v1/schedules
GET
Getvesselposition
— Get vessel position
/vessels/v1/{vesselIMO}/position
POST
Createbooking
— Create container booking
/bookings/v1
GET
Listbookings
— List bookings
/bookings/v1
GET
Getbilloflading
— Get bill of lading
/documents/v1/bills-of-lading/{blNumber}
MCP Tools
trackcontainer
Track container
read-only
idempotent
listcontainertracking
Track multiple containers
read-only
idempotent
getshipment
Get shipment by bill of lading
read-only
idempotent
searchvesselschedules
Search vessel schedules
read-only
idempotent
getvesselposition
Get vessel position
read-only
idempotent
createbooking
Create container booking
listbookings
List bookings
read-only
idempotent
getbilloflading
Get bill of lading
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: CargoSmart Shipment Tracking API
description: The CargoSmart Shipment Tracking API provides real-time container tracking and shipment visibility across ocean
carriers and ports. APIs return container movement events, vessel positions, ETA predictions, and port arrival/departure
data for supply chain visibility platforms.
tags:
- Cargosmart
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: cargosmart
baseUri: https://api.cargosmart.com
description: CargoSmart Shipment Tracking API HTTP API.
authentication:
type: apikey
in: header
name: X-API-Key
value: '{{CARGOSMART_TOKEN}}'
resources:
- name: tracking-v1-containers-containerid
path: /tracking/v1/containers/{containerId}
operations:
- name: trackcontainer
method: GET
description: Track container
inputParameters:
- name: containerId
in: path
type: string
required: true
description: Container number (e.g., MSCU1234567)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: tracking-v1-containers
path: /tracking/v1/containers
operations:
- name: listcontainertracking
method: GET
description: Track multiple containers
inputParameters:
- name: containerIds
in: query
type: string
required: true
description: Comma-separated list of container numbers
- name: billOfLadingNumber
in: query
type: string
description: Filter by bill of lading number
- name: bookingNumber
in: query
type: string
description: Filter by booking number
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: tracking-v1-shipments-billofladingnumber
path: /tracking/v1/shipments/{billOfLadingNumber}
operations:
- name: getshipment
method: GET
description: Get shipment by bill of lading
inputParameters:
- name: billOfLadingNumber
in: path
type: string
required: true
description: Bill of lading number
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: vessels-v1-schedules
path: /vessels/v1/schedules
operations:
- name: searchvesselschedules
method: GET
description: Search vessel schedules
inputParameters:
- name: originPort
in: query
type: string
description: Origin port UN/LOCODE (e.g., USNYC)
- name: destinationPort
in: query
type: string
description: Destination port UN/LOCODE
- name: carrierId
in: query
type: string
description: Carrier SCAC code
- name: departureFrom
in: query
type: string
- name: departureTo
in: query
type: string
- name: limit
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: vessels-v1-vesselimo-position
path: /vessels/v1/{vesselIMO}/position
operations:
- name: getvesselposition
method: GET
description: Get vessel position
inputParameters:
- name: vesselIMO
in: path
type: string
required: true
description: IMO vessel number
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: bookings-v1
path: /bookings/v1
operations:
- name: createbooking
method: POST
description: Create container booking
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: listbookings
method: GET
description: List bookings
inputParameters:
- name: status
in: query
type: string
- name: carrierId
in: query
type: string
- name: fromDate
in: query
type: string
- name: toDate
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: documents-v1-bills-of-lading-blnumber
path: /documents/v1/bills-of-lading/{blNumber}
operations:
- name: getbilloflading
method: GET
description: Get bill of lading
inputParameters:
- name: blNumber
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: cargosmart-rest
description: REST adapter for CargoSmart Shipment Tracking API.
resources:
- path: /tracking/v1/containers/{containerId}
name: trackcontainer
operations:
- method: GET
name: trackcontainer
description: Track container
call: cargosmart.trackcontainer
with:
containerId: rest.containerId
outputParameters:
- type: object
mapping: $.
- path: /tracking/v1/containers
name: listcontainertracking
operations:
- method: GET
name: listcontainertracking
description: Track multiple containers
call: cargosmart.listcontainertracking
outputParameters:
- type: object
mapping: $.
- path: /tracking/v1/shipments/{billOfLadingNumber}
name: getshipment
operations:
- method: GET
name: getshipment
description: Get shipment by bill of lading
call: cargosmart.getshipment
with:
billOfLadingNumber: rest.billOfLadingNumber
outputParameters:
- type: object
mapping: $.
- path: /vessels/v1/schedules
name: searchvesselschedules
operations:
- method: GET
name: searchvesselschedules
description: Search vessel schedules
call: cargosmart.searchvesselschedules
outputParameters:
- type: object
mapping: $.
- path: /vessels/v1/{vesselIMO}/position
name: getvesselposition
operations:
- method: GET
name: getvesselposition
description: Get vessel position
call: cargosmart.getvesselposition
with:
vesselIMO: rest.vesselIMO
outputParameters:
- type: object
mapping: $.
- path: /bookings/v1
name: createbooking
operations:
- method: POST
name: createbooking
description: Create container booking
call: cargosmart.createbooking
outputParameters:
- type: object
mapping: $.
- path: /bookings/v1
name: listbookings
operations:
- method: GET
name: listbookings
description: List bookings
call: cargosmart.listbookings
outputParameters:
- type: object
mapping: $.
- path: /documents/v1/bills-of-lading/{blNumber}
name: getbilloflading
operations:
- method: GET
name: getbilloflading
description: Get bill of lading
call: cargosmart.getbilloflading
with:
blNumber: rest.blNumber
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: cargosmart-mcp
transport: http
description: MCP adapter for CargoSmart Shipment Tracking API for AI agent use.
tools:
- name: trackcontainer
description: Track container
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.trackcontainer
with:
containerId: tools.containerId
inputParameters:
- name: containerId
type: string
description: Container number (e.g., MSCU1234567)
required: true
outputParameters:
- type: object
mapping: $.
- name: listcontainertracking
description: Track multiple containers
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.listcontainertracking
with:
containerIds: tools.containerIds
billOfLadingNumber: tools.billOfLadingNumber
bookingNumber: tools.bookingNumber
inputParameters:
- name: containerIds
type: string
description: Comma-separated list of container numbers
required: true
- name: billOfLadingNumber
type: string
description: Filter by bill of lading number
- name: bookingNumber
type: string
description: Filter by booking number
outputParameters:
- type: object
mapping: $.
- name: getshipment
description: Get shipment by bill of lading
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.getshipment
with:
billOfLadingNumber: tools.billOfLadingNumber
inputParameters:
- name: billOfLadingNumber
type: string
description: Bill of lading number
required: true
outputParameters:
- type: object
mapping: $.
- name: searchvesselschedules
description: Search vessel schedules
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.searchvesselschedules
with:
originPort: tools.originPort
destinationPort: tools.destinationPort
carrierId: tools.carrierId
departureFrom: tools.departureFrom
departureTo: tools.departureTo
limit: tools.limit
inputParameters:
- name: originPort
type: string
description: Origin port UN/LOCODE (e.g., USNYC)
- name: destinationPort
type: string
description: Destination port UN/LOCODE
- name: carrierId
type: string
description: Carrier SCAC code
- name: departureFrom
type: string
description: departureFrom
- name: departureTo
type: string
description: departureTo
- name: limit
type: integer
description: limit
outputParameters:
- type: object
mapping: $.
- name: getvesselposition
description: Get vessel position
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.getvesselposition
with:
vesselIMO: tools.vesselIMO
inputParameters:
- name: vesselIMO
type: string
description: IMO vessel number
required: true
outputParameters:
- type: object
mapping: $.
- name: createbooking
description: Create container booking
hints:
readOnly: false
destructive: false
idempotent: false
call: cargosmart.createbooking
outputParameters:
- type: object
mapping: $.
- name: listbookings
description: List bookings
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.listbookings
with:
status: tools.status
carrierId: tools.carrierId
fromDate: tools.fromDate
toDate: tools.toDate
inputParameters:
- name: status
type: string
description: status
- name: carrierId
type: string
description: carrierId
- name: fromDate
type: string
description: fromDate
- name: toDate
type: string
description: toDate
outputParameters:
- type: object
mapping: $.
- name: getbilloflading
description: Get bill of lading
hints:
readOnly: true
destructive: false
idempotent: true
call: cargosmart.getbilloflading
with:
blNumber: tools.blNumber
inputParameters:
- name: blNumber
type: string
description: blNumber
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
CARGOSMART_TOKEN: CARGOSMART_TOKEN