Skip to content
GETAPI key

Portfolio summary

GETapi.trackingmcp.com/v1/containers/summary

One roll-up of your whole book: how many are active, how many in exception, how many arrive this week, and the money at risk. The container list beside the counts is the filtered slice, so a filter narrows the list without changing the counts. One quirk worth knowing: the id on a summary row is the container number, not the UUID the other endpoints use.

Query parameters

filterstring

Which slice the containers array carries: all (default), exceptions, arriving_soon or demurrage_risk. The four counts always describe the whole book.

Response fields

Derived from the example response.

okboolean

Whether the request succeeded.

dataobject

The payload. Everything an endpoint returns sits under this key.

data.total_activenumber

Containers you are tracking, excluding archived ones.

data.exceptionsnumber

Count of shipments in an exception state: customs hold, rolled, delayed or at transshipment.

data.arriving_this_weeknumber

Count with an ETA in the next seven days.

data.demurrage_risk_usdnumber

Demurrage already accrued across the book, in USD.

data.containersobject[]

Tracked containers on the account.

data.containers[].idstring

Stable identifier for the record. On the tracking endpoints this is the container UUID, except on a portfolio summary row, where it is the container number.

data.containers[].statusstring

Current normalised status of the shipment. Ocean lifecycle order: discharged, available, delivered, returned_empty. Two values end a shipment, delivered and returned_empty, and returned_empty outranks delivered.

data.containers[].etastring

Arrival time (ISO 8601). Null when the carrier publishes none and we cannot predict one.

data.containers[].vessel_namestring

Name of the carrying vessel, or null when the carrier named none.

data.containers[].vessel_imostring

IMO number of the carrying vessel, or null when unknown.

Errors

A failure carries { "ok": false, "error": { "code", "message", "severity" } }. Branch on the code, and log the message.

UNAUTHORIZED401

The key is missing, malformed or revoked.

DB_ERROR500

We could not read your book. Retry.

curl 'https://api.trackingmcp.com/v1/containers/summary' \
  -H "Authorization: Bearer tmcp_YOUR_API_KEY"
Response
{
  "ok": true,
  "data": {
    "total_active": 128,
    "exceptions": 6,
    "arriving_this_week": 14,
    "demurrage_risk_usd": 4820.5,
    "containers": [
      {
        "id": "MEDU1234562",
        "status": "in_transit",
        "eta": "2026-07-03T06:00:00Z",
        "vessel_name": "MSC TERESA",
        "vessel_imo": "9754105"
      }
    ]
  }
}