This page contains updates to Terminal49 API and DataSync only (not
general product updates).
March 2026
APISDKMCPDataSync
TypeScript SDK, MCP server, Custom Fields API, webhook trigger endpoint, and DataSync improvements
TypeScript SDK
Released the Terminal49 TypeScript SDK (@terminal49/sdk), a typed client for Node.js 18+ with built-in retry logic, error handling, and JSON:API deserialization.- Track containers, retrieve shipments, and manage tracking requests with type-safe methods
- Automatic retry with exponential backoff for rate limits and server errors
- Flexible response formats: raw JSON:API, mapped objects, or both
SDK docs
Get started with the TypeScript SDK
MCP server
Launched the Terminal49 MCP server, letting you query live container and shipment data from Claude Desktop, Cursor, or any MCP-compatible AI client.- 10 tools — search, track, get container details, shipment routing, transport events, and more
- 3 prompts — pre-built workflows for tracking, demurrage analysis, and delay root cause analysis
- Connect with a single config block — no custom code required
MCP setup guide
Connect your AI client to Terminal49
Custom Fields API
You can now create and manage custom fields on shipments and containers via the API. Define your own field schemas (text, number, date, single-select, multi-select), create option lists, and attach values to individual shipments or containers.- Custom Field Definitions — create, update, list, and delete field schemas scoped to shipments or containers
- Custom Field Options — manage allowed values for select-type fields
- Custom Fields — assign values to specific shipments or containers
Custom Field Definitions
View the Custom Fields API reference
Webhook trigger endpoint
AddedPOST /webhooks/trigger to send a one-time test webhook delivery to any HTTPS URL — without creating a webhook endpoint first. Use it to validate your webhook handler before going live.Trigger a webhook
API reference for the trigger endpoint
DataSync improvements
- Shipping line Last Free Day — new
ssl_last_free_day_onandssl_last_free_day_on_localcolumns on both thecontainersandcontainers_railtables, so you can distinguish the shipping line’s LFD from the terminal’s LFD - Pending hold status — individual hold columns (
freight_hold,customs_hold,usda_hold,tmf_hold,other_hold) now support a"Pending"value in addition to"Hold"and blank, giving you earlier visibility into holds before they become active
Container table properties
DataSync containers reference
Holds and fees guide
How to work with holds and fees data
Container Holds, Fees, and Release Readiness
Published a comprehensive guide for working with holds and fees data in the Terminal49 API. The guide covers:- Pickup readiness logic — a decision flowchart and code example showing how to combine
available_for_pickupwithholds_at_pod_terminalto determine if a container can be picked up - Hold and fee enum references — quick-reference tables for all hold names and fee types, with expandable details for each value
- Webhook changeset examples — how to subscribe to
container.updatedand react to hold/fee changes in real time - Rail and inland destinations — clarification that the same fields apply at inland rail terminals, not just the port of discharge
- FAQ — answers to common integration questions like double-counting fees, sync lag between holds and availability, and case-sensitive hold names
Read the guide
Container Holds, Fees, and Release Readiness
Infer Tracking Number (Beta)
Added the Infer Tracking Number endpoint to help you predict:- The VOCC SCAC to use for tracking
- The number type (container, bill of lading, booking)
- A confidence-driven decision (
auto_select,needs_confirmation,no_prediction)
API Reference
Infer Tracking Number endpoint details
Guide
How to use Infer Tracking Number in your workflow