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.
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.
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.
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).
Contains fields used to configure the shipment status API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
The pickup date in the timezone of the origin location of the shipment being looked up. Required when providing a shipment identifier of any type other than 'PRO'. Necessary for some capacity providers to authorize shipment status access or look up shipment status. (format: yyyy-MM-dd)
curl -i -X POST \ 'https://na12.api.project44.com/api/v2/statuses/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=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 '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupDate": "2019-08-24", "shipmentIdentifiers": [ { "type": "BILL_OF_LADING", "value": "string" } ] }'
OK
The actual delivery date and time in the timezone of the destination location of the shipment, if provided. (format: yyyy-MM-dd'T'HH:mm:ss)
A single shipment status update provided by the capacity provider.
The estimated delivery date and time in the timezone of the destination location of the shipment, if provided. (format: yyyy-MM-dd'T'HH:mm:ss)
System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.
The pickup date and time in the timezone of the origin location of the shipment, if provided. (format: yyyy-MM-dd'T'HH:mm:ss)
The date and time project44 retrieved this shipment status update from the capacity provider in UTC. Project44 stores shipment statuses and does not always retrieve status information directly from the capacity provider (e.g., if the status was retrieved just a few minutes prior). (format: yyyy-MM-dd'T'HH:mm:ss)
A list of identifiers for the shipment. If the shipment status was successfully retrieved, the shipment's PRO number will always appear here.
A list of shipment status updates that have been retrieved by project44. Some capacity providers always provide a full history of shipment status updates, while others provide only the curent status with each retrieval. For the former category of capacity providers, this list will be comprehensive. For the latter category of capacity providers, this list can contain only the statuses project44 retrieved during the lifetime of this shipment's status retrieval.
{ "actualDeliveryDateTime": "2019-08-24T14:15:22Z", "currentStatus": { "code": "AT_PICKUP", "description": "string", "retrievalDateTime": "2019-08-24T14:15:22Z", "timestamp": "2019-08-24T14:15:22Z", "terminal": { … } }, "destinationTerminal": { "carrierCode": "string", "terminalCode": "string", "terminalName": "string", "terminalLocation": { … } }, "destinationLocation": { "address": { … }, "contact": { … } }, "estimatedDeliveryDateTime": "2019-08-24T14:15:22Z", "images": [ { … } ], "infoMessages": [ { … } ], "originLocation": { "address": { … }, "contact": { … } }, "originTerminal": { "carrierCode": "string", "terminalCode": "string", "terminalName": "string", "terminalLocation": { … } }, "pickupDateTime": "2019-08-24T14:15:22Z", "retrievalDateTime": "2019-08-24T14:15:22Z", "shipmentIdentifiers": [ { … } ], "statusUpdateHistory": [ { … } ] }
Contains fields used to configure the shipment status API.
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
The pickup date in the timezone of the origin location of the shipment being looked up. Required when providing a shipment identifier of any type other than 'PRO'. Necessary for some capacity providers to authorize shipment status access or look up shipment status. (format: yyyy-MM-dd)
curl -i -X POST \ 'https://na12.api.project44.com/api/v3/statuses/query?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=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 '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "destinationAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "originAddress": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "pickupDate": "2019-08-24", "shipmentIdentifiers": [ { "type": "BILL_OF_LADING", "value": "string" } ] }'
OK
The actual delivery date and time in the timezone of the destination location of the shipment, if provided. (format: yyyy-MM-dd'T'HH:mm:ss)
A single shipment status update provided by the capacity provider.
The estimated delivery date and time in the timezone of the destination location of the shipment, if provided. (format: yyyy-MM-dd'T'HH:mm:ss)
System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.
The pickup date and time in the timezone of the origin location of the shipment, if provided. (format: yyyy-MM-dd'T'HH:mm:ss)
The date and time project44 retrieved this shipment status update from the capacity provider in UTC. Project44 stores shipment statuses and does not always retrieve status information directly from the capacity provider (e.g., if the status was retrieved just a few minutes prior). (format: yyyy-MM-dd'T'HH:mm:ss)
A list of identifiers for the shipment. If the shipment status was successfully retrieved, the shipment's PRO number will always appear here.
A list of shipment status updates that have been retrieved by project44. Some capacity providers always provide a full history of shipment status updates, while others provide only the curent status with each retrieval. For the former category of capacity providers, this list will be comprehensive. For the latter category of capacity providers, this list can contain only the statuses project44 retrieved during the lifetime of this shipment's status retrieval.
{ "actualDeliveryDateTime": "2019-08-24T14:15:22Z", "currentStatus": { "code": "AT_PICKUP", "description": "string", "retrievalDateTime": "2019-08-24T14:15:22Z", "timestamp": "2019-08-24T14:15:22Z", "terminal": { … } }, "destinationTerminal": { "carrierCode": "string", "terminalCode": "string", "terminalName": "string", "terminalLocation": { … } }, "destinationLocation": { "address": { … }, "contact": { … } }, "estimatedDeliveryDateTime": "2019-08-24T14:15:22Z", "images": [ { … } ], "infoMessages": [ { … } ], "originLocation": { "address": { … }, "contact": { … } }, "originTerminal": { "carrierCode": "string", "terminalCode": "string", "terminalName": "string", "terminalLocation": { … } }, "pickupDateTime": "2019-08-24T14:15:22Z", "retrievalDateTime": "2019-08-24T14:15:22Z", "shipmentIdentifiers": [ { … } ], "statusUpdateHistory": [ { … } ] }
${LtlTrackedShipment.apiModel.apiConfiguration.value}
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
${LtlTrackedShipment.apiModel.shipmentIdentifiers.value}
curl -i -X POST \ 'https://na12.api.project44.com/api/v4/ltl/trackedshipments?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=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 '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "id": 0, "shipmentIdentifiers": [ { "primaryForType": true, "source": "CUSTOMER", "type": "PRO", "value": "string" } ], "shipmentStops": [ { "appointmentWindow": { "endDateTime": "2019-08-24T14:15:22Z", "localTimeZoneIdentifier": "string", "startDateTime": "2019-08-24T14:15:22Z" }, "additionalAppointmentWindows": [ { "appointmentWindow": { "endDateTime": "2019-08-24T14:15:22Z", "localTimeZoneIdentifier": "string", "startDateTime": "2019-08-24T14:15:22Z" }, "appointmentStatus": "PENDING", "identifiers": [ { "type": "DOCK", "value": "string" } ], "type": "STRATEGIC" } ], "geoCoordinates": { "latitude": -90, "longitude": -180 }, "id": 0, "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" } ], "location": { "address": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" } }, "locationIdentifiers": [ { "type": "EXTERNAL", "value": "string" } ], "stopType": "ORIGIN", "stopDescription": "string", "stopName": "string", "stopNumber": 0, "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f" } ] }'
{ "infoMessages": [ { … } ], "shipment": { "apiConfiguration": { … }, "capacityProviderAccountGroup": { … }, "id": 0, "shipmentIdentifiers": [ … ], "shipmentStops": [ … ] } }
${LtlTrackedShipment.apiModel.apiConfiguration.value}
The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
${LtlTrackedShipment.apiModel.shipmentIdentifiers.value}
curl -i -X PUT \ 'https://na12.api.project44.com/api/v4/ltl/trackedshipments/{id}?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=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 '{ "apiConfiguration": { "fallBackToDefaultAccountGroup": true }, "capacityProviderAccountGroup": { "accounts": [ { "code": "string" } ], "code": "string" }, "id": 0, "shipmentIdentifiers": [ { "primaryForType": true, "source": "CUSTOMER", "type": "PRO", "value": "string" } ], "shipmentStops": [ { "appointmentWindow": { "endDateTime": "2019-08-24T14:15:22Z", "localTimeZoneIdentifier": "string", "startDateTime": "2019-08-24T14:15:22Z" }, "additionalAppointmentWindows": [ { "appointmentWindow": { "endDateTime": "2019-08-24T14:15:22Z", "localTimeZoneIdentifier": "string", "startDateTime": "2019-08-24T14:15:22Z" }, "appointmentStatus": "PENDING", "identifiers": [ { "type": "DOCK", "value": "string" } ], "type": "STRATEGIC" } ], "geoCoordinates": { "latitude": -90, "longitude": -180 }, "id": 0, "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" } ], "location": { "address": { "addressLines": [ "string" ], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumberCountryCode": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string" } }, "locationIdentifiers": [ { "type": "EXTERNAL", "value": "string" } ], "stopType": "ORIGIN", "stopDescription": "string", "stopName": "string", "stopNumber": 0, "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f" } ] }'
{ "infoMessages": [ { … } ], "shipment": { "apiConfiguration": { … }, "capacityProviderAccountGroup": { … }, "id": 0, "shipmentIdentifiers": [ … ], "shipmentStops": [ … ] } }
curl -i -X DELETE \ 'https://na12.api.project44.com/api/v4/ltl/trackedshipments/{id}?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
curl -i -X GET \ 'https://na12.api.project44.com/api/v4/ltl/trackedshipments/{id}/statuses?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&includeMapUrl=false&includeStatusHistory=false&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "imageReferences": [ { … } ], "infoMessages": [ { … } ], "latestStatusUpdate": { "address": { … }, "exceptionSummaryCode": "APPOINTMENT_ISSUE", "exceptionDetailCode": "APPOINTMENT_SET", "retrievalDateTime": "2019-08-24T14:15:22Z", "statusCode": "IN_TRANSIT", "statusReason": { … }, "stopId": 0, "stopType": "ORIGIN", "stopNumber": 0, "timestamp": { … } }, "latestStopStatuses": [ { … } ], "mapUrl": "string", "shipment": { "apiConfiguration": { … }, "capacityProviderAccountGroup": { … }, "id": 0, "shipmentIdentifiers": [ … ], "shipmentStops": [ … ] }, "statusUpdates": [ { … } ] }
The type of identifier for which to search.
The source system that created the identifier.
curl -i -X GET \ 'https://na12.api.project44.com/api/v4/ltl/trackedshipments/statuses?accountNonExpired=true&accountNonLocked=true&credentialsNonExpired=true&enabled=true&id=0&includeStatusHistory=false&locale=string®istrationDate=2019-08-24T14%3A15%3A22Z&shipmentIdentifier.source=CUSTOMER&shipmentIdentifier.type=PRO&shipmentIdentifier.value=string&tenantId=0&tenantPurpose=DEFAULT&tenantUuid=e46705ba-31a8-4f12-b6d3-f41ec1d77a9a&username=string' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "infoMessages": [ { … } ], "shipmentStatuses": [ { … } ] }