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. If you're not familiar with project44, we recommend checking out our guides first: https://developers.project44.com/guides/shippers and https://developers.project44.com/guides/carriers.

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

Shipment: Tracking

...

Operations

Filter Suggestions

...

Operations

Shipment Attributes

...

Operations

Shipment: Loads

...

Operations

Create a load.

Request

Query
userobject(UserPrincipalDomain)required
user.​accountNonExpiredboolean
user.​accountNonLockedboolean
user.​credentialsNonExpiredboolean
user.​enabledboolean
user.​idinteger(int64)
user.​localestring
user.​registrationDatestring(date-time)
user.​tenantIdinteger(int64)
user.​tenantUuidstring(uuid)
user.​tenantPurposestring
Enum"DEFAULT""DEMO""PROOF_OF_CONCEPT""INTERNAL_TEST""TEST""PRODUCTION""ARCHIVED""INTERNAL_INFRASTRUCTURE"
user.​usernamestring
Bodyapplication/jsonrequired
createdDateTimestring(date-time)

${Load.apiModel.createdDateTime.value}

deliveryStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

descriptionstring

${Load.apiModel.description.value}

deletedDateTimestring(date-time)

${Load.apiModel.deletedDateTime.value}

handlingUnitsobject(LoadHandlingUnits)

A description of handling units for a load

idstring(uuid)

${Load.apiModel.id.value}

involvedPartiesArray of objects(Party)

${Load.apiModel.involvedParties.value}

identifiersArray of objects(LogisticsIdentifier)

${Load.apiModel.identifiers.value}

itemsArray of objects(LoadItem)

${Load.apiModel.items.value}

masterShipmentIdstring(uuid)

${Load.apiModel.masterShipmentId.value}

pickupStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

