Want the full platform? Book a demo
API Reference

Bookings

A booking is one shipment: its route, dates, parties, containers and the documents that filled them in. These endpoints return the same mapped shape the CargoMode UI itself renders.

Every enriched field carries its source

Fields that CargoMode fills in automatically ship with a matching *Source field — grossKgSource, vesselSource, etdSource and so on. The value is either "liner_api" (straight from the carrier), "manual" (a human typed it), or the filename of the document it was extracted from. You can show your users where a number came from, and decide for yourself which sources you trust.

GET/api/v1/bookingsBearer key

List your organization's bookings, ordered oldest-updated first. Soft-deleted bookings are excluded.

Query parameters

  • sincestring (ISO 8601)optional

    Only return bookings updated strictly after this timestamp. Omit on the first call, then pass the previous response’s meta.nextSince.

  • limitinteger 1–100optional

    Rows per page. Defaults to 50; values outside the range are clamped.

Request

curl -G https://www.cargomo.de/api/v1/bookings \
  -d limit=50 \
  -d since=2026-09-01T00:00:00Z \
  -H "Authorization: Bearer cm_live_YOUR_API_KEY"

Response

200 OK
{
  "data": [
    {
      "id": "8f2c1a94-3e77-4c2b-9d51-6a0be4f7c218",
      "bookingRef": "20108188",
      "carrierBookingRef": "MSC-4471902",
      "carrier": "MSC",
      "pol": "SGSIN",
      "pod": "NLRTM",
      "customerName": "Sunmark Foods Ltd",
      "vessel": "MSC ISABELLA",
      "voyage": "436W",
      "etd": "2026-09-14",
      "eta": "2026-10-08",
      "vgmCutoff": "2026-09-11T12:00:00Z",
      "vesselSource": "liner_api",
      "etdSource": "liner_api",
      "shipperName": "PT Agri Sumatra",
      "shipperNameSource": "bill-of-lading.pdf",
      "consigneeName": "Sunmark Foods Ltd",
      "cargoWiseJobNumber": "S00241887",
      "cargoWiseSyncedAt": "2026-09-03T09:12:44Z",
      "containers": [ /* see below */ ],
      "shipmentGroups": [ /* see below */ ],
      "updatedAt": "2026-09-03T09:12:44Z"
    }
  ],
  "meta": {
    "count": 50,
    "limit": 50,
    "nextSince": "2026-09-03T09:12:44Z"
  }
}
GET/api/v1/bookings/:idBearer key

Fetch one booking in full, including every container with its shipment group, and metadata for each attached document.

Path parameters

  • idstring (uuid)required

    The booking id. Path parameter. Must belong to your organization.

Request

curl
curl https://www.cargomo.de/api/v1/bookings/8f2c1a94-3e77-4c2b-9d51-6a0be4f7c218 \
  -H "Authorization: Bearer cm_live_YOUR_API_KEY"

Response

200 OK
{
  "id": "8f2c1a94-3e77-4c2b-9d51-6a0be4f7c218",
  "bookingRef": "20108188",
  "carrier": "MSC",
  "containers": [
    {
      "id": "b31d7e02-99a4-4f16-8c30-2d5ae1904bb7",
      "containerNo": "MSCU1234567",
      "containerType": "40HC",
      "sealNo": "SG884120",
      "grossKg": 24180,
      "grossKgSource": "vgm-certificate.pdf",
      "tareKg": 3900,
      "tareKgSource": "liner_api",
      "netKg": 20280,
      "netKgSource": "packing-list.pdf",
      "volumeCbm": 62.4,
      "shipmentGroup": {
        "id": "c7a1...",
        "waybillNumber": "MSCUSG4471902",
        "isOrphansGroup": false,
        "cargoWiseShipmentKey": "S00241887"
      }
    }
  ],
  "shipmentGroups": [
    {
      "id": "c7a1...",
      "waybillNumber": "MSCUSG4471902",
      "isOrphansGroup": false,
      "cargoWiseShipmentKey": "S00241887"
    }
  ],
  "documents": [
    {
      "id": "e0f3...",
      "filename": "bill-of-lading.pdf",
      "documentType": "bill_of_lading",
      "uploadedAt": "2026-09-02T14:20:11Z",
      "mimeType": "application/pdf",
      "fileSize": 284119
    }
  ]
}

A booking id that doesn't exist — or belongs to another organization — returns 404. The two cases are deliberately indistinguishable.