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/air/api/
API endpoint for project44 tenants created in NA region
https://na12.api.project44.com/
API endpoint for project44 tenants created in EU region
https://eu12.api.project44.com/
API 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

shipmentId

Query
includeRouteInfoboolean

includeRouteInfo

Default false
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/air/api/api/v4/shipments/{shipmentId}/positionhistory?includeRouteInfo=false' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
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
{ "positions": [ {} ], "shipment": { "accessGroups": [], "attributes": [], "createdDateTime": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [], "lastModifiedDateTime": "string", "plan": {}, "relatedShipments": [], "routeInfo": {}, "shipmentShareLink": "string" } }

Fetch the route information for a shipment including the stops and route segments.

Request

Required Fields

  • shipmentId
Path
shipmentIdstring(uuid)required

shipmentId

curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/air/api/api/v4/shipments/{shipmentId}/tracking' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
accessGroupsArray of objects(AccessGroup)

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

attributesArray of objects(CustomAttribute)

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

createdDateTimestring

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)

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

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)

Rules with expected behaviour of the shipment.

relatedShipmentsArray of objects(SimpleTrackedShipment)

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

routeInfoobject(ShipmentRouteInfo)

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

shipmentShareLinkstring

Public link to view the shipment in the VOC.

Response
{ "accessGroups": [ {} ], "attributes": [ {} ], "createdDateTime": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ {} ], "lastModifiedDateTime": "string", "plan": { "expectedTransportationModes": [] }, "relatedShipments": [ {} ], "routeInfo": { "routeSegments": [], "stops": [] }, "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

shipmentId

curl -i -X DELETE \
  'https://developers.project44.com/_mock/guides/shippers/visibility/air/api/api/v4/shipments/{shipmentId}/tracking' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
Response
{ "httpStatusCode": 0, "httpMessage": "string", "errorMessage": "string", "errors": [ {} ], "supportReferenceId": "string" }

Get full tracking history for a shipment.

Request

Required Fields

  • shipmentId
Path
shipmentIdstring(uuid)required

shipmentId

curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/air/api/api/v4/shipments/{shipmentId}/tracking/history' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
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.

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.

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.

Response
{ "costs": [ {} ], "events": [ {} ], "exceptions": [ {} ], "positions": [ {} ], "sharingContext": { "dataOriginators": [], "recipients": [] }, "shipment": { "accessGroups": [], "attributes": [], "createdDateTime": "string", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [], "lastModifiedDateTime": "string", "plan": {}, "relatedShipments": [], "routeInfo": {}, "shipmentShareLink": "string" }, "states": [ {} ] }

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/jsonrequired

shipment

accessGroupsArray of objects(AccessGroup)

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

attributesArray of objects(CustomAttribute)

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

costsArray of objects(TrackedShipmentCost)

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

createdDateTimestring

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

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)

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

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)

Rules with expected behaviour of the shipment.

relatedShipmentsArray of objects(SimpleTrackedShipment)

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

routeInfoobject(ShipmentRouteInfo)

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

shipmentShareLinkstring

Public link to view the shipment in the VOC.

curl -i -X POST \
  https://developers.project44.com/_mock/guides/shippers/visibility/air/api/api/v4/shipments/tracking \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "accessGroups": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ],
    "attributes": [
      {
        "name": "string",
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "costs": [
      {
        "identifiers": [
          {
            "type": "AIR_WAYBILL",
            "value": "string"
          }
        ],
        "tier": "UNKNOWN",
        "totalCost": {
          "currency": "USD",
          "amount": 0
        },
        "type": "UNKNOWN"
      }
    ],
    "createdDateTime": "string",
    "events": [
      {
        "dateTime": "string",
        "dateTimes": [
          {
            "type": "UNKNOWN",
            "dateTime": "2019-08-24T14:15:22Z",
            "endDateTime": "2019-08-24T14:15:22Z",
            "lastModifiedDateTime": "2019-08-24T14:15:22Z",
            "source": "UNKNOWN",
            "sourceIdentifiers": [
              {
                "type": "AIR_WAYBILL",
                "value": "string"
              }
            ],
            "selected": true,
            "sequence": 0
          }
        ],
        "description": "string",
        "details": {
          "mobileTracking": {
            "code": "UNKNOWN"
          },
          "ocean": {
            "code": "UNKNOWN"
          },
          "qualityControl": {
            "code": "UNKNOWN"
          }
        },
        "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": "string",
    "plan": {
      "expectedTransportationModes": [
        {
          "enumValue": "AIR"
        }
      ]
    },
    "relatedShipments": [
      {
        "accessGroups": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "attributes": [
          {
            "name": "string",
            "value": "string",
            "values": [
              "string"
            ]
          }
        ],
        "createdDateTime": "string",
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "identifiers": [
          {
            "type": "AIR_WAYBILL",
            "value": "string"
          }
        ],
        "lastModifiedDateTime": "string",
        "plan": {
          "expectedTransportationModes": [
            {
              "enumValue": "AIR"
            }
          ]
        },
        "shipmentShareLink": "string"
      }
    ],
    "routeInfo": {
      "routeSegments": [
        {
          "emissions": {
            "cargoWeight": {
              "value": 0,
              "unit": "LB"
            },
            "co2EmissionIntensity": {
              "value": 0,
              "unit": "KG_PER_KM"
            },
            "distance": {
              "value": 0,
              "unit": "FT"
            },
            "loadFactor": 0.1,
            "totalCO2Emissions": {
              "value": 0,
              "unit": "LB"
            },
            "vehicleInfo": {
              "type": {
                "enumValue": "UNKNOWN"
              },
              "weight": {
                "value": 0,
                "unit": "LB"
              }
            }
          },
          "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",
          "type": "UNKNOWN",
          "location": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "name": "string",
            "identifiers": [
              {
                "type": "AIRPORT_IATA",
                "value": "string"
              }
            ],
            "address": {
              "postalCode": "string",
              "addressLines": [
                "str"
              ],
              "city": "string",
              "state": "string",
              "country": "US"
            },
            "coordinates": {
              "latitude": -90,
              "longitude": -180
            },
            "timeZone": "string"
          }
        }
      ]
    },
    "shipmentShareLink": "string"
  }'

Responses

OK

Body
accessGroupsArray of objects(AccessGroup)

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

attributesArray of objects(CustomAttribute)

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

costsArray of objects(TrackedShipmentCost)

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

createdDateTimestring

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

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)

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

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)

Rules with expected behaviour of the shipment.

relatedShipmentsArray of objects(SimpleTrackedShipment)

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

routeInfoobject(ShipmentRouteInfo)

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

shipmentShareLinkstring

Public link to view the shipment in the VOC.

Response
{ "accessGroups": [ {} ], "attributes": [ {} ], "costs": [ {} ], "createdDateTime": "string", "events": [ {} ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ {} ], "lastModifiedDateTime": "string", "plan": { "expectedTransportationModes": [] }, "relatedShipments": [ {} ], "routeInfo": { "routeSegments": [], "stops": [] }, "shipmentShareLink": "string" }

Webhook

Operations