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).
An optional user-defined set of custom attributes to associate with this shipment. These are descriptors and identifiers which apply to the entire shipment and they are not shared with any carriers.
References to the desired carriers to request quotes from for the shipment.
Named carrier account groups to include. Groups are resolved to individual carriers at request time. Can be combined with capacityProviderIdentifiers.
Shipper-supplied identifiers for the shipment to be transported. Fully mutable.
curl -i -X POST \ https://na12.api.project44.com/services/rating/v1/rate-requests \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "rateDetail": { "routeInfo": { "stops": [ { "id": "fe55f18f-b0d5-484a-8af7-0fd1723a6a24", "type": "PICKUP", "location": { "name": "Rockford Warehouse - Waldom Electronics", "address": { "addressLines": [ "1804 Morgan St" ], "postalCode": "61102", "city": "Rockford", "state": "IL", "country": "US" }, "timeZone": "America/Chicago" }, "contacts": [ { "givenName": "Erik Nystrom", "email": "erik@waldom.com", "phoneNumber": "+1 815-564-4555", "companyName": "Waldom Electronics" } ] }, { "id": "72a2a470-9307-416a-8617-69fb23eea86d", "type": "DELIVERY", "location": { "name": "Online Components", "address": { "addressLines": [ "2425 S 21st St" ], "postalCode": "85034", "city": "Phoenix", "state": "AZ", "country": "US" }, "timeZone": "America/Phoenix" }, "contacts": [ { "givenName": "Norma Pomering", "email": "norma@onlinecomponents.com", "phoneNumber": "+1 546-645-4354", "companyName": "Online Components" } ] } ], "routeSegments": [ { "fromStopId": "fe55f18f-b0d5-484a-8af7-0fd1723a6a24", "toStopId": "72a2a470-9307-416a-8617-69fb23eea86d" } ] }, "shippingDetails": { "truck": { "loadPreference": "FULL", "trailerType": "DRY_VAN", "trailerLength": { "value": 53, "unit": "FT" }, "trailerVolume": { "value": 0, "unit": "CUBIC_FT" } }, "ltl": { "capacityProviderAccountGroup": { "code": "Default", "accounts": [] } } }, "shipmentDetails": [ { "pickupStopId": "fe55f18f-b0d5-484a-8af7-0fd1723a6a24", "deliveryStopId": "72a2a470-9307-416a-8617-69fb23eea86d", "handlingUnits": [ { "description": "Electronics", "freightClass": "50", "monetaryValue": { "amount": 20000, "currency": "USD" }, "quantity": 12, "handlingUnitType": "PALLET", "stackable": false, "dimensions": { "length": 48, "width": 48, "height": 48, "unit": "IN" }, "weight": { "unit": "LB", "value": 5000 }, "items": [ {} ] } ], "identifiers": [ { "type": "UNKNOWN", "value": "UNKNOWN" } ] } ], "pickupDate": "2025-05-26", "shipperContactInfo": { "givenName": "John", "familyName": "Smith", "email": "john.smith@shipper.com", "phoneNumber": "+12233344445", "mobilePhoneNumber": "+12233344445", "companyName": "Shipper Co." } }, "expirationDateTime": "2025-05-21T18:11:15.585Z" }'
Successful Response
An optional user-defined set of custom attributes to associate with this shipment. These are descriptors and identifiers which apply to the entire shipment and they are not shared with any carriers.
References to the desired carriers to request quotes from for the shipment.
Named carrier account groups to include. Groups are resolved to individual carriers at request time. Can be combined with capacityProviderIdentifiers.
The date and time when this shipment was created. This value is read only.
Shipper-supplied identifiers for the shipment to be transported. Fully mutable.
The date and time when this shipment was last modified. This value is read only.
A list of market rate provider quotes associated to the rate request.
Optional. Limits which quote types are fetched for this rate request. Accepted values: 'CONTRACT', 'SPOT', 'ALL'. If omitted, all available quote types are fetched.
Method by which a shipper initiates a rate request.
{ "rateDetail": { "routeInfo": { … }, "shippingDetails": { … }, "shipmentDetails": [ … ], "pickupDate": "2025-05-26", "shipperContactInfo": { … } }, "capacityProviderIdentifiers": [], "name": "Rockford - Phoenix", "expirationDateTime": "2025-05-21T18:11:15.585000+00:00", "id": "df60c107-b6d8-46a4-9bb0-7441a59a6f5e", "quotes": [ { … }, { … }, { … }, { … }, { … }, { … }, { … } ], "marketQuotes": [ { … } ], "createdDateTime": "2025-05-22T10:12:42.500050", "lastModifiedDateTime": "2025-05-22T10:12:42.921013", "status": "QUOTES_REQUESTED", "ratingSourceMethod": "API" }
curl -i -X GET \ 'https://na12.api.project44.com/services/rating/v1/rate-requests/{id}' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
Successful Response
An optional user-defined set of custom attributes to associate with this shipment. These are descriptors and identifiers which apply to the entire shipment and they are not shared with any carriers.
References to the desired carriers to request quotes from for the shipment.
Named carrier account groups to include. Groups are resolved to individual carriers at request time. Can be combined with capacityProviderIdentifiers.
The date and time when this shipment was created. This value is read only.
Shipper-supplied identifiers for the shipment to be transported. Fully mutable.
The date and time when this shipment was last modified. This value is read only.
A list of market rate provider quotes associated to the rate request.
Optional. Limits which quote types are fetched for this rate request. Accepted values: 'CONTRACT', 'SPOT', 'ALL'. If omitted, all available quote types are fetched.
Method by which a shipper initiates a rate request.
{ "rateDetail": { "routeInfo": { … }, "shippingDetails": { … }, "shipmentDetails": [ … ], "pickupDate": "2025-05-26", "shipperContactInfo": { … } }, "capacityProviderIdentifiers": [], "name": "Rockford - Phoenix", "expirationDateTime": "2025-05-21T18:11:15.585000+00:00", "id": "df60c107-b6d8-46a4-9bb0-7441a59a6f5e", "quotes": [ { … }, { … }, { … }, { … }, { … }, { … }, { … } ], "marketQuotes": [ { … } ], "createdDateTime": "2025-05-22T10:12:42.500050", "lastModifiedDateTime": "2025-05-22T10:12:42.921013", "status": "QUOTES_REQUESTED", "ratingSourceMethod": "API" }
Cancels a rate request. If a booking was in progress at the time of cancellation, it will also be cancelled and its bookingId is returned in the response. If a booking was already accepted by a carrier, a 409 is returned — the accepted booking cannot be cancelled. If the rate request is already cancelled, this call is idempotent and returns 200. This endpoint is feature-flagged; a 403 is returned if the feature is not enabled for the tenant.
curl -i -X POST \ 'https://na12.api.project44.com/services/rating/v1/rate-requests/{id}/cancellations' \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "rateRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }