Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

project44 REST API (4.0.0)

Version 4.0.0 of project44's API

Download OpenAPI description
Languages
Servers
Mock server
https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/
NA - Endpoint for project44 tenants created in the NA region
https://na12.api.project44.com/
EU - Endpoint for project44 tenants created in the EU region
https://eu12.api.project44.com/
Sandbox - Endpoint for project44 tenants created in the sandbox environment
https://na12.api.sandbox.p-44.com/

Manage Client Applications

Operations

Generate Tokens

Operations

Unified Shipment Tracking

Operations

Fetch the position history for a shipment.

Request

Required Fields

  • shipmentId
Path
shipmentIdstring(uuid)required
Query
includeRouteInfoboolean
Default false
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/shipments/{shipmentId}/positionhistory?includeRouteInfo=false' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
positionsArray of objects(TrackedShipmentPosition)

Locations where this shipment has been recorded. Data may be down-sampled. Will always be in ascending order by the date that the shipment was at that position.

shipmentobject(TrackedShipment)

Shipment tracking model used to initiate a shipment.

Response
application/json
{ "positions": [ {} ], "shipment": { "attributes": [], "accessGroups": [], "createdDateTime": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [], "lastModifiedDateTime": "2019-08-24T14:15:22Z", "plan": {}, "routeInfo": {}, "relatedShipments": [], "shipmentShareLink": "string" } }

Fetch the shipment information including the stops and route segments.

Request

Required Fields

  • shipmentId
Path
shipmentIdstring(uuid)required
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/shipments/{shipmentId}/tracking' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
attributesArray of objects(CustomAttribute)[ 0 .. 25 ] items

An optional user-defined set of custom attributes to associate with this shipment.

accessGroupsArray of objects(AccessGroup)unique

This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility.

createdDateTimestring(date-time)

The date and time when this shipment was created. This value is read only and will be ignored during shipment creation.

idstring(uuid)

Master shipment id of the shipment. Will always be populated on the response.

identifiersArray of objects(LogisticsIdentifier)[ 0 .. 250 ] items

Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment:

  • Air
    • AIR_WAYBILL
    • HOUSE_AIR_WAYBILL
  • European Rail
    • WAGON_ID
    • TRAIN_NUMBER
  • North American Rail
    • CONTAINER_ID
    • TRAILER_ID
    • RAIL_CAR_ID
    • BILL_OF_LADING
    • WAYBILL
  • Ocean
    • BILL_OF_LADING
    • BOOKING_NUMBER
    • CARRIER_SCAC
    • CONTAINER_ID
  • Parcel
    • CAPACITY_PROVIDER_ACCOUNT_GROUP
    • CAPACITY_PROVIDER_ACCOUNT_CODE
    • TRACKING_NUMBER
    • CARRIER_SCAC
    • REFERENCE_NUMBER
  • LTL
    • CAPACITY_PROVIDER_ACCOUNT_GROUP
    • CAPACITY_PROVIDER_ACCOUNT_CODE
    • PRO
    • BILL_OF_LADING
    • PICKUP
    • PURCHASE_ORDER
  • Ocean Door-to-Door
    • HOUSE_BILL_OF_LADING
    • FFW_SCAC
    • BOOKING_NUMBER
    • TRACKING_NUMBER

lastModifiedDateTimestring(date-time)

The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification.

planobject(ShipmentPlan)

${ShipmentPlan.apiModel.class.value}

routeInfoobject(ShipmentRouteInfo)

Route info model that contains the stops and route for the shipment.

relatedShipmentsArray of objects(SimpleTrackedShipment)[ 0 .. 250 ] items

List of related shipments of the parent shipment. This is optional.

shipmentShareLinkstring

Public link to view the shipment in the VOC.

Response
application/json
{ "attributes": [ {} ], "accessGroups": [ {} ], "createdDateTime": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ {} ], "lastModifiedDateTime": "2019-08-24T14:15:22Z", "plan": { "expectedTransportationModes": [] }, "routeInfo": { "routeSegments": [], "stops": [] }, "relatedShipments": [ {} ], "shipmentShareLink": "string" }

Delete shipment route from project44 to stop tracking.

Request

Stop the shipment from tracking in project44 and delete record in the UI
Note: attempting to delete shipments that have been shared to you will result in a 404.

Path
shipmentIdstring(uuid)required
curl -i -X DELETE \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/shipments/{shipmentId}/tracking' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Accepted

