Skip to content

Integration · Shipping

terminal49.com

Connect Claude & ChatGPT to Terminal49

Ask your AI where a container is, when its vessel arrives, or when the last free day is. It can start tracking a bill of lading, booking or container number, read shipments and containers with ETAs, holds, fees and transport events, and look up vessels, ports and terminals. It can also manage custom fields, parties and documents on your shipments.

Connect Terminal49 free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Start tracking bill of lading MEDUFR030802.”

    If the shipping line is not given, it asks Terminal49 to infer it from the number, then creates the tracking request.

  • “When is the vessel for shipment MEDUFR030802 due at the port of discharge?”

    It finds the shipment and reads the vessel, voyage and the current and original ETA at the port of discharge.

  • “What is the last free day for this container, and are there any holds?”

    It reads the container's last free day, whether it is available for pickup, and any holds and fees at the terminal.

What your AI can do

Tracking requests

Start tracking by bill of lading, booking or container number, infer the shipping line, and follow the status of each request.

Shipments and containers

Read ETAs, last free day, holds, fees and transport events, see vessel positions, and refresh a container.

Fields, parties and documents

Manage custom fields, parties and party roles, upload and read documents, and set up webhooks.

  • “What has happened to this container so far?”

    It lists the container's transport events in order, so you can see each step of the journey.

  • “Which shipments have stopped tracking?”

    It filters your shipments on stopped tracking and can resume tracking on the ones you pick.

  • “Set the PO number field on this shipment to 4471.”

    It finds the custom field definition and sets the value on the shipment.

