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).
Ingest one shipment tracking event and/or one set of telematics readings for the shipment(s) resolved by the supplied identifiers. Send the Full Truckload data under the truckload key. Timestamps must be ISO 8601 date-times (for example 2026-06-01T08:30:00Z) and not more than 5 minutes in the future.
Required fields: truckload; within truckload: identifiers (with at least one of billOfLadingNumber or orderNumber); and at least one of shipmentEvent or readings. Within shipmentEvent: type and dateTime. Within readings: dateTime, plus at least one of position or sensor. Within position: latitude and longitude.
The Full Truckload (FTL) request body, sent under the truckload key.
The project44 tenant ID of the customer the tracking data is for. Optional.
Truckload (FTL) ingestion body. Must carry resolving identifiers plus at least one of a shipment event or a set of readings.
Truckload (FTL) ingestion body. Must carry resolving identifiers plus at least one of a shipment event or a set of readings.
curl -i -X POST \ https://na12.api.project44.com/services/carrier-push/v1/tracking-updates \ -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \ -H 'Content-Type: application/json' \ -d '{ "truckload": { "identifiers": { "orderNumber": "202607061530-ORDER-01" }, "shipmentEvent": { "type": "ARRIVAL_AT_STOP", "stopNumber": 1, "dateTime": "2026-07-07T14:55:00Z" }, "readings": { "dateTime": "2026-07-07T14:55:00Z", "position": { "latitude": 41.8781, "longitude": -87.6298, "speed": 55, "heading": 90, "speedUnit": "MILES_PER_HOUR" }, "sensor": { "ignitionStatus": "ON", "reefer": { "state": "ON", "powerSource": "DIESEL", "operatingMode": "CONTINUOUS", "engineRpm": 1500, "engineHours": 1234, "voltage": 13.8 }, "fuel": { "type": "DIESEL", "fuelUnit": "PERCENT_REMAINING", "currentLevel": 78, "capacity": 200 }, "ambientTemperature": { "value": 6.5, "unit": "CELSIUS" }, "tirePressure": [ { "axle": 1, "position": "LEFT", "psi": 105, "alarmState": "OK" } ], "zones": [ { "id": "ZONE1", "returnAirTemperature": 2.5, "dischargeAirTemperature": 1.8, "setPoint": 2, "temperatureUnit": "CELSIUS", "humidity": { "percentage": 80 }, "battery": { "percentage": 95 }, "doorState": "CLOSED" } ] } } } }'
{ "ingestionId": "3f8a1c2e-9b44-4d7a-8f21-0a1b2c3d4e5f" }