Response
application/json
{ "httpStatusCode": 400, "httpMessage": "Bad Request", "errors": [ {} ], "supportReferenceId": "302b461c-47bd-4bca-8e56-16a7cd80aa4d" }

Get full tracking history for a shipment.

Request

Required Fields

  • shipmentId
Path
shipmentIdstring(uuid)required
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/shipments/{shipmentId}/tracking/history' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
costsArray of objects(TrackedShipmentCost)

All costs incurred for this shipment and the assets contained within.

eventsArray of objects(TrackedShipmentEvent)

All events that occurred for this shipment. Will always be in ascending order by the date the event occurred.

exceptionsArray of objects(ShipmentException)

${ShipmentEventHistory.apiModel.exceptions.value}

positionsArray of objects(TrackedShipmentPosition)

Locations where this shipment has been recorded. Data may be down-sampled. Will always be in ascending order by the date that the shipment was at that position.

shipmentobject(TrackedShipment)

Shipment tracking model used to initiate a shipment.

statesArray of objects(TrackedShipmentState)

All states that the shipment was or currently is in. Order is not guaranteed.

sharingContextobject(SharingContext)

This model is populated when the data is shared across tenants, it conditionally describes which tenant(s) are involved with the shared data using tenant name and tenant UUID.

Response
application/json
{ "costs": [ {} ], "events": [ {} ], "exceptions": [ {} ], "positions": [ {} ], "shipment": { "attributes": [], "accessGroups": [], "createdDateTime": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [], "lastModifiedDateTime": "2019-08-24T14:15:22Z", "plan": {}, "routeInfo": {}, "relatedShipments": [], "shipmentShareLink": "string" }, "states": [ {} ], "sharingContext": { "dataOriginators": [], "recipients": [] } }

Initialize a shipment for tracking, or append data to an existing shipment.

Request

If the shipment does not exist, this will create a new shipment.

If the shipment is already being tracked (and the corresponding id field is provided), this operation is add only for the provided fields.

Note: This operation only modifies data that the user has provided.

Important Notes:

  • Only the following identifier types are accepted when creating or updating a shipment:
    • Air
      • AIR_WAYBILL
      • HOUSE_AIR_WAYBILL - an additional, valid CARRIER_SCAC identifier is mandatory for HOUSE_AIR_WAYBILL tracking
      • CARRIER_SCAC
    • European Rail
      • WAGON_ID
      • TRAIN_NUMBER
    • North American Rail
      • CONTAINER_ID
      • TRAILER_ID
      • RAIL_CAR_ID
      • BILL_OF_LADING
      • WAYBILL
    • Ocean
      • BILL_OF_LADING
      • BOOKING_NUMBER
      • CARRIER_SCAC
      • CONTAINER_ID
    • Parcel
      • CAPACITY_PROVIDER_ACCOUNT_GROUP
      • CAPACITY_PROVIDER_ACCOUNT_CODE
      • TRACKING_NUMBER
      • CARRIER_SCAC
      • REFERENCE_NUMBER
    • LTL
      • CAPACITY_PROVIDER_ACCOUNT_GROUP
      • CAPACITY_PROVIDER_ACCOUNT_CODE
      • PRO
      • BILL_OF_LADING
      • PICKUP
      • PURCHASE_ORDER
    • Ocean Door-to-Door
      • HOUSE_BILL_OF_LADING
      • FFW_SCAC
      • BOOKING_NUMBER
      • TRACKING_NUMBER

Required Fields

  • identifiers: (at least one)
    • type
    • value
Bodyapplication/json
attributesArray of objects(CustomAttribute)[ 0 .. 25 ] items

An optional user-defined set of custom attributes to associate with this shipment.

accessGroupsArray of objects(AccessGroup)unique

This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility.

createdDateTimestring(date-time)

The date and time when this shipment was created. This value is read only and will be ignored during shipment creation.

costsArray of objects(TrackedShipmentCost)[ 0 .. 25 ] items

All costs incurred for this shipment and the assets contained within.

eventsArray of objects(TrackedShipmentEvent)

All events that occurred for this shipment.

idstring(uuid)

Master shipment id of the shipment. Will always be populated on the response.