87 tools for Terminal49

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • create_container_custom_fieldChanges dataCreate a new custom field for a container. Search custom fields first to avoid duplicates. API summary: Create a container custom field.
  • create_container_party_roleDeletesCreate a new party role for a container. Required: data. Destructive action; may require approval. API summary: Assign a container party role.
  • create_custom_fieldChanges dataCreate a new custom field. Search custom fields first to avoid duplicates. API summary: Create a custom field.
  • create_custom_field_definitionChanges dataCreate a new custom field definition. Search custom field definitions first to avoid duplicates. API summary: Create a custom field definition.
  • create_custom_field_definition_optionChanges dataCreate a new option for a custom field definition. API summary: Create a custom field option.
  • create_documentChanges dataCreate a new document. Search documents first to avoid duplicates. API summary: Upload a document.
  • create_document_reclassifyChanges dataCreate a new reclassify for a document. API summary: Re-classify a document.
  • create_document_reextractChanges dataCreate a new reextract for a document. API summary: Re-extract a document.
  • create_document_relinkChanges dataCreate a new relink for a document. API summary: Re-link a document.
  • create_document_rotateChanges dataCreate a new rotate for a document. Required: degrees. API summary: Rotate a document.
  • create_partyChanges dataCreate a new party.
  • create_shipment_custom_fieldChanges dataCreate a new custom field for a shipment. Search custom fields first to avoid duplicates. API summary: Create a shipment custom field.
  • create_shipment_party_roleDeletesCreate a new party role for a shipment. Required: data. Destructive action; may require approval. API summary: Assign a shipment party role.
  • create_tracking_requestChanges dataStart tracking a new shipment or container. In data.attributes pass request_type (bill_of_lading, booking_number or container), request_number and the carrier scac; optional ref_numbers and shipment_tags. Set data.type to tracking_request.
  • create_tracking_request_custom_fieldChanges dataCreate a new custom field for a tracking request. Search custom fields first to avoid duplicates. API summary: Create a tracking request custom field.
  • create_triggerDeletesCreate a new trigger. Required: url or event. Destructive action; may require approval. API summary: Trigger a webhook test delivery.
  • create_webhookDeletesCreate a new webhook. Required: data. Destructive action; may require approval. API summary: Create a webhook.
  • delete_container_custom_fieldDeletesPermanently delete a custom field by api slug. Destructive action; may require approval. API summary: Delete a container custom field.
  • delete_container_party_roleDeletesPermanently delete a party role by party role id. Destructive action; may require approval. API summary: Remove a container party role.
  • delete_custom_fieldDeletesPermanently delete a custom field by custom field id. Destructive action; may require approval.
  • delete_custom_field_definitionDeletesPermanently delete a custom field definition by custom field definition id. Destructive action; may require approval.
  • delete_custom_field_definition_optionDeletesPermanently delete a option by option id. Destructive action; may require approval. API summary: Delete a custom field option.
  • delete_documentDeletesPermanently delete a document by document id. Destructive action; may require approval.
  • delete_shipment_custom_fieldDeletesPermanently delete a custom field by api slug. Destructive action; may require approval. API summary: Delete a shipment custom field.
  • delete_shipment_party_roleDeletesPermanently delete a party role by party role id. Destructive action; may require approval. API summary: Remove a shipment party role.
  • delete_tracking_request_custom_fieldDeletesPermanently delete a custom field by api slug. Destructive action; may require approval. API summary: Delete a tracking request custom field.
  • delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • get_containerGet one container by container_id, with its status, availability, holds, last free day and pickup details.
  • get_custom_fieldGet one custom field by custom field id. API summary: Get a custom field.
  • get_custom_field_definitionGet one custom field definition by custom field definition id. API summary: Get a custom field definition.
  • get_custom_field_definition_optionGet one option for a custom field definition by option id. API summary: Get a custom field option.
  • get_documentGet one document by document_id, with its type and extracted data.
  • get_document_download_linkGet a temporary download link for a document by document_id.
  • get_document_schemaGet one document schema by document schema id. API summary: Get a document schema.
  • get_email_submissionGet one email submission by email submission id. API summary: Get an email submission.
  • get_metro_areaGet one metro area by metro area id. API summary: Get a metro area using the un/locode or the id.
  • get_partyGet one party by party id.
  • get_portGet one port by port_id.
  • get_shipmentGet one shipment by shipment_id, with its carrier, ports, vessel, ETA and containers.
  • get_shipping_lineGet one shipping line by shipping line id. API summary: Get a single shipping line.
  • get_terminalGet one terminal by terminal_id.
  • get_tracking_requestGet one tracking request by tracking_request_id, including why it failed if it did.
  • get_vesselGet one vessel by vessel_id, optionally with positions between two timestamps.
  • get_webhookGet one webhook by webhook id. API summary: Get single webhook.
  • get_webhook_notificationGet one webhook notification by webhook notification id. API summary: Get a single webhook notification.
  • identify_tracking_numberChanges dataWork out what kind of number something is (container, bill of lading or booking) and which carrier it likely belongs to. Pass `number`. Use before creating a tracking request.
  • list_container_custom_fieldsList custom fields for a container. API summary: List container custom fields.
  • list_container_eventsList a container's transport events (loaded, departed, arrived, discharged, picked up and so on) by container_id.
  • list_container_map_geojsonsList map geojsons for a container. API summary: Get container map GeoJSON.
  • list_container_party_rolesList party roles for a container. API summary: List container party roles.
  • list_containersList tracked containers. Results are paginated.
  • list_custom_field_definition_optionsList options for a custom field definition. API summary: List custom field options.
  • list_eventsList events. API summary: List webhook events.
  • list_examplesList examples. Optional filters: event. API summary: Get webhook notification payload examples.
  • list_ipsList ips. API summary: List webhook IPs.
  • list_partiesList parties. Results are paginated.
  • list_shipment_custom_fieldsList custom fields for a shipment. API summary: List shipment custom fields.
  • list_shipment_party_rolesList party roles for a shipment. API summary: List shipment party roles.
  • list_shipmentsList tracked shipments, optionally filtered by `number` (bill of lading or booking) or whether tracking has stopped. Results are paginated.
  • list_shipping_linesList the shipping lines (carriers) Terminal49 supports, with their SCAC codes.
  • list_tracking_request_custom_fieldsList custom fields for a tracking request. API summary: List tracking request custom fields.
  • list_tracking_requestsList tracking requests and their status (pending, created, failed), filtered by request number, carrier SCAC, status or dates.
  • list_typesList types. API summary: List document types.
  • list_vessel_future_positionsList future positions for a vessel. Optional filters: port id or previous port id. API summary: Get vessel future positions.
  • list_vessel_future_positions_with_coordinatesList future positions with coordinates for a vessel. Optional filters: port id, previous port id, latitude or longitude. API summary: Get vessel future positions from coordinates.
  • list_webhook_notificationsList webhook notifications. Results are paginated.
  • list_webhooksList webhooks. Results are paginated.
  • refresh_containerVisible to othersAsk Terminal49 to fetch fresh terminal data for a container right now, by container_id.
  • resume_tracking_shipmentVisible to othersResume tracking a shipment that was stopped, by shipment_id.
  • searchSearch shipments and containers by any number: bill of lading, container, booking or reference number. Partial matches work. Use this first to find IDs.
  • search_custom_field_definitionsSearch custom field definitions by filter entity type, filter data type or filter display name. Use this to find existing custom field definitions before creating a new custom field definition. Results are paginated. API summary: List custom field definitions.
  • search_custom_fieldsSearch custom fields by filter entity type, filter entity id or filter definition id. Use this to find existing custom fields before creating a new custom field. Results are paginated. API summary: List custom fields.
  • search_documentsSearch shipping documents by filename, reference or document type. Results are paginated.
  • send_submissionVisible to othersEmail a submission. Has effects visible outside this system. Results are paginated. API summary: List email submissions.
  • stop_tracking_shipmentVisible to othersStop tracking a shipment by shipment_id. No further updates are collected until tracking is resumed.
  • update_container_custom_fieldChanges dataUpdate an existing custom field identified by api slug. Only the fields you pass are changed. API summary: Update a container custom field.
  • update_containersVisible to othersUpdate an existing container. Only the fields you pass are changed. Has effects visible outside this system. API summary: Edit a container.
  • update_custom_fieldChanges dataUpdate an existing custom field identified by custom field id. Only the fields you pass are changed. API summary: Update a custom field.
  • update_custom_field_definitionChanges dataUpdate an existing custom field definition identified by custom field definition id. Only the fields you pass are changed. API summary: Update a custom field definition.
  • update_custom_field_definition_optionChanges dataUpdate an existing option identified by option id. Only the fields you pass are changed. API summary: Update a custom field option.
  • update_documentChanges dataUpdate an existing document identified by document id. Only the fields you pass are changed. API summary: Edit a document.
  • update_partyChanges dataUpdate an existing party identified by party id. Only the fields you pass are changed.
  • update_shipmentChanges dataSet a shipment's tags or reference numbers by shipment_id. Pass them in data.attributes (tags, ref_numbers).
  • update_shipment_custom_fieldChanges dataUpdate an existing custom field identified by api slug. Only the fields you pass are changed. API summary: Update a shipment custom field.
  • update_tracking_requestChanges dataUpdate an existing tracking request identified by tracking request id. Only the fields you pass are changed. API summary: Edit a tracking request.
  • update_tracking_request_custom_fieldChanges dataUpdate an existing custom field identified by api slug. Only the fields you pass are changed. API summary: Update a tracking request custom field.
  • update_webhookDeletesUpdate an existing webhook identified by webhook id. Only the fields you pass are changed. Destructive action; may require approval. API summary: Edit a webhook.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Terminal49 from the app list.

  2. 2

    Paste your key

    Paste a Terminal49 API key. Sign in to Terminal49 and open the developer portal page (app.terminal49.com/developers/api-keys) to create or copy a key.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Terminal49?

The AI can create and read tracking requests, search shipments and containers, and read ETAs, last free day, holds, fees, transport events and map data. It can look up vessels, ports, terminals and shipping lines, stop or resume tracking, and manage custom fields, parties, documents and webhooks.

Does the AI see my Terminal49 API key?

No. Your Terminal49 credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start read-only. Deleting custom fields, documents, party roles or webhooks is permanent, and those actions can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Terminal49 account.

What numbers can I track?

You can start tracking by bill of lading number, booking number or container number, together with the shipping line's SCAC code. If you do not know the shipping line, the AI can ask Terminal49 to infer it from the number first.

Let your AI work in Terminal49 today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Terminal49 free

HeyMyApps is not affiliated with Terminal49. Product names are trademarks of their owners.