# Terminal49
## Docs
- [AGENTS](https://terminal49.com/docs/AGENTS.md)
- [Create container custom field](https://terminal49.com/docs/api-docs/api-reference/containers/create-container-custom-field.md)
- [Delete container custom field](https://terminal49.com/docs/api-docs/api-reference/containers/delete-container-custom-field.md)
- [Edit a container](https://terminal49.com/docs/api-docs/api-reference/containers/edit-a-container.md): Update a container
- [Get a container](https://terminal49.com/docs/api-docs/api-reference/containers/get-a-container.md): Retrieves the details of a container.
- [Get a container's raw events](https://terminal49.com/docs/api-docs/api-reference/containers/get-a-containers-raw-events.md): #### Deprecation warning The `raw_events` endpoint is provided as-is.
- [Get a container's transport events](https://terminal49.com/docs/api-docs/api-reference/containers/get-a-containers-transport-events.md): Get a list of past transport events (canonical) for a container. All data has been normalized across all carriers. These are a verified subset of the raw events may also be sent as Webhook Notifications to a webhook endpoint.
- [Get container map GeoJSON](https://terminal49.com/docs/api-docs/api-reference/containers/get-container-map-geojson.md): Returns a GeoJSON FeatureCollection containing all map-related data for a container, including port locations, current vessel position (if at sea), past vessel paths, and estimated future routes. The response can be directly used with most mapping libraries (Leaflet, Mapbox GL, Google Maps, etc.). <…
- [List container custom fields](https://terminal49.com/docs/api-docs/api-reference/containers/list-container-custom-fields.md)
- [List containers](https://terminal49.com/docs/api-docs/api-reference/containers/list-containers.md): Returns a list of container. The containers are returned sorted by creation date, with the most recently refreshed containers appearing first.
- [Refresh container](https://terminal49.com/docs/api-docs/api-reference/containers/refresh-container.md): Schedules the container to be refreshed immediately from all relevant sources.
To be alerted of updates you should subscribe to the [relevant webhooks](/api-docs/in-depth-guides/webhooks). This endpoint is limited to 10 requests per minute.This is a paid feature. Please…
- [Update container custom field](https://terminal49.com/docs/api-docs/api-reference/containers/update-container-custom-field.md)
- [Create a custom field](https://terminal49.com/docs/api-docs/api-reference/custom-fields/create-a-custom-field.md)
- [Create a custom field definition](https://terminal49.com/docs/api-docs/api-reference/custom-fields/create-a-custom-field-definition.md)
- [Create a custom field option](https://terminal49.com/docs/api-docs/api-reference/custom-fields/create-a-custom-field-option.md)
- [Delete a custom field](https://terminal49.com/docs/api-docs/api-reference/custom-fields/delete-a-custom-field.md)
- [Delete a custom field definition](https://terminal49.com/docs/api-docs/api-reference/custom-fields/delete-a-custom-field-definition.md)
- [Delete a custom field option](https://terminal49.com/docs/api-docs/api-reference/custom-fields/delete-a-custom-field-option.md)
- [Get a custom field](https://terminal49.com/docs/api-docs/api-reference/custom-fields/get-a-custom-field.md)
- [Get a custom field definition](https://terminal49.com/docs/api-docs/api-reference/custom-fields/get-a-custom-field-definition.md)
- [Get a custom field option](https://terminal49.com/docs/api-docs/api-reference/custom-fields/get-a-custom-field-option.md)
- [List custom field definitions](https://terminal49.com/docs/api-docs/api-reference/custom-fields/list-custom-field-definitions.md)
- [List custom field options](https://terminal49.com/docs/api-docs/api-reference/custom-fields/list-custom-field-options.md)
- [List custom fields](https://terminal49.com/docs/api-docs/api-reference/custom-fields/list-custom-fields.md)
- [Update a custom field](https://terminal49.com/docs/api-docs/api-reference/custom-fields/update-a-custom-field.md)
- [Update a custom field definition](https://terminal49.com/docs/api-docs/api-reference/custom-fields/update-a-custom-field-definition.md)
- [Update a custom field option](https://terminal49.com/docs/api-docs/api-reference/custom-fields/update-a-custom-field-option.md)
- [Get a metro area using the un/locode or the id](https://terminal49.com/docs/api-docs/api-reference/metro-areas/get-a-metro-area-using-the-unlocode-or-the-id.md): Return the details of a single metro area.
- [Create a party](https://terminal49.com/docs/api-docs/api-reference/parties/create-a-party.md): Creates a new party
- [Edit a party](https://terminal49.com/docs/api-docs/api-reference/parties/edit-a-party.md): Updates a party
- [Get a party](https://terminal49.com/docs/api-docs/api-reference/parties/get-a-party.md): Returns a party by it's given identifier
- [List parties](https://terminal49.com/docs/api-docs/api-reference/parties/list-parties.md): Get a list of parties
- [Get a port using the locode or the id](https://terminal49.com/docs/api-docs/api-reference/ports/get-a-port-using-the-locode-or-the-id.md): Return the details of a single port.
- [Create shipment custom field](https://terminal49.com/docs/api-docs/api-reference/shipments/create-shipment-custom-field.md)
- [Delete shipment custom field](https://terminal49.com/docs/api-docs/api-reference/shipments/delete-shipment-custom-field.md)
- [Edit a shipment](https://terminal49.com/docs/api-docs/api-reference/shipments/edit-a-shipment.md): Update a shipment
- [Get a shipment](https://terminal49.com/docs/api-docs/api-reference/shipments/get-a-shipment.md): Retrieves the details of an existing shipment. You need only supply the unique shipment `id` that was returned upon `tracking_request` creation.
- [List shipment custom fields](https://terminal49.com/docs/api-docs/api-reference/shipments/list-shipment-custom-fields.md)
- [List shipments](https://terminal49.com/docs/api-docs/api-reference/shipments/list-shipments.md): Returns a list of your shipments. The shipments are returned sorted by creation date, with the most recent shipments appearing first.
- [Resume tracking a shipment](https://terminal49.com/docs/api-docs/api-reference/shipments/resume-tracking-shipment.md): Resume tracking a shipment. Keep in mind that some information is only made available by our data sources at specific times, so a stopped and resumed shipment may have some information missing.
- [Stop tracking a shipment](https://terminal49.com/docs/api-docs/api-reference/shipments/stop-tracking-shipment.md): We'll stop tracking the shipment, which means that there will be no more updates. You can still access the shipment's previously-collected information via the API or dashboard.
- [Update shipment custom field](https://terminal49.com/docs/api-docs/api-reference/shipments/update-shipment-custom-field.md)
- [Get a single shipping line](https://terminal49.com/docs/api-docs/api-reference/shipping-lines/get-a-single-shipping-line.md): Return the details of a single shipping line.
- [Shipping Lines](https://terminal49.com/docs/api-docs/api-reference/shipping-lines/shipping-lines.md): Return a list of shipping lines supported by Terminal49. N.B. There is no pagination for this endpoint.
- [Get a terminal using the id](https://terminal49.com/docs/api-docs/api-reference/terminals/get-a-terminal-using-the-id.md): Return the details of a single terminal.
- [Infer Tracking Number (Beta)](https://terminal49.com/docs/api-docs/api-reference/tracking-requests/auto-detect-carrier.md): Predict the carrier SCAC (VOCC) and number type from a tracking number. Provide a container number, bill of lading number, or booking number and receive the predicted carrier with confidence and a decision value. Use this to auto-populate carrier fields before creating a tracking request.
- [Create a tracking request](https://terminal49.com/docs/api-docs/api-reference/tracking-requests/create-a-tracking-request.md): To track an ocean shipment, you create a new tracking request. Two attributes are required to track a shipment. A `bill of lading/booking number` and a shipping line `SCAC`.
- [Edit a tracking request](https://terminal49.com/docs/api-docs/api-reference/tracking-requests/edit-a-tracking-request.md): Update a tracking request
- [Get a single tracking request](https://terminal49.com/docs/api-docs/api-reference/tracking-requests/get-a-single-tracking-request.md): Get the details and status of an existing tracking request.
- [List tracking requests](https://terminal49.com/docs/api-docs/api-reference/tracking-requests/list-tracking-requests.md): Returns a list of your tracking requests. The tracking requests are returned sorted by creation date, with the most recent tracking request appearing first.
- [Get a vessel using the id](https://terminal49.com/docs/api-docs/api-reference/vessels/get-a-vessel-using-the-id.md): Returns a vessel by id. `show_positions` is a paid feature. Please contact sales@terminal49.com.
- [Get a vessel using the imo](https://terminal49.com/docs/api-docs/api-reference/vessels/get-a-vessel-using-the-imo.md): Returns a vessel by the given IMO number. `show_positions` is a paid feature. Please contact sales@terminal49.com.
- [Get vessel future positions](https://terminal49.com/docs/api-docs/api-reference/vessels/get-vessel-future-positions.md): Returns the estimated route between two ports for a given vessel. The timestamp of the positions has fixed spacing of one minute. This is a paid feature. Please contact sales@terminal49.com.
- [Get vessel future positions from coordinates](https://terminal49.com/docs/api-docs/api-reference/vessels/get-vessel-future-positions-with-coordinates.md): Returns the estimated route between two ports for a given vessel from a set of coordinates. The timestamp of the positions has fixed spacing of one minute. This is a paid feature. Please contact sales@terminal49.com.
- [Get a single webhook notification](https://terminal49.com/docs/api-docs/api-reference/webhook-notifications/get-a-single-webhook-notification.md)
- [Get webhook notification payload examples](https://terminal49.com/docs/api-docs/api-reference/webhook-notifications/get-webhook-notification-payload-examples.md): Returns an example payload as it would be sent to a webhook endpoint for the provided `event`
- [List webhook notifications](https://terminal49.com/docs/api-docs/api-reference/webhook-notifications/list-webhook-notifications.md): Return the list of webhook notifications. This can be useful for reconciling your data if your endpoint has been down.
- [Create a webhook](https://terminal49.com/docs/api-docs/api-reference/webhooks/create-a-webhook.md): You can configure a webhook via the API to be notified about events that happen in your Terminal49 account. These events can be realted to tracking_requests, shipments and containers.
- [Delete a webhook](https://terminal49.com/docs/api-docs/api-reference/webhooks/delete-a-webhook.md): Delete a webhook
- [Edit a webhook](https://terminal49.com/docs/api-docs/api-reference/webhooks/edit-a-webhook.md): Update a single webhook
- [Get single webhook](https://terminal49.com/docs/api-docs/api-reference/webhooks/get-single-webhook.md): Get the details of a single webhook
- [List webhook IPs](https://terminal49.com/docs/api-docs/api-reference/webhooks/list-webhook-ips.md): Return the list of IPs used for sending webhook notifications. This can be useful for whitelisting the IPs on the firewall.
- [List webhooks](https://terminal49.com/docs/api-docs/api-reference/webhooks/list-webhooks.md): Get a list of all the webhooks
- [3. List Your Shipments & Containers](https://terminal49.com/docs/api-docs/getting-started/list-shipments-and-containers.md)
- [4. How to Receive Status Updates](https://terminal49.com/docs/api-docs/getting-started/receive-status-updates.md)
- [SDK Quickstart (TypeScript)](https://terminal49.com/docs/api-docs/getting-started/sdk-quickstart.md)
- [1. Start Here](https://terminal49.com/docs/api-docs/getting-started/start-here.md)
- [2. Tracking Shipments & Containers](https://terminal49.com/docs/api-docs/getting-started/tracking-shipments-and-containers.md): Submitting a tracking request is how you tell Terminal49 to track a shipment for you.
- [How to add a Customer to a Tracking Request?](https://terminal49.com/docs/api-docs/in-depth-guides/adding-customer.md)
- [Identify Your Carrier with the Infer API](https://terminal49.com/docs/api-docs/in-depth-guides/auto-detect-carrier.md): Don't know the carrier SCAC for your tracking number? The Infer API identifies it automatically, helping you create successful tracking requests.
- [Container Statuses](https://terminal49.com/docs/api-docs/in-depth-guides/container-statuses.md)
- [Event Timestamps](https://terminal49.com/docs/api-docs/in-depth-guides/event-timestamps.md)
- [Container Holds, Fees, and Release Readiness](https://terminal49.com/docs/api-docs/in-depth-guides/holds-and-fees.md): Determine when an import container is released for pickup by reading holds, fees, and availability data.
- [Including Resources](https://terminal49.com/docs/api-docs/in-depth-guides/including-resources.md)
- [MCP Server Quickstart](https://terminal49.com/docs/api-docs/in-depth-guides/mcp.md): Full setup guide for the Terminal49 MCP server
- [Quick Start Guide](https://terminal49.com/docs/api-docs/in-depth-guides/quickstart.md)
- [Integrate Rail Container Tracking Data](https://terminal49.com/docs/api-docs/in-depth-guides/rail-integration-guide.md): This guide provides a comprehensive, step-by-step approach for integrating North American Class-1 rail container tracking data into your systems. Whether you are a shipper or a logistics service provider, this guide will help you track all your rail containers via a single API.
- [Rate Limiting](https://terminal49.com/docs/api-docs/in-depth-guides/rate-limiting.md)
- [Vessel and Container Route Data](https://terminal49.com/docs/api-docs/in-depth-guides/routing.md): This guide explains how to access detailed container routes and vessel positions data (historical and future positions) using Terminal49 APIs.
- [Terminal49 Map Embed Guide](https://terminal49.com/docs/api-docs/in-depth-guides/terminal49-map.md): The Terminal49 Map allows you to embed real-time visualized container tracking on your website with just a few lines of code.
- [Tracking Widget Embed Guide](https://terminal49.com/docs/api-docs/in-depth-guides/terminal49-widget.md): The Terminal49 Track & Trace Widget allows you to embed real-time container tracking on your website with just a few lines of code. This widget provides a seamless user experience and helps improve customer satisfaction.
- [Tracking Request Lifecycle](https://terminal49.com/docs/api-docs/in-depth-guides/tracking-request-lifecycle.md)
- [Webhooks](https://terminal49.com/docs/api-docs/in-depth-guides/webhooks.md)
- [API Data Sources and Availability.](https://terminal49.com/docs/api-docs/useful-info/api-data-sources-availability.md): Our platform gets data from variety of sources in order to create a complete view of a shipment and containers. However,some data is not universally available from all sources, and some data does not become available until certain milestones pass. This page will help you understand which data source…
- [Pricing](https://terminal49.com/docs/api-docs/useful-info/pricing.md)
- [Test Numbers](https://terminal49.com/docs/api-docs/useful-info/test-numbers.md)
- [Tracking Request Retrying](https://terminal49.com/docs/api-docs/useful-info/tracking-request-retrying.md)
- [Webhook Events Examples](https://terminal49.com/docs/api-docs/useful-info/webhook-events-examples.md)
- [Terminal49 Dev Documentation](https://terminal49.com/docs/datasync/home.md)
- [Overview](https://terminal49.com/docs/datasync/overview.md)
- [Supported Destinations](https://terminal49.com/docs/datasync/supported-destinations.md)
- [Containers (deprecated)](https://terminal49.com/docs/datasync/table-properties/containers.md)
- [Containers](https://terminal49.com/docs/datasync/table-properties/containers_rail.md)
- [Shipments](https://terminal49.com/docs/datasync/table-properties/shipments.md)
- [Tracking Requests](https://terminal49.com/docs/datasync/table-properties/tracking-requests.md)
- [Transfer Status](https://terminal49.com/docs/datasync/table-properties/transfer-status.md)
- [Transport Events](https://terminal49.com/docs/datasync/table-properties/transport-events.md)
- [Terminal49 Dev Documentation](https://terminal49.com/docs/home.md)
- [MCP Overview](https://terminal49.com/docs/mcp/home.md): Terminal49 MCP server for AI-powered container tracking
- [Error Handling](https://terminal49.com/docs/sdk/error-handling.md): Catch and handle errors from the Terminal49 SDK
- [Filtering & Pagination](https://terminal49.com/docs/sdk/filtering-pagination.md): Query shipments and containers with filters and handle large result sets
- [Introduction](https://terminal49.com/docs/sdk/introduction.md): TypeScript SDK for the Terminal49 API
- [Methods Reference](https://terminal49.com/docs/sdk/methods.md): All available methods in the Terminal49 SDK
- [Quickstart](https://terminal49.com/docs/sdk/quickstart.md): Track a container and retrieve shipment data in 5 minutes
- [Authentication](https://terminal49.com/docs/sdk/typescript/authentication.md)
- [Available Methods](https://terminal49.com/docs/sdk/typescript/available-methods.md)
- [Error Handling](https://terminal49.com/docs/sdk/typescript/error-handling.md)
- [Filtering](https://terminal49.com/docs/sdk/typescript/filtering.md)
- [TypeScript Installation](https://terminal49.com/docs/sdk/typescript/installation.md)
- [Pagination](https://terminal49.com/docs/sdk/typescript/pagination.md)
- [Quickstart](https://terminal49.com/docs/sdk/typescript/quickstart.md)
- [API & DataSync Updates](https://terminal49.com/docs/updates/home.md): Release notes for Terminal49 API and DataSync.
## OpenAPI Specs
- [openapi](https://terminal49.com/docs/openapi.json)
## Optional
- [Contact](https://www.terminal49.com/contact/)
- [Schedule Demo](https://www.terminal49.com/demo/)
- [Blog](https://www.terminal49.com/blog/)
Built with [Mintlify](https://mintlify.com).