identifiersArray of objects(LogisticsIdentifier)[ 0 .. 250 ] items

Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment:

  • Air
    • AIR_WAYBILL
    • HOUSE_AIR_WAYBILL
  • European Rail
    • WAGON_ID
    • TRAIN_NUMBER
  • North American Rail
    • CONTAINER_ID
    • TRAILER_ID
    • RAIL_CAR_ID
    • BILL_OF_LADING
    • WAYBILL
  • Ocean
    • BILL_OF_LADING
    • BOOKING_NUMBER
    • CARRIER_SCAC
    • CONTAINER_ID
  • Parcel
    • CAPACITY_PROVIDER_ACCOUNT_GROUP
    • CAPACITY_PROVIDER_ACCOUNT_CODE
    • TRACKING_NUMBER
    • CARRIER_SCAC
    • REFERENCE_NUMBER
  • LTL
    • CAPACITY_PROVIDER_ACCOUNT_GROUP
    • CAPACITY_PROVIDER_ACCOUNT_CODE
    • PRO
    • BILL_OF_LADING
    • PICKUP
    • PURCHASE_ORDER
  • Ocean Door-to-Door
    • HOUSE_BILL_OF_LADING
    • FFW_SCAC
    • BOOKING_NUMBER
    • TRACKING_NUMBER

lastModifiedDateTimestring(date-time)

The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification.

planobject(ShipmentPlan)

${ShipmentPlan.apiModel.class.value}

routeInfoobject(ShipmentRouteInfo)

Route info model that contains the stops and route for the shipment.

relatedShipmentsArray of objects(SimpleTrackedShipment)[ 0 .. 250 ] items

List of related shipments of the parent shipment. This is optional.

shipmentShareLinkstring

Public link to view the shipment in the VOC.

curl -i -X POST \
  https://developers.project44.com/_mock/guides/shippers/visibility/ftl/api/api/v4/shipments/tracking \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "name": "string",
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "accessGroups": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ],
    "createdDateTime": "2019-08-24T14:15:22Z",
    "costs": [
      {
        "identifiers": [
          {
            "type": "AIR_WAYBILL",
            "value": "string"
          }
        ],
        "type": "UNKNOWN",
        "totalCost": {
          "amount": 0,
          "currency": "USD"
        },
        "tier": "UNKNOWN"
      }
    ],
    "events": [
      {
        "dateTime": "string",
        "dateTimes": [
          {
            "dateTime": "string",
            "endDateTime": "string",
            "lastModifiedDateTime": "string",
            "selected": true,
            "sequence": 0,
            "source": "UNKNOWN",
            "sourceIdentifiers": [
              {
                "type": "AIR_WAYBILL",
                "value": "string"
              }
            ],
            "type": "UNKNOWN"
          }
        ],
        "description": "string",
        "details": {
          "mobileTracking": {
            "code": "UNKNOWN"
          },
          "ocean": {
            "code": "UNKNOWN"
          },
          "qualityControl": {
            "code": "UNKNOWN"
          },
          "rolloverDetails": {}
        },
        "estimateDateTime": "string",
        "estimateLastCalculatedDateTime": "string",
        "plannedDateTime": "string",
        "plannedEndDateTime": "string",
        "receivedDateTime": "string",
        "routeSegmentId": "a5aad6c5-e2d6-4a7a-8912-ea0254639352",
        "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43",
        "type": "UNKNOWN"
      }
    ],
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "identifiers": [
      {
        "type": "AIR_WAYBILL",
        "value": "string"
      }
    ],
    "lastModifiedDateTime": "2019-08-24T14:15:22Z",
    "plan": {
      "expectedTransportationModes": [
        "AIR"
      ]
    },
    "routeInfo": {
      "routeSegments": [
        {
          "emissions": {
            "cargoWeight": {
              "unit": "LB",
              "value": 0
            },
            "co2EmissionIntensity": {
              "unit": "KG_PER_KM",
              "value": 0
            },
            "distance": {
              "unit": "FT",
              "value": 0
            },
            "loadFactor": 0.1,
            "totalCO2Emissions": {
              "unit": "LB",
              "value": 0
            },
            "vehicleInfo": {
              "type": {
                "enumValue": "UNKNOWN"
              },
              "weight": {
                "unit": "LB",
                "value": 0
              }
            }
          },
          "fromStopId": "257296aa-4e11-4168-b6a7-981b8b94815b",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "identifiers": [
            {
              "type": "AIR_WAYBILL",
              "value": "string"
            }
          ],
          "toStopId": "5f1765b9-dde0-424e-963b-bb3b4e1d1d56",
          "transportationMode": "AIR"
        }
      ],
      "stops": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "location": {
            "address": {
              "addressLines": [
                "string"
              ],
              "city": "string",
              "country": "US",
              "postalCode": "string",
              "state": "string"
            },
            "coordinates": {
              "latitude": 0.1,
              "longitude": 0.1
            },
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "identifiers": [
              {
                "type": "AIRPORT_IATA",
                "value": "string"
              }
            ],
            "name": "string",
            "timeZone": "string"
          },
          "type": "UNKNOWN"
        }
      ]
    },
    "relatedShipments": [
      {
        "attributes": [
          {
            "name": "string",
            "value": "string",
            "values": [
              "string"
            ]
          }
        ],
        "accessGroups": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "createdDateTime": "2019-08-24T14:15:22Z",
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "identifiers": [
          {
            "type": "AIR_WAYBILL",
            "value": "string"
          }
        ],
        "lastModifiedDateTime": "2019-08-24T14:15:22Z",
        "plan": {
          "expectedTransportationModes": [
            "AIR"
          ]
        },
        "shipmentShareLink": "string"
      }
    ],
    "shipmentShareLink": "string"
  }'

