# Terminal49 > Developer documentation for the Terminal49 API, DataSync, SDK, and MCP server for container tracking, shipment visibility, webhooks, and integrations. ## Docs - [AGENTS](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/AGENTS.md) - [Create container custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/create-container-custom-field.md): Create or update a custom field value on a container in the Terminal49 API. Attach internal metadata like reference codes, priority, or cost centers. - [Delete container custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/delete-container-custom-field.md): Remove a custom field value from a container in the Terminal49 API by referencing the custom field definition's api_slug for that container record. - [Edit a container](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/edit-a-container.md): Update editable container attributes in the Terminal49 API, including weight, seal number, and reference fields, on active or completed shipments. - [Get a container](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/get-a-container.md): Retrieve a single container's full record from the Terminal49 API, including status, holds, fees, and last free day, using its container resource ID. - [Get a container's raw events](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/get-a-containers-raw-events.md): Retrieve raw, carrier-sourced container events from the Terminal49 API. Note: deprecated — use transport events for normalized milestone data instead. - [Get a container's transport events](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/get-a-containers-transport-events.md): List normalized transport events for a single container — vessel discharge, gate-out, rail ramp arrival, and more — from the Terminal49 tracking API. - [Get container map GeoJSON](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/get-container-map-geojson.md): Retrieve a GeoJSON FeatureCollection for a container with port locations, current vessel position, past path, and estimated future route in one call. - [List container custom fields](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/list-container-custom-fields.md): List every custom field value attached to a container in the Terminal49 API, including the api_slug, current value, and resolved option for enum fields. - [List containers](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/list-containers.md): List all containers in your Terminal49 account with filters for status, shipment, last free day, and pagination cursors for large result sets. - [Refresh a container](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/refresh-container.md): Force an immediate data refresh for a container in the Terminal49 API, pulling new status, milestones, holds, and last free day data from all sources. - [Update container custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/containers/update-container-custom-field.md): Update an existing custom field value on a container in the Terminal49 API, identified by the custom field definition's api_slug for that container. - [Create a custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/create-a-custom-field.md): Create a custom field value record in the Terminal49 API, attaching a definition and value to a target shipment, container, or other supported resource. - [Create a custom field definition](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/create-a-custom-field-definition.md): Create a new custom field definition in the Terminal49 API to attach structured metadata like reference codes or enums to shipments and containers. - [Create a custom field option](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/create-a-custom-field-option.md): Add an enum option to a custom field definition in the Terminal49 API so users can select it when applying the custom field to shipments or containers. - [Delete a custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/delete-a-custom-field.md): Delete a custom field value record from the Terminal49 API. The custom field definition is preserved for use on other shipments and containers. - [Delete a custom field definition](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/delete-a-custom-field-definition.md): Delete a custom field definition from your Terminal49 account, removing the field type and its applied values from shipments and containers permanently. - [Delete a custom field option](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/delete-a-custom-field-option.md): Remove an enum option from a custom field definition in the Terminal49 API. Existing records using the deleted option are cleared on next save. - [Get a custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/get-a-custom-field.md): Retrieve a single custom field value record from the Terminal49 API, including the resolved value, related definition slug, and parent resource reference. - [Get a custom field definition](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/get-a-custom-field-definition.md): Retrieve a single custom field definition from the Terminal49 API, including its data type, slug, target resource type, and configured enum options. - [Get a custom field option](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/get-a-custom-field-option.md): Retrieve a single enum option for a custom field definition from the Terminal49 API, including the option's display label and persisted value identifier. - [List custom field definitions](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/list-custom-field-definitions.md): List every custom field definition configured for your Terminal49 account, including data type, slug, and the target resource each definition applies to. - [List custom field options](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/list-custom-field-options.md): List every enum option configured for a custom field definition in the Terminal49 API. Use this to populate selectors in your tracking UI or app. - [List custom fields](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/list-custom-fields.md): List custom field value records across your account in the Terminal49 API, with filters for definition slug, target resource type, and resource ID. - [Update a custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/update-a-custom-field.md): Update the stored value on a custom field record in the Terminal49 API. The associated definition slug and parent resource reference remain unchanged. - [Update a custom field definition](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/update-a-custom-field-definition.md): Update a custom field definition in the Terminal49 API, including its display label, data type constraints, and enum option set for shipments or containers. - [Update a custom field option](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/custom-fields/update-a-custom-field-option.md): Update an enum option on a custom field definition in the Terminal49 API. Change the option's display label without invalidating records that reference it. - [Document Representations Resource](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/document-representations/document-representations-resource.md): Understand the Terminal49 document_representation resource — how extracted document payloads appear via include parameters and document webhook events. - [Get a document schema](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/document-schemas/get-a-document-schema.md): Retrieve a Terminal49 document schema for an extraction output, including the schema version and the structured payload contract for parsed fields. - [Delete a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/delete-a-document.md): Soft-delete (discard) a document record in the Terminal49 API. The underlying file is retained for compliance, but the record is hidden from list endpoints. - [Edit a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/edit-a-document.md): Update manual extraction fields and classification metadata on a document in the Terminal49 API, including document type and operator-edited values. - [Get a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/get-a-document.md): Retrieve a single document record from the Terminal49 API, including classification, extraction status, and links to the file blob and last representation. - [Get a document download URL](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/get-a-document-download-url.md): Get a presigned download URL for a document file in the Terminal49 API to view, share, or stream the original file securely without proxying through your app. - [List document types](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/list-document-types.md): List the allowed document types and labels configured for your Terminal49 account so your app can populate selectors and validate uploads correctly. - [List documents](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/list-documents.md): List documents from the Terminal49 API with filters for shipment, container, document type, and extraction status, plus sorting and include parameters. - [Re-classify a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/re-classify-a-document.md): Trigger asynchronous re-classification of a document in the Terminal49 API to recompute the document type using the latest classification model output. - [Re-extract a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/re-extract-a-document.md): Trigger asynchronous re-extraction of a document in the Terminal49 API to refresh structured field values using the latest extraction model and schema. - [Re-link a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/re-link-a-document.md): Re-run reference linking on a document in the Terminal49 API so updated bill of lading, booking, or container numbers attach to the right shipment record. - [Rotate a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/rotate-a-document.md): Queue a rotation update for an image-based document in the Terminal49 API. PDFs and other non-image document types are not supported by this endpoint. - [Upload a document](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/documents/upload-a-document.md): Create a document record in the Terminal49 API by attaching an ActiveStorage signed blob ID. Triggers downstream classification and field extraction. - [Get an email submission](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/email-submissions/get-an-email-submission.md): Retrieve a single email submission from the Terminal49 API, including parsed sender metadata, attached documents, and reference linking results. - [List email submissions](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/email-submissions/list-email-submissions.md): List inbound email submissions to your Terminal49 account with filters and includes, useful for auditing parsed documents and reference linking outcomes. - [Introduction](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/introduction.md): Complete REST API reference for tracking ocean shipments and containers. Covers BOL, booking, and container number endpoints with real-time webhooks. - [Get a metro area](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/metro-areas/get-a-metro-area-using-the-unlocode-or-the-id.md): Retrieve a single metro area from the Terminal49 API by metro area ID or by UN/LOCODE so you can resolve city and region metadata for shipments. - [Create a party](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/parties/create-a-party.md): Create a customer party record in the Terminal49 API to associate tracking requests, shipments, and containers with the correct downstream account. - [Edit a party](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/parties/edit-a-party.md): Update an existing customer party record in the Terminal49 API, including the display name, role, and contact identifiers used in your tracking workflows. - [Get a party](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/parties/get-a-party.md): Retrieve a single customer party record from the Terminal49 API, including its name, role, and any references that link the party to your account. - [List parties](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/parties/list-parties.md): List all customer party records in your Terminal49 account. Use parties to group tracking requests, shipments, and containers by downstream customer. - [Get a port](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/ports/get-a-port-using-the-locode-or-the-id.md): Retrieve a single port from the Terminal49 API by port ID or UN/LOCODE so you can resolve port names, country codes, and timezones for ocean shipments. - [Create shipment custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/create-shipment-custom-field.md): Create or update a custom field value on a shipment in the Terminal49 API. Attach internal metadata like PO numbers, customer codes, or workflow tags. - [Delete shipment custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/delete-shipment-custom-field.md): Remove a custom field value from a shipment in the Terminal49 API by referencing the custom field definition's api_slug for that shipment record. - [Edit a shipment](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/edit-a-shipment.md): Update editable shipment attributes in the Terminal49 API, including reference numbers, customer party, and operator-managed fields without retracking. - [Get a shipment](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/get-a-shipment.md): Retrieve a single shipment from the Terminal49 API by ID, returning the full shipment record with carrier, ports, ETA, and references in one call. - [List shipment custom fields](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/list-shipment-custom-fields.md): List every custom field value attached to a shipment in the Terminal49 API, including the api_slug, current value, and resolved option for enum fields. - [List shipments](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/list-shipments.md): List all shipments in your Terminal49 account with filters for status, carrier, and date, plus pagination cursors for working through large result sets. - [Resume tracking a shipment](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/resume-tracking-shipment.md): Resume tracking on a previously paused shipment in the Terminal49 API to start receiving milestone updates and webhook notifications again. - [Stop tracking a shipment](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/stop-tracking-shipment.md): Stop tracking a shipment in the Terminal49 API to pause data refreshes and webhook notifications while preserving previously collected shipment history. - [Update shipment custom field](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipments/update-shipment-custom-field.md): Update an existing custom field value on a shipment in the Terminal49 API, identified by the custom field definition's api_slug for that shipment record. - [Get a single shipping line](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipping-lines/get-a-single-shipping-line.md): Retrieve a single ocean shipping line from the Terminal49 API by ID, returning the carrier name, SCAC, and supported tracking number formats. - [List shipping lines](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/shipping-lines/shipping-lines.md): List every ocean shipping line supported by Terminal49, including SCAC codes and carrier names. This endpoint returns the full list without pagination. - [Get a terminal](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/terminals/get-a-terminal-using-the-id.md): Retrieve a single terminal from the Terminal49 API by terminal ID, including the terminal name, port, country, timezone, and operator metadata. - [Infer Tracking Number (Beta)](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/tracking-requests/auto-detect-carrier.md): Use the Terminal49 Infer API to predict the carrier SCAC and number type from a bill of lading, booking, or container number with confidence scores. - [Create a tracking request](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/tracking-requests/create-a-tracking-request.md): Create a new tracking request in the Terminal49 API with a bill of lading, booking, or container number plus a carrier SCAC to start tracking a shipment. - [Edit a tracking request](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/tracking-requests/edit-a-tracking-request.md): Update an existing tracking request in the Terminal49 API, including its associated party reference, customer metadata, and operator-managed fields. - [Get a tracking request](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/tracking-requests/get-a-single-tracking-request.md): Retrieve a single tracking request from the Terminal49 API by ID, including its current status, failure reason, retry count, and associated shipment ID. - [List tracking requests](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/tracking-requests/list-tracking-requests.md): List tracking requests in your Terminal49 account with filters for status, carrier SCAC, and date, sorted with the most recent tracking requests first. - [Get a vessel by ID](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/vessels/get-a-vessel-using-the-id.md): Retrieve a vessel from the Terminal49 API using its internal vessel ID, including name, IMO number, and optional position data for paid plan accounts. - [Get a vessel by IMO](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/vessels/get-a-vessel-using-the-imo.md): Retrieve a vessel from the Terminal49 API by IMO number, including the vessel name, internal ID, and optional AIS position data on paid plan accounts. - [Get vessel future positions](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/vessels/get-vessel-future-positions.md): Retrieve a vessel's estimated future route between two ports from the Terminal49 API, returning a sequence of positions spaced one minute apart. - [Get vessel future positions from coordinates](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/vessels/get-vessel-future-positions-with-coordinates.md): Retrieve a vessel's estimated future route between two coordinate pairs from the Terminal49 API, with one-minute spacing on returned position timestamps. - [Get a single webhook notification](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhook-notifications/get-a-single-webhook-notification.md): Retrieve a single webhook notification record from the Terminal49 API to inspect its delivery status, payload, and the originating shipment or container event. - [Get webhook notification payload examples](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhook-notifications/get-webhook-notification-payload-examples.md): Get an example webhook notification payload from the Terminal49 API for a given event type. Use these payloads to build and test webhook consumers. - [List webhook notifications](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhook-notifications/list-webhook-notifications.md): List webhook notifications from the Terminal49 API to reconcile delivered and undelivered events when your endpoint has been down or behind on processing. - [Create a webhook](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/create-a-webhook.md): Register a new webhook endpoint with the Terminal49 API to receive real-time notifications for tracking request, shipment, and container event changes. - [Delete a webhook](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/delete-a-webhook.md): Permanently delete a webhook subscription from the Terminal49 API. Once deleted, the endpoint will stop receiving event notifications immediately. - [Edit a webhook](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/edit-a-webhook.md): Update an existing webhook subscription in the Terminal49 API, including its target URL, subscribed event types, and active status flag without losing history. - [Get a single webhook](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/get-single-webhook.md): Retrieve a single webhook subscription from the Terminal49 API, including its target URL, subscribed event types, signing secret, and active status flag. - [List webhook IPs](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/list-webhook-ips.md): Retrieve the list of IP addresses Terminal49 uses to send webhook notifications. Use this list to whitelist Terminal49 traffic on your firewall or WAF. - [List webhooks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/list-webhooks.md): List every webhook subscription configured for your Terminal49 account, including each endpoint URL, subscribed event types, and active status flag. - [Trigger a webhook test delivery](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/api-reference/webhooks/trigger-a-webhook.md): Send a one-time test webhook notification to a target HTTPS URL via the Terminal49 API without creating a persistent webhook endpoint configuration. - [List Shipments and Containers](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/getting-started/list-shipments-and-containers.md): List tracked shipments and containers via the Terminal49 API, filter results by status, and retrieve the tracking data your integration needs. - [Receive Shipment Status Updates with Webhooks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/getting-started/receive-status-updates.md): Set up Terminal49 webhooks to receive real-time shipment and container status updates, including milestone events, whenever tracking data changes. - [Open the TypeScript SDK Quickstart](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/getting-started/sdk-quickstart.md): Redirect page for the Terminal49 TypeScript SDK quickstart. Track a container and retrieve live shipment data in a few lines of code. - [Start Here: Track Shipments with the Terminal49 API](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/getting-started/start-here.md): Set up Terminal49 API access, generate an API key, and make your first tracking request to start monitoring ocean shipments and containers. - [Track Shipments and Containers](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/getting-started/tracking-shipments-and-containers.md): Create tracking requests for bill of lading, booking, and container numbers in the Terminal49 API and start receiving shipment milestone updates. - [Add a Customer to a Tracking Request](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/adding-customer.md): Associate a customer party with a Terminal49 tracking request so new shipments automatically inherit the correct party relationship and metadata. - [Identify Your Carrier with the Infer API](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/auto-detect-carrier.md): Use the Terminal49 Infer API to identify a carrier SCAC from a bill of lading or container number before you create a tracking request. - [Terminal49 Container Statuses](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/container-statuses.md): Understand every Terminal49 container status value, from empty-out to empty-return, so your integration can interpret each shipment lifecycle stage. - [Direct Links to Shipments and Containers](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/dashboard-deep-linking.md): Link directly to a shipment or container tracking page using container numbers, BOL numbers, or references — no internal IDs needed. - [Direct Upload for Documents](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/direct-upload-documents.md): Upload files with the Terminal49 direct upload flow, retrieve a signed_id, and create document resources linked to your shipments or containers. - [Document Processing Workflows](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/document-processing-workflows.md): Submit shipping documents by email or API, then consume structured extraction results via webhooks in your Terminal49 document processing workflow. - [Event Timestamps](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/event-timestamps.md): Learn how Terminal49 stores transport event timestamps in UTC and how to convert them to local time using the matching IANA timezone field. - [Container Holds, Fees, and Release Readiness](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/holds-and-fees.md): Determine when an import container is released for pickup by reading holds, fees, last free day, and availability data from the Terminal49 API. - [Include Related Resources in API Responses](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/including-resources.md): Use the include query parameter to return related resources like shipments, containers, terminals, and transport events in a single API response. - [Terminal49 MCP Server Quickstart](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/mcp.md): Set up the Terminal49 MCP server in Claude Desktop, Cursor, or another MCP-compatible client to query live shipment and container tracking data. - [Terminal49 API Quickstart](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/quickstart.md): Follow the Terminal49 API quickstart to create a tracking request, monitor your first shipment, and retrieve live container and shipment data. - [Integrate Rail Container Tracking Data](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/rail-integration-guide.md): Integrate North American rail container tracking data with Terminal49 for unified shipment visibility across Class I rail and intermodal carriers. - [Rate Limiting](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/rate-limiting.md): Understand Terminal49 API rate limits, HTTP 429 responses, and how to design clients that handle throttling with retries and exponential backoff. - [Vessel and Container Route Data](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/routing.md): Access detailed container route segments and vessel position data from the Terminal49 API to build richer map and shipment visibility experiences. - [Terminal49 Map Embed Guide](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/terminal49-map.md): Embed the Terminal49 container map in your website with a publishable API key to display live vessel positions and shipment location data. - [Tracking Widget Embed Guide](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/terminal49-widget.md): Embed the Terminal49 track-and-trace widget on your website so customers can look up live shipment and container status with a publishable API key. - [Tracking Request Lifecycle](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/tracking-request-lifecycle.md): Learn how Terminal49 processes tracking requests through pending, created, and failed states, including retry logic and awaiting_manifest handling. - [Set Up Webhooks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/in-depth-guides/webhooks.md): Create a Terminal49 webhook, choose events, verify signatures, and handle delivery retries safely. - [API Data Sources and Availability](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/useful-info/api-data-sources-availability.md): See which shipment and container data Terminal49 sources from ocean carriers, terminals, rail providers, and AIS, and how availability varies. - [Entitlements and Paid Features](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/useful-info/entitlements.md): Understand which Terminal49 API, map, widget, vessel, and MCP features require additional account enablement and what non-entitled callers receive. - [Terminal49 API Pricing](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/useful-info/pricing.md): Review Terminal49 API pricing plans and find resources for evaluating access to ocean shipment and container tracking data for your integration. - [Terminal49 Test Tracking Numbers](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/useful-info/test-numbers.md): Use Terminal49 test tracking numbers to simulate successful, failed, and edge-case tracking request outcomes and webhook events in your integration. - [Tracking Request Retry Behavior](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/useful-info/tracking-request-retrying.md): See how Terminal49 retries failed tracking requests, which failure types trigger automatic retries, and how to inspect the current retry status via the API. - [Terminal49 Webhook Event Examples](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/useful-info/webhook-events-examples.md): Review sample Terminal49 webhook payloads for shipment, container, and tracking request events to build, test, and debug your webhook consumer. - [Webhook Best Practices](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/best-practices.md): Handle retries, ensure idempotency, verify signatures, and build reliable webhook consumers for Terminal49 shipment and container events. - [Webhook Event Catalog](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/event-catalog.md): Browse every Terminal49 webhook event by category — tracking request status changes, transport milestones, container updates, ETA changes, and more. - [Why Webhooks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/overview.md): Terminal49 is event-driven. Use webhooks to receive real-time shipment and container tracking updates instead of polling the REST API for changes. - [Webhook Payloads](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/payloads.md): Reference the Terminal49 webhook notification envelope, included resource patterns, and links to complete event payload examples. - [Monitor ETA Changes with Webhooks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/use-cases/eta-monitoring.md): Subscribe to Terminal49 ETA change webhook events and alert your team automatically when a shipment's estimated arrival date or port of discharge shifts. - [Alert on LFD Changes and Container Availability](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/use-cases/lfd-alerts.md): Use Terminal49 webhooks to monitor Last Free Day changes and container availability so you can dispatch pickups before demurrage charges begin. - [Track Container Milestones with Webhooks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/api-docs/webhooks/use-cases/milestone-tracking.md): Build a complete container journey timeline by subscribing to Terminal49 transport milestone webhook events from origin through to final destination. - [Terminal49 DataSync Documentation](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/home.md): Learn how Terminal49 DataSync delivers shipment, container, and transport event data into your data warehouse, database, or spreadsheet automatically. - [DataSync Overview](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/overview.md): See how Terminal49 DataSync syncs shipment, container, and tracking request data into your existing data warehouse, database, or spreadsheet systems. - [DataSync Supported Destinations](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/supported-destinations.md): See which databases, data warehouses, object stores, and spreadsheets Terminal49 DataSync supports as sync destinations for your tracking data. - [Deprecated DataSync Containers Table](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/table-properties/containers.md): Reference the deprecated Terminal49 DataSync containers table schema. Migrate to the current rail-aware containers table for new and existing integrations. - [Containers Table](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/table-properties/containers_rail.md): Reference the Terminal49 DataSync containers table schema, including rail-aware tracking fields, column definitions, data types, and relationships. - [Shipments Table](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/table-properties/shipments.md): Reference the Terminal49 DataSync shipments table schema, including column definitions, relationships to containers, and shipment-level tracking fields. - [Tracking Requests Table](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/table-properties/tracking-requests.md): Reference the Terminal49 DataSync tracking_requests table schema, including request status fields, retry-related columns, and carrier information. - [Transfer Status Table](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/table-properties/transfer-status.md): Reference the Terminal49 DataSync _transfer_status table to monitor data refresh timing, last sync timestamps, and per-table sync health status. - [Transport Events Table](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/datasync/table-properties/transport-events.md): Reference the Terminal49 DataSync transport_events table schema for shipment milestone timestamps, event type codes, and port or location data. - [Terminal49 Developer Documentation](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/home.md): Developer documentation for the Terminal49 container tracking API, DataSync data pipelines, TypeScript SDK, and MCP server for AI integrations. - [Terminal49 MCP Server](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/mcp/home.md): Connect the Terminal49 MCP server to Claude Desktop or Cursor so AI tools can query, search, and answer questions with live shipment tracking data. - [Terminal49 SDK Error Handling](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/error-handling.md): Catch and handle Terminal49 TypeScript SDK errors, including API validation failures and network timeouts, so your integration recovers gracefully. - [Terminal49 SDK Filtering and Pagination](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/filtering-pagination.md): Query shipments and containers with status, date, and carrier filters, and paginate large result sets using the Terminal49 TypeScript SDK. - [Terminal49 TypeScript SDK](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/introduction.md): Use the Terminal49 TypeScript SDK to track containers, retrieve shipment data, and receive real-time updates from your Node.js or TypeScript application. - [Terminal49 SDK Methods Reference](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/methods.md): Review every Terminal49 TypeScript SDK method organized by resource — shipments, containers, tracking requests, webhooks, and more — with usage examples. - [Terminal49 SDK Quickstart](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/quickstart.md): Install the Terminal49 TypeScript SDK, track a container, list shipments, and retrieve live tracking data in a few minutes with working examples. - [Class: AuthenticationError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/AuthenticationError.md) - [Class: AuthorizationError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/AuthorizationError.md) - [Class: FeatureNotEnabledError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/FeatureNotEnabledError.md) - [Class: NotFoundError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/NotFoundError.md) - [Class: RateLimitError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/RateLimitError.md) - [Class: Terminal49Client](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/Terminal49Client.md) - [Class: Terminal49Error](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/Terminal49Error.md) - [Class: UpstreamError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/UpstreamError.md) - [Class: ValidationError](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/classes/ValidationError.md) - [Client Module](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/index.md) - [Class: AuthInterceptor](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/interceptors/classes/AuthInterceptor.md) - [Class: ErrorMappingInterceptor](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/interceptors/classes/ErrorMappingInterceptor.md) - [Class: RetryInterceptor](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/interceptors/classes/RetryInterceptor.md) - [client/interceptors](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/interceptors/index.md) - [Type Alias: Interceptor](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/interceptors/type-aliases/Interceptor.md) - [Interface: Terminal49ClientConfig](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/interfaces/Terminal49ClientConfig.md) - [Class: BaseManager](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/classes/BaseManager.md) - [Class: ContainerManager](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/classes/ContainerManager.md) - [Class: ShipmentManager](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/classes/ShipmentManager.md) - [Class: ShippingLineManager](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/classes/ShippingLineManager.md) - [Class: TrackingRequestManager](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/classes/TrackingRequestManager.md) - [client/managers](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/index.md) - [Interface: CreateTrackingRequestFromInferOptions](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/interfaces/CreateTrackingRequestFromInferOptions.md) - [Interface: TrackingRequestListFilters](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/interfaces/TrackingRequestListFilters.md) - [Type Alias: TrackingRequestType](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/managers/type-aliases/TrackingRequestType.md) - [Class: Transport](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/transport/classes/Transport.md) - [client/transport](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/transport/index.md) - [Interface: TransportConfig](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/transport/interfaces/TransportConfig.md) - [Type Alias: ApiClient](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/client/transport/type-aliases/ApiClient.md) - [TypeScript SDK API Reference](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/index.md) - [Models](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/index.md) - [Interface: Container](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/Container.md) - [Interface: PaginatedResult](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/PaginatedResult.md) - [Interface: PaginationLinks](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/PaginationLinks.md) - [Interface: Route](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/Route.md) - [Interface: Shipment](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/Shipment.md) - [Interface: ShippingLine](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/ShippingLine.md) - [Interface: TrackingRequest](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/models/interfaces/TrackingRequest.md) - [Options](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/index.md) - [Interface: CallOptions](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/interfaces/CallOptions.md) - [Interface: ListOptions](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/interfaces/ListOptions.md) - [Type Alias: ContainerInclude](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/type-aliases/ContainerInclude.md) - [Type Alias: IncludeParam](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/type-aliases/IncludeParam.md) - [Type Alias: ResponseFormat](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/type-aliases/ResponseFormat.md) - [Type Alias: ShipmentInclude](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/type-aliases/ShipmentInclude.md) - [Type Alias: TrackingRequestInclude](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/reference/types/options/type-aliases/TrackingRequestInclude.md) - [TypeScript SDK Authentication](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/authentication.md): Redirects to the Terminal49 TypeScript SDK authentication guide. Learn how to configure your API token and authenticate all SDK requests securely. - [TypeScript SDK Methods Reference](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/available-methods.md): Redirects to the Terminal49 TypeScript SDK methods reference. Browse all available client methods for shipments, containers, and tracking requests. - [TypeScript SDK Error Handling](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/error-handling.md): Redirects to the Terminal49 TypeScript SDK error handling guide. Learn how to catch API errors, network timeouts, and validation failures. - [TypeScript SDK Filtering](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/filtering.md): Redirects to the Terminal49 TypeScript SDK filtering guide. Learn how to filter shipments and containers by status, carrier, date, and other fields. - [TypeScript SDK Installation](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/installation.md): Redirects to the Terminal49 TypeScript SDK installation guide. Install the SDK package from npm and configure it for your Node.js or TypeScript project. - [TypeScript SDK Pagination](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/pagination.md): Redirects to the Terminal49 TypeScript SDK pagination guide. Learn how to paginate large result sets when listing shipments, containers, or events. - [TypeScript SDK Quickstart](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/sdk/typescript/quickstart.md): Redirects to the Terminal49 TypeScript SDK quickstart. Get started tracking containers and retrieving shipment data in minutes with working examples. - [Terminal49 API and DataSync Updates](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/updates/home.md): Release notes and changelog for Terminal49 API and DataSync updates, covering new features, endpoint changes, schema updates, and resolved issues. ## OpenAPI Specs - [openapi](https://terminal49-codex-docs-audit-diataxis-skill.mintlify.app/openapi.json)