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
Mock server
https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/
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/

Manage Client Applications

Operations

Generate Tokens

Operations

FTL: Capacity Provider Push

Operations

createTruckloadShipmentEvent

Request

Path
shipmentLegIdstring(uuid)required

shipmentLegId

Bodyrequired

shipmentEvent

dateTimestring

The time when this event occurred. If relevant, the offset will be relative to where the event occurred, otherwise will be in UTC. Will only be populated for events that have already happened.

dateTimesArray of objects(TrackedShipmentDateTime)

A list of times retrieved from different sources.

descriptionstring

A human readable description of this event. Optional response field.

detailsobject(TrackedShipmentEventDetails)

Optional extended details of an event.

estimateDateTimestring

The estimated time that this event is likely to occur. Only populated if event has not occurred yet.

estimateLastCalculatedDateTimestring

The time when project44 last calculated the estimate for this event. Only populated if event has not occurred yet.

plannedDateTimestring

The planned time when this event is scheduled to occur. If plannedEndDateTime is set, this is the start of the planned window of time for the event.

plannedEndDateTimestring

The end of the planned window of time for the event.

receivedDateTimestring

The time when project44 received or calculated this event. Will only be populated for events that have already happened.

routeSegmentIdstring(uuid)

If relevant, this will be populated with the id of a route segment on which this event occurred. This can be used to associate the event with a specific vehicle.

stopIdstring(uuid)

If relevant, this will be populated with the id of the stop to which this event relates.

typestring

The type of event that occurred. Will always be populated.

Enum"UNKNOWN""TRACKING_INITIATE""TRACKING_START""ARRIVAL_AT_STOP""DEPARTURE_FROM_STOP""LOAD_ONTO_VEHICLE""UNLOAD_FROM_VEHICLE""TRACKING_END_DUE_TO_TIMEOUT""TRACKING_END_BY_USER""TRACKING_COMPLETE""GATE_IN""GATE_OUT""FLIGHT_BOOKING""MANIFEST""RECEIVE_FROM_SHIPPER"
curl -i -X POST \
  'https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/api/v4/capacityproviders/tl/shipments/{shipmentLegId}/events' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "dateTime": "string",
    "dateTimes": [
      {
        "type": "UNKNOWN",
        "dateTime": "2019-08-24T14:15:22Z",
        "endDateTime": "2019-08-24T14:15:22Z",
        "lastModifiedDateTime": "2019-08-24T14:15:22Z",
        "source": "UNKNOWN",
        "sourceIdentifiers": [
          {
            "type": "AIR_WAYBILL",
            "value": "string"
          }
        ],
        "selected": true,
        "sequence": 0
      }
    ],
    "description": "string",
    "details": {
      "mobileTracking": {
        "code": "UNKNOWN"
      },
      "ocean": {
        "code": "UNKNOWN"
      },
      "qualityControl": {
        "code": "UNKNOWN"
      }
    },
    "estimateDateTime": "string",
    "estimateLastCalculatedDateTime": "string",
    "plannedDateTime": "string",
    "plannedEndDateTime": "string",
    "receivedDateTime": "string",
    "routeSegmentId": "a5aad6c5-e2d6-4a7a-8912-ea0254639352",
    "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43",
    "type": "UNKNOWN"
  }'

Responses

OK

Body
dateTimestring

The time when this event occurred. If relevant, the offset will be relative to where the event occurred, otherwise will be in UTC. Will only be populated for events that have already happened.

dateTimesArray of objects(TrackedShipmentDateTime)

A list of times retrieved from different sources.

descriptionstring

A human readable description of this event. Optional response field.

detailsobject(TrackedShipmentEventDetails)

Optional extended details of an event.

estimateDateTimestring

The estimated time that this event is likely to occur. Only populated if event has not occurred yet.

estimateLastCalculatedDateTimestring

The time when project44 last calculated the estimate for this event. Only populated if event has not occurred yet.

plannedDateTimestring

The planned time when this event is scheduled to occur. If plannedEndDateTime is set, this is the start of the planned window of time for the event.

plannedEndDateTimestring

The end of the planned window of time for the event.

receivedDateTimestring

The time when project44 received or calculated this event. Will only be populated for events that have already happened.

routeSegmentIdstring(uuid)

