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.
/api/v1/bookingsBearer keyList your organization's bookings, ordered oldest-updated first. Soft-deleted bookings are excluded.
Query parameters
sincestring (ISO 8601)optionalOnly return bookings updated strictly after this timestamp. Omit on the first call, then pass the previous response’s meta.nextSince.
limitinteger 1–100optionalRows per page. Defaults to 50; values outside the range are clamped.
| Name | Type | Description |
|---|---|---|
since | string (ISO 8601) | Only return bookings updated strictly after this timestamp. Omit on the first call, then pass the previous response’s meta.nextSince. |
limit | integer 1–100 | 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
{
"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"
}
}/api/v1/bookings/:idBearer keyFetch one booking in full, including every container with its shipment group, and metadata for each attached document.
Path parameters
idstring (uuid)requiredThe booking id. Path parameter. Must belong to your organization.
| Name | Type | Description |
|---|---|---|
id | string (uuid)required | The booking id. Path parameter. Must belong to your organization. |
Request
curl https://www.cargomo.de/api/v1/bookings/8f2c1a94-3e77-4c2b-9d51-6a0be4f7c218 \ -H "Authorization: Bearer cm_live_YOUR_API_KEY"
Response
{
"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.