Responses

OK

Bodyapplication/json
attributesArray of objects(CustomAttribute)[ 0 .. 25 ] items

An optional user-defined set of custom attributes to associate with this shipment.

accessGroupsArray of objects(AccessGroup)unique

This set is populated when a shipment is entitled to specific access groups, it denotes which group(s) are entitled visibility.

createdDateTimestring(date-time)

The date and time when this shipment was created. This value is read only and will be ignored during shipment creation.

costsArray of objects(TrackedShipmentCost)[ 0 .. 25 ] items

All costs incurred for this shipment and the assets contained within.

eventsArray of objects(TrackedShipmentEvent)

All events that occurred for this shipment.

idstring(uuid)

Master shipment id of the shipment. Will always be populated on the response.

identifiersArray of objects(LogisticsIdentifier)[ 0 .. 250 ] items

Used to identify a shipment.

Only the following identifier types are accepted when creating or updating a shipment:

  • Air
    • AIR_WAYBILL
    • HOUSE_AIR_WAYBILL
  • European Rail
    • WAGON_ID
    • TRAIN_NUMBER
  • North American Rail
    • CONTAINER_ID
    • TRAILER_ID
    • RAIL_CAR_ID
    • BILL_OF_LADING
    • WAYBILL
  • Ocean
    • BILL_OF_LADING
    • BOOKING_NUMBER
    • CARRIER_SCAC
    • CONTAINER_ID
  • Parcel
    • CAPACITY_PROVIDER_ACCOUNT_GROUP
    • CAPACITY_PROVIDER_ACCOUNT_CODE
    • TRACKING_NUMBER
    • CARRIER_SCAC
    • REFERENCE_NUMBER
  • LTL
    • CAPACITY_PROVIDER_ACCOUNT_GROUP
    • CAPACITY_PROVIDER_ACCOUNT_CODE
    • PRO
    • BILL_OF_LADING
    • PICKUP
    • PURCHASE_ORDER
  • Ocean Door-to-Door
    • HOUSE_BILL_OF_LADING
    • FFW_SCAC
    • BOOKING_NUMBER
    • TRACKING_NUMBER

lastModifiedDateTimestring(date-time)

The date and time when this shipment was last modified. This value is read only and will be ignored during shipment creation or modification.

planobject(ShipmentPlan)

${ShipmentPlan.apiModel.class.value}

problemsArray of objects(Message)

List of errors and/or warnings that occurred while processing the request

routeInfoobject(ShipmentRouteInfo)

Route info model that contains the stops and route for the shipment.

relatedShipmentsArray of objects(SimpleTrackedShipment)[ 0 .. 250 ] items

List of related shipments of the parent shipment. This is optional.

shipmentShareLinkstring

Public link to view the shipment in the VOC.

Response
application/json
{ "attributes": [ {} ], "accessGroups": [ {} ], "createdDateTime": "2019-08-24T14:15:22Z", "costs": [ {} ], "events": [ {} ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ {} ], "lastModifiedDateTime": "2019-08-24T14:15:22Z", "plan": { "expectedTransportationModes": [] }, "problems": [ {} ], "routeInfo": { "routeSegments": [], "stops": [] }, "relatedShipments": [ {} ], "shipmentShareLink": "string" }

FTL Modal Tracking

Operations

Shipment Attributes

Operations

TL: Connected Capacity

Operations

Stop Location Management

Operations

Webhook

Operations

Deprecated FTL Webhooks

Operations