If relevant, this will be populated with the id of a route segment on which this event occurred. This can be used to associate the event with a specific vehicle.

stopIdstring(uuid)

If relevant, this will be populated with the id of the stop to which this event relates.

typestring

The type of event that occurred. Will always be populated.

Enum"UNKNOWN""TRACKING_INITIATE""TRACKING_START""ARRIVAL_AT_STOP""DEPARTURE_FROM_STOP""LOAD_ONTO_VEHICLE""UNLOAD_FROM_VEHICLE""TRACKING_END_DUE_TO_TIMEOUT""TRACKING_END_BY_USER""TRACKING_COMPLETE""GATE_IN""GATE_OUT""FLIGHT_BOOKING""MANIFEST""RECEIVE_FROM_SHIPPER"
Response
{ "dateTime": "string", "dateTimes": [ {} ], "description": "string", "details": { "mobileTracking": {}, "ocean": {}, "qualityControl": {} }, "estimateDateTime": "string", "estimateLastCalculatedDateTime": "string", "plannedDateTime": "string", "plannedEndDateTime": "string", "receivedDateTime": "string", "routeSegmentId": "a5aad6c5-e2d6-4a7a-8912-ea0254639352", "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43", "type": "UNKNOWN" }

updateTruckloadAdditionalAppointmentWindow

Request

Path
shipmentLegIdstring(uuid)required

shipmentLegId

stopIdstring(uuid)required

stopId

Bodyrequired

additionalAppointmentWindow

appointmentStatusstring

This is the state of the appointment as determined by the source appointment management system. This status is used to represent where the appointment is within its lifecycle, it does not represent the physical state of the asset fulfilling the appointment.

Enum"PENDING""REJECTED""BOOKED""CANCELLED""COMPLETED""PENDING_CARRIER""PENDING_INTERNAL""NONE_AVAILABLE"
appointmentWindowobject(ZonedDateTimeWindow)

A date and time range, including a time zone, representing a window of availability.

identifiersArray of objects(AdditionalAppointmentWindowIdentifier)

A list of identifiers of the additional appointment windows to a shipment.

typestring

The type of appointment window.

Enum"STRATEGIC""SLOT_BOOKING_PICKUP""SLOT_BOOKING_DELIVERY""SLOT_BOOKING_PICKUP_DELIVERY"
curl -i -X PUT \
  'https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/api/v4/capacityproviders/tl/shipments/{shipmentLegId}/stops/{stopId}/additional-appointment-windows' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "appointmentStatus": "PENDING",
    "appointmentWindow": {
      "endDateTime": "2019-08-24T14:15:22Z",
      "localTimeZoneIdentifier": "string",
      "startDateTime": "2019-08-24T14:15:22Z"
    },
    "identifiers": [
      {
        "type": "DOCK",
        "value": "string"
      }
    ],
    "type": "STRATEGIC"
  }'

Responses

OK

Body
appointmentStatusstring

This is the state of the appointment as determined by the source appointment management system. This status is used to represent where the appointment is within its lifecycle, it does not represent the physical state of the asset fulfilling the appointment.

Enum"PENDING""REJECTED""BOOKED""CANCELLED""COMPLETED""PENDING_CARRIER""PENDING_INTERNAL""NONE_AVAILABLE"
appointmentWindowobject(ZonedDateTimeWindow)

A date and time range, including a time zone, representing a window of availability.

identifiersArray of objects(AdditionalAppointmentWindowIdentifier)

A list of identifiers of the additional appointment windows to a shipment.

typestring

The type of appointment window.

Enum"STRATEGIC""SLOT_BOOKING_PICKUP""SLOT_BOOKING_DELIVERY""SLOT_BOOKING_PICKUP_DELIVERY"
Response
{ "appointmentStatus": "PENDING", "appointmentWindow": { "endDateTime": "2019-08-24T14:15:22Z", "localTimeZoneIdentifier": "string", "startDateTime": "2019-08-24T14:15:22Z" }, "identifiers": [ {} ], "type": "STRATEGIC" }

postIntermediateStops

Request

Bodyrequired

intermediateStopsUpdate

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