curl -i -X POST \
  'https://na12.api.project44.com/api/v4/loads?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string&registrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "createdDateTime": "2019-08-24T14:15:22Z",
    "deliveryStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    },
    "description": "string",
    "deletedDateTime": "2019-08-24T14:15:22Z",
    "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",
    "involvedParties": [
      {
        "addressInfo": {
          "addressLines": [
            "string"
          ],
          "addressLabel": "string",
          "city": "string",
          "country": "US",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "postalCode": "string",
          "state": "string"
        },
        "contactInfo": {
          "companyName": "string",
          "email": "user@example.com",
          "familyName": "string",
          "givenName": "string",
          "mobilePhoneNumber": "string",
          "phoneNumber": "string"
        },
        "identifyingCodes": {
          "codeListProvider": "WAVE",
          "codeListName": "DID",
          "partyCode": "string"
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "partyType": "SHIPPER",
        "vatNumber": "string"
      }
    ],
    "identifiers": [
      {
        "type": "AIR_WAYBILL",
        "value": "string"
      }
    ],
    "items": [
      {
        "description": "string",
        "identifiers": [
          {
            "type": "STOCK_KEEPING_UNIT",
            "value": "string"
          }
        ],
        "orderIdentifierReferences": [
          {
            "orderId": "string",
            "orderType": "PURCHASE_ORDER",
            "orderIdentifier": "string",
            "orderIdentifierAuthority": "string"
          }
        ],
        "quantity": 0,
        "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" }

Get a load by load id.

Request

Path
loadIdstring(uuid)required
Query
userobject(UserPrincipalDomain)required
user.​accountNonExpiredboolean
user.​accountNonLockedboolean
user.​credentialsNonExpiredboolean
user.​enabledboolean
user.​idinteger(int64)
user.​localestring
user.​registrationDatestring(date-time)
user.​tenantIdinteger(int64)
user.​tenantUuidstring(uuid)
user.​tenantPurposestring
Enum"DEFAULT""DEMO""PROOF_OF_CONCEPT""INTERNAL_TEST""TEST""PRODUCTION""ARCHIVED""INTERNAL_INFRASTRUCTURE"
user.​usernamestring
curl -i -X GET \
  'https://na12.api.project44.com/api/v4/loads/{loadId}?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string&registrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
createdDateTimestring(date-time)

${Load.apiModel.createdDateTime.value}

deliveryStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

descriptionstring

${Load.apiModel.description.value}

deletedDateTimestring(date-time)

${Load.apiModel.deletedDateTime.value}

handlingUnitsobject(LoadHandlingUnits)

A description of handling units for a load

idstring(uuid)

${Load.apiModel.id.value}

involvedPartiesArray of objects(Party)

${Load.apiModel.involvedParties.value}

identifiersArray of objects(LogisticsIdentifier)

${Load.apiModel.identifiers.value}

itemsArray of objects(LoadItem)

${Load.apiModel.items.value}

masterShipmentIdstring(uuid)

${Load.apiModel.masterShipmentId.value}

pickupStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

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

Update a load.

Request

Path
loadIdstring(uuid)required
Query
userobject(UserPrincipalDomain)required
user.​accountNonExpiredboolean
user.​accountNonLockedboolean
user.​credentialsNonExpiredboolean
user.​enabledboolean
user.​idinteger(int64)
user.​localestring
user.​registrationDatestring(date-time)
user.​tenantIdinteger(int64)
user.​tenantUuidstring(uuid)
user.​tenantPurposestring
Enum"DEFAULT""DEMO""PROOF_OF_CONCEPT""INTERNAL_TEST""TEST""PRODUCTION""ARCHIVED""INTERNAL_INFRASTRUCTURE"
user.​usernamestring
Bodyapplication/jsonrequired
createdDateTimestring(date-time)

${Load.apiModel.createdDateTime.value}

deliveryStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

descriptionstring

${Load.apiModel.description.value}

deletedDateTimestring(date-time)

${Load.apiModel.deletedDateTime.value}

handlingUnitsobject(LoadHandlingUnits)

A description of handling units for a load

idstring(uuid)

${Load.apiModel.id.value}

involvedPartiesArray of objects(Party)

${Load.apiModel.involvedParties.value}

identifiersArray of objects(LogisticsIdentifier)

${Load.apiModel.identifiers.value}

itemsArray of objects(LoadItem)

${Load.apiModel.items.value}

masterShipmentIdstring(uuid)

${Load.apiModel.masterShipmentId.value}

pickupStopReferenceobject(StopReference)

Reference to a specific stop on a shipment.

curl -i -X PUT \
  'https://na12.api.project44.com/api/v4/loads/{loadId}?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string&registrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "createdDateTime": "2019-08-24T14:15:22Z",
    "deliveryStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    },
    "description": "string",
    "deletedDateTime": "2019-08-24T14:15:22Z",
    "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",
    "involvedParties": [
      {
        "addressInfo": {
          "addressLines": [
            "string"
          ],
          "addressLabel": "string",
          "city": "string",
          "country": "US",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "postalCode": "string",
          "state": "string"
        },
        "contactInfo": {
          "companyName": "string",
          "email": "user@example.com",
          "familyName": "string",
          "givenName": "string",
          "mobilePhoneNumber": "string",
          "phoneNumber": "string"
        },
        "identifyingCodes": {
          "codeListProvider": "WAVE",
          "codeListName": "DID",
          "partyCode": "string"
        },
        "locationIdentifiers": [
          {
            "type": "EXTERNAL",
            "value": "string"
          }
        ],
        "partyType": "SHIPPER",
        "vatNumber": "string"
      }
    ],
    "identifiers": [
      {
        "type": "AIR_WAYBILL",
        "value": "string"
      }
    ],
    "items": [
      {
        "description": "string",
        "identifiers": [
          {
            "type": "STOCK_KEEPING_UNIT",
            "value": "string"
          }
        ],
        "orderIdentifierReferences": [
          {
            "orderId": "string",
            "orderType": "PURCHASE_ORDER",
            "orderIdentifier": "string",
            "orderIdentifierAuthority": "string"
          }
        ],
        "quantity": 0,
        "unitQuantity": 0,
        "unitType": "BAG"
      }
    ],
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "pickupStopReference": {
      "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43"
    }
  }'

Responses

Accepted

Delete a load.

Request

Path
loadIdstring(uuid)required
Query
userobject(UserPrincipalDomain)required
user.​accountNonExpiredboolean
user.​accountNonLockedboolean
user.​credentialsNonExpiredboolean
user.​enabledboolean
user.​idinteger(int64)
user.​localestring
user.​registrationDatestring(date-time)
user.​tenantIdinteger(int64)
user.​tenantUuidstring(uuid)
user.​tenantPurposestring
Enum"DEFAULT""DEMO""PROOF_OF_CONCEPT""INTERNAL_TEST""TEST""PRODUCTION""ARCHIVED""INTERNAL_INFRASTRUCTURE"
user.​usernamestring
curl -i -X DELETE \
  'https://na12.api.project44.com/api/v4/loads/{loadId}?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string&registrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Accepted

Get loads by masterShipmentId.

Request

Path
masterShipmentIdstring(uuid)required

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

Query
userobject(UserPrincipalDomain)required
user.​accountNonExpiredboolean
user.​accountNonLockedboolean
user.​credentialsNonExpiredboolean
user.​enabledboolean
user.​idinteger(int64)
user.​localestring
user.​registrationDatestring(date-time)
user.​tenantIdinteger(int64)
user.​tenantUuidstring(uuid)
user.​tenantPurposestring
Enum"DEFAULT""DEMO""PROOF_OF_CONCEPT""INTERNAL_TEST""TEST""PRODUCTION""ARCHIVED""INTERNAL_INFRASTRUCTURE"
user.​usernamestring
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?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string&page=1&registrationDate=2019-08-24T14%3A15%3A22Z&size=100&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \
  -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": { "pageSize": 0, "pageNumber": 0, "total": 0 }, "results": [ {} ] }

Order Visibility

...

Operations

LTL: Quotes

...

Operations

LTL: Dispatch

...

Operations

LTL: Image Retrieval

...

Operations

LTL: Electronic BOL

API used for creating Electronic BOL

Operations

VLTL: Quotes

...

Operations

VLTL: Dispatch

...

Operations

TL: Available Vehicles

...

Operations

TL: Connected Capacity

...

Operations

Asset Tracking

...

Operations

Multi-Modal: Image Retrieval

...

Operations

Multi-Modal: Rating

API used for multi-modal Rating.

Operations

Multi-Modal: Booking

API used for multi-modal Booking.

Operations

Multi-Modal: Packaging

API used for managing packages for shipment planning.

Operations

Multi-Modal: Document

...

Operations

Webhook

...

Operations

Shipment Webhook Data

Operations to describe the payload expected from project44 when integrated with a webhook for shipments.

Operations

Inventory Order and Load Webhook Data

Operations to describe the payload expected from project44 when integrated with a webhook for orders and loads.

Operations

Capacity Provider Metadata

...

Operations

Capacity Provider Contact Management

...

Operations

Capacity Provider Account Management

...

Operations

Capacity Provider Account Group Management

...

Operations

LTL: Push Tracking

...

Operations

LTL: Push Imaging

...

Operations

TL: Capacity Provider Push

...

Operations

Parcel: Push Tracking

...

Operations

Universal Push: Truckload

...

Operations

Push Updates

...

Operations

Analytics: Port Intelligence

...

Operations

Stop Location Management

...

Operations

Postal Address Validation

...

Operations

Appointments

Create, reschedule, cancel, fetch appointments in Yard Management Systems(YMS)

Operations

Capacity

Get capacity for a YMS site within the specified time range

Operations

Milestones

Update yard milestones for a shipment

Operations

Reason Codes

Retrieve all reason codes for the specified YMS site

Operations

Site Codes

Retrieve all sites for the specified YMS tenant

Operations

Slots

Get available slots for a shipment in Yard Management Systems(YMS)

Operations

Invitations

...

Operations

Ocean: Point-to-Point Schedules

...

Operations

LTL: Tracking

...

Operations

TL: Tracking

...

Operations

TL: Webhook

...

Operations

Parcel: Tracking

...

Operations

Parcel: Webhook

...

Operations

Rail: Tracking

...

Operations

Ocean: Tracking

...

Operations