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

OAuth 2.0: Client Applications

API used for registering and managing OAuth 2.0 client applications. See the "Authentication" section above for more information. To authorize API requests to project44 for an API integration, first your client application must be registered with project44, which will issue your application a client id and secret. These credentials can then be used to generate bearer tokens, which can be included on all other API requests to authorize your client application. The client application is authorized through the project44 user management UI as a machine user with username "app-{client_id}@client-applications.project44.com".

An admin user (with VOC user role "Customer Admin") must use HTTP Basic Authentication with this API to manage client applications. Basic Authentication is deprecated for all other APIs, besides token generation, in favor of passing the access token generated via OAuth 2.0.

Operations

OAuth 2.0: Token Generation

API for OAuth 2.0 token generation. See the "Authentication" section above for more information. Once your client application is registered, you can use the token generation endpoint to authenticate with your application's client id and secret in exchange for a bearer token to be included on all other API requests to authenticate as that client application. The client application is authorized through the project44 user management UI as a machine user with username "app-{client_id}@client-applications.project44.com".

To generate an access token, you may authenticate your client application by providing its client id and secret either in the body of the request or in the form of HTTP Basic Authentication (but you may not use both ways in the same request).

Operations

LTL: Quotes

Quote LTL rates and retrieve transit times.

Operations

LTL: Dispatch

API used for scheduling LTL shipments.

Operations

LTL: Tracking

API used for the retrieval of shipment status.

Operations

LTL: Image Retrieval

Access shipment images.

Operations

LTL: Electronic BOL

API used for creating Electronic BOL

Operations

LTL: Address Book

...

Operations

VLTL: Quotes

API used for quoting volume LTL rates.

Operations

VLTL: Dispatch

API used for scheduling volume LTL shipments.

Operations

TL: Tracking

project44's Truckload Tracking endpoints give you or your customers visibility into your truckload shipments, including such features as predictive ETAs and temperature tracking. Use these endpoints to initialize (POST), track (GET), update (PUT), cancel (POST) or delete(DELETE) truckload shipments. You can return shipment information by either unique system ID or by identifier.

Operations

TL: Available Vehicles

API used for fetching vehicles within a specific radius and time window. Can only be used if opted into a project44 Co-Op.

Operations

TL: Webhook

...

Operations

TL: Connected Capacity

API for finding new connected carrier partners in the project44 network based on tracking performance

Operations

Parcel: Tracking

Track parcel shipments. Before parcel shipments can be tracked, they must first be initialized with a shipment identifier. Shipments cannot be modified once initialized and tracking has begun. To stop tracking a shipment, delete it.

Use these APIs to initialize (POST), track (GET), or delete (DELETE) parcel shipments.

Operations

Parcel: Webhook

Receive updates for a tracked parcel by defining a parcel-tracking-webhook.

Operations

Rail: Tracking

API used for accessing rail shipment tracking.

Operations

Ocean: Tracking

...

Operations

Shipment: Tracking

API used for Shipment Tracking.

Operations

Filter Suggestions

...

Operations

Shipment Attributes

Create and fetch predefined custom attributes for shipments. You must be a organization admin to perform this operation.

Operations

Shipment: Loads

API used for tracking Loads.

Operations

Create a load.

Request

Required Fields

  • identifiers: (at least one)
    • type
    • value
Bodyapplication/jsonrequired

load

createdDateTimestring

The time of creation of load.

deletedDateTimestring

The datetime of deletion of load.

deliveryStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

descriptionstring

A description of the overall load.

handlingUnitsobject(LoadHandlingUnits)

A description of handling units for a load

idstring(uuid)

The unique project44-generated id of the load. This can be null when the load is created, but will always exist in the response after the load has been created.

identifiersArray of objects(LogisticsIdentifier)

The identifiers that can identify this Load. This could be, but not limited to, a shipment identifier such as a BOL or an order-based identifier such as Purchase Order or ASN.

involvedPartiesArray of objects(Party)

Parties which are specifically related to this load and the identifiers which are associated with those parties. This identifies the relationship between the load and its relevant parties.

itemsArray of objects(LoadItem)

A list of items contained within this load.

masterShipmentIdstring(uuid)

The project44-generated id of the shipment with which the load is associated.

pickupStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

curl -i -X POST \
  https://na12.api.project44.com/api/v4/loads \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "createdDateTime": "string",
    "deletedDateTime": "string",
    "deliveryStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    },
    "description": "string",
    "handlingUnits": {
      "details": [
        {
          "cubicDimension": {
            "height": 0,
            "length": 0,
            "unit": "IN",
            "width": 0
          },
          "handlingUnitType": "BAG",
          "quantity": 0,
          "volume": {
            "unit": "CUBIC_FT",
            "value": 0
          },
          "weight": {
            "weight": 0,
            "weightUnit": "LB"
          }
        }
      ]
    },
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "identifiers": [
      {
        "type": "AIR_WAYBILL",
        "value": "string"
      }
    ],
    "involvedParties": [
      {
        "partyIdentifiers": [
          {
            "type": "ACCOUNT",
            "value": "string"
          }
        ]
      }
    ],
    "items": [
      {
        "description": "string",
        "identifiers": [
          {
            "type": "STOCK_KEEPING_UNIT",
            "value": "string"
          }
        ],
        "orderIdentifierReferences": [
          {
            "orderId": "string",
            "orderIdentifier": "string",
            "orderIdentifierAuthority": "string",
            "orderType": "PURCHASE_ORDER"
          }
        ],
        "unitQuantity": 0,
        "unitType": "BAG"
      }
    ],
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "pickupStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    }
  }'