customerAccountNumberstring
shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)
shipmentStopsArray of objects(TruckloadShipmentIntermediateStop)
curl -i -X POST \
  https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/api/v4/capacityproviders/tl/shipments/intermediateStops \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "customerAccountNumber": "string",
    "shipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ],
    "shipmentStops": [
      {
        "appointmentWindow": {
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string",
          "startDateTime": "2019-08-24T14:15:22Z"
        },
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string",
            "phoneNumber": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "phoneNumberCountryCode": "string"
          }
        },
        "stopName": "string"
      }
    ]
  }'

Responses

OK

Body
carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

customerAccountNumberstring
shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)
shipmentStopsArray of objects(TruckloadShipmentIntermediateStop)
Response
{ "carrierIdentifier": { "type": "SCAC", "value": "string" }, "customerAccountNumber": "string", "shipmentIdentifiers": [ {} ], "shipmentStops": [ {} ] }

TL: Carrier Push Tracking

Request

This endpoint allows for carriers to send tracking data to project44

Bodyrequired

statusUpdate

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

customerIdstring
equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)
eventStopNumberinteger(int32)
eventTypestring
Enum"DELIVERED""CANCELLED""DEPARTED""ARRIVED""DISPATCHED""LOADING""UNLOADING""SCANNED_AT_STOP""POSITION""GATE_IN""GATE_OUT""ARRIVED_AT_TERMINAL""DEPARTED_TERMINAL"
hoursOfServiceRemaininginteger(int32)
latestTemperaturenumber
latestTemperatureUnitstring
Enum"F""C"
latitudenumber
longitudenumber
shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)
shipmentStopsArray of objects(TruckloadCapacityProviderPushShipmentStop)
utcTimestampstring(date-time)
curl -i -X POST \
  https://developers.project44.com/_mock/guides/carriers/visibility/ftl/api/api/v4/capacityproviders/tl/shipments/statusUpdates \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "customerId": "string",
    "equipmentIdentifiers": [
      {
        "shouldDelete": true,
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "eventStopNumber": 0,
    "eventType": "DELIVERED",
    "hoursOfServiceRemaining": 0,
    "latestTemperature": 0,
    "latestTemperatureUnit": "F",
    "latitude": 0,
    "longitude": 0,
    "shipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ],
    "shipmentStops": [
      {
        "address": {
          "postalCode": "string",
          "addressLines": [
            "str"
          ],
          "city": "string",
          "state": "string",
          "country": "US"
        },
        "appointmentWindow": {
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string",
          "startDateTime": "2019-08-24T14:15:22Z"
        },
        "arrivalDateTime": "2019-08-24T14:15:22Z",
        "carrierSuppliedEta": "string",
        "contact": {
          "companyName": "string",
          "contactName": "string",
          "email": "string",
          "faxNumber": "string",
          "faxNumberCountryCode": "string",
          "phoneNumber": "string",
          "phoneNumber2": "string",
          "phoneNumber2CountryCode": "string",
          "phoneNumberCountryCode": "string"
        },
        "departureDateTime": "2019-08-24T14:15:22Z",
        "stopName": "string",
        "stopNumber": 0
      }
    ],
    "utcTimestamp": "2019-08-24T14:15:22Z"
  }'

Responses

OK

Body
carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

customerIdstring
equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)
eventStopNumberinteger(int32)
eventTypestring
Enum"DELIVERED""CANCELLED""DEPARTED""ARRIVED""DISPATCHED""LOADING""UNLOADING""SCANNED_AT_STOP""POSITION""GATE_IN""GATE_OUT""ARRIVED_AT_TERMINAL""DEPARTED_TERMINAL"
hoursOfServiceRemaininginteger(int32)
latestTemperaturenumber
latestTemperatureUnitstring
Enum"F""C"
latitudenumber
longitudenumber
shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)
shipmentStopsArray of objects(TruckloadCapacityProviderPushShipmentStop)
utcTimestampstring(date-time)
Response
{ "carrierIdentifier": { "type": "SCAC", "value": "string" }, "customerId": "string", "equipmentIdentifiers": [ {} ], "eventStopNumber": 0, "eventType": "DELIVERED", "hoursOfServiceRemaining": 0, "latestTemperature": 0, "latestTemperatureUnit": "F", "latitude": 0, "longitude": 0, "shipmentIdentifiers": [ {} ], "shipmentStops": [ {} ], "utcTimestamp": "2019-08-24T14:15:22Z" }

FTL Modal Tracking

Operations