Responses

Accepted

Body
idstring(uuid)
Response
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }

Delete a load.

Request

Required Fields

  • loadId
Path
loadIdstring(uuid)required

loadId

curl -i -X DELETE \
  'https://na12.api.project44.com/api/v4/loads/{loadId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Accepted

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

Get a load by load id.

Request

Required Fields

  • loadId
Path
loadIdstring(uuid)required

loadId

curl -i -X GET \
  'https://na12.api.project44.com/api/v4/loads/{loadId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
createdDateTimestring

The time of creation of load.

deletedDateTimestring

The datetime of deletion of load.

deliveryStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

descriptionstring

A description of the overall load.

handlingUnitsobject(LoadHandlingUnits)

A description of handling units for a load

idstring(uuid)

The unique project44-generated id of the load. This can be null when the load is created, but will always exist in the response after the load has been created.

identifiersArray of objects(LogisticsIdentifier)

The identifiers that can identify this Load. This could be, but not limited to, a shipment identifier such as a BOL or an order-based identifier such as Purchase Order or ASN.

involvedPartiesArray of objects(Party)

Parties which are specifically related to this load and the identifiers which are associated with those parties. This identifies the relationship between the load and its relevant parties.

itemsArray of objects(LoadItem)

A list of items contained within this load.

masterShipmentIdstring(uuid)

The project44-generated id of the shipment with which the load is associated.

pickupStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

Response
{ "createdDateTime": "string", "deletedDateTime": "string", "deliveryStopReference": { "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43" }, "description": "string", "handlingUnits": { "details": [] }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ {} ], "involvedParties": [ {} ], "items": [ {} ], "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "pickupStopReference": { "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43" } }

Update a load.

Request

Required Fields

  • loadId
  • masterShipmentId
  • identifiers: (at least one)
    • type
    • value
Path
loadIdstring(uuid)required

loadId

Bodyapplication/jsonrequired

load

createdDateTimestring

The time of creation of load.

deletedDateTimestring

The datetime of deletion of load.

deliveryStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

descriptionstring

A description of the overall load.

handlingUnitsobject(LoadHandlingUnits)

A description of handling units for a load

idstring(uuid)

The unique project44-generated id of the load. This can be null when the load is created, but will always exist in the response after the load has been created.

identifiersArray of objects(LogisticsIdentifier)

The identifiers that can identify this Load. This could be, but not limited to, a shipment identifier such as a BOL or an order-based identifier such as Purchase Order or ASN.

involvedPartiesArray of objects(Party)

Parties which are specifically related to this load and the identifiers which are associated with those parties. This identifies the relationship between the load and its relevant parties.

itemsArray of objects(LoadItem)

A list of items contained within this load.

masterShipmentIdstring(uuid)

The project44-generated id of the shipment with which the load is associated.

pickupStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

curl -i -X PUT \
  'https://na12.api.project44.com/api/v4/loads/{loadId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "createdDateTime": "string",
    "deletedDateTime": "string",
    "deliveryStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    },
    "description": "string",
    "handlingUnits": {
      "details": [
        {
          "cubicDimension": {
            "height": 0,
            "length": 0,
            "unit": "IN",
            "width": 0
          },
          "handlingUnitType": "BAG",
          "quantity": 0,
          "volume": {
            "unit": "CUBIC_FT",
            "value": 0
          },
          "weight": {
            "weight": 0,
            "weightUnit": "LB"
          }
        }
      ]
    },
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "identifiers": [
      {
        "type": "AIR_WAYBILL",
        "value": "string"
      }
    ],
    "involvedParties": [
      {
        "partyIdentifiers": [
          {
            "type": "ACCOUNT",
            "value": "string"
          }
        ]
      }
    ],
    "items": [
      {
        "description": "string",
        "identifiers": [
          {
            "type": "STOCK_KEEPING_UNIT",
            "value": "string"
          }
        ],
        "orderIdentifierReferences": [
          {
            "orderId": "string",
            "orderIdentifier": "string",
            "orderIdentifierAuthority": "string",
            "orderType": "PURCHASE_ORDER"
          }
        ],
        "unitQuantity": 0,
        "unitType": "BAG"
      }
    ],
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "pickupStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    }
  }'

Responses

Accepted

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

Get loads by masterShipmentId.

Request

Required Fields

  • masterShipmentId
Path
masterShipmentIdstring(uuid)required

The masterShipmentId of the shipment for which you wish to query the associated loads.

Query
pageinteger(int32)

Page number valid range: [1, 100]

Default 1
sizeinteger(int32)

Page size valid range: [1, 1000]

Default 100
curl -i -X GET \
  'https://na12.api.project44.com/api/v4/shipments/{masterShipmentId}/loads?page=1&size=100' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
paginationInfoobject(PaginationInfo)

Pagination information about a collection of resources.

resultsArray of objects(Load)

List of resources contained on this page.

Response
{ "paginationInfo": { "pageNumber": 0, "pageSize": 0, "total": 0 }, "results": [ {} ] }