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/api-reference/api-docs/
API endpoint for project44 tenants created in NA region
https://na12.api.project44.com/
API endpoint for project44 tenants created in EU region
https://eu12.api.project44.com/
API 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 VOC 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

LTL: Quotes

Quote LTL rates and retrieve transit times.

Operations

VLTL: Quotes

API used for quoting volume LTL rates.

Operations

VLTL: Dispatch

API used for scheduling volume LTL shipments.

Operations

LTL: Dispatch

API used for scheduling LTL shipments.

Operations

LTL: Tracking

API used for the retrieval of shipment status.

Operations

LTL: Image Retrieval

Access shipment images.

Operations

TL: Tracking

project44's Truckload Tracking endpoints give you or your customers visibility into your truckload shipments, including such features as predictive ETAs and temperature tracking. Use these endpoints to initialize (POST), track (GET), update (PUT), cancel (POST) or delete(DELETE) truckload shipments. You can return shipment information by either unique system ID or by identifier.

Operations

TL: Available Vehicles

API used for fetching vehicles within a specific radius and time window. Can only be used if opted into a project44 Co-Op.

Operations

TL: Connected Capacity

API for finding new connected carrier partners in the project44 network based on tracking performance

Operations

Rail: Tracking

API used for accessing rail shipment tracking.

Operations

Capacity Provider Account Group Management

Manage capacity provider account groups. Groups are used to sort capacity provider accounts on a per customer or location basis.

For example, you can add multiple capacity providers to a group if they all share lanes to the same origin/destination location.

Another example, if certain customers receive different rates for a capacity provider, it may be reasonable to use separate groups for each customer's capacity provider accounts.

Use these APIs to create (POST), retrieve (GET) or delete (DELETE) capacity provider account groups.

Operations

Capacity Provider Account Management

Manage capacity provider accounts where a capacity provider is typically used to represent a carrier.

Capacity providers have capacity provider account definitions also known as capacity provider account types. Capacity provider accounts are arranged in sets where each set contains one or more accounts for the same capacity provider. Each capacity provider's service is compatible with one and only one of these capacity provider accounts. Because most capacity providers have only one capacity provider account definition, most sets will contain only one capacity provider account. For capacity providers with more then one account definition, the set of accounts may consist of one account per account definition.

For example, FedEx has a standard account to be used with LTL rating, LTL and Volume LTL dispatch, tracking, and imaging and a separate account for Volume LTL rating. A set of FedEx capacity provider accounts may have a single standard account, a single volume LTL rating account, or both. Providing the capacity provider account set code in the request resolves which capacity provider account to use.

Capacity provider specific credential information is available in the portal.

Use these APIs to create (POST), retrieve (GET), update (POST) or delete (DELETE) capacity provider accounts.

Operations

Capacity Provider Contact Management

Manage locations. Locations combine physical addresses with contact details and are used in configuring Capacity Provider Accounts and Stop Locations, for example to identify the Bill To party.

Use these APIs to create (POST), update (PUT) or retrieve (GET) locations.

These operations are also all available under the /locations endpoint for backward compatibility.

Operations

Order Visibility

API used for orders and inventory items

Operations

Shipment: Tracking

API used for Shipment Tracking.

Operations

Shipment: Loads

API used for tracking Loads.

Operations

Multi-Modal: Image Retrieval

Access shipment images.

Operations

Shipment Attributes

Create and fetch predefined custom attributes for shipments. You must be a organization admin to perform this operation.

Operations

Capacity Provider Metadata

Retrieve capacity provider information needed to set up capacity provider accounts.

Operations

LTL: Push Tracking

As a capacity provider, push project44 shipments and status updates.

Operations

LTL: Push Imaging

As a capacity provider, push project44 images related to shipments.

Operations

TL: Capacity Provider Push

As a capacity provider, push project44 shipment-related info and quotes.

Operations

postEquipmentIdentifierAssignment

Request

Bodyrequired

truckloadEquipmentIdentifierAssignment

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

customerAccountNumberstring
equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)
scheduledTruckChangeDateTimestring
shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)
shouldDeleteboolean
curl -i -X POST \
  https://developers.project44.com/_mock/api-reference/api-docs/api/v4/capacityproviders/tl/equipmentIdentifierAssignments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "customerAccountNumber": "string",
    "equipmentIdentifiers": [
      {
        "shouldDelete": true,
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "scheduledTruckChangeDateTime": "string",
    "shipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ],
    "shouldDelete": true
  }'

Responses

OK

Body
carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

customerAccountNumberstring
equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)
scheduledTruckChangeDateTimestring
shipmentIdentifiersArray of objects(TruckloadShipmentIdentifier)
shouldDeleteboolean
Response
{ "carrierIdentifier": { "type": "SCAC", "value": "string" }, "customerAccountNumber": "string", "equipmentIdentifiers": [ {} ], "scheduledTruckChangeDateTime": "string", "shipmentIdentifiers": [ {} ], "shouldDelete": true }

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/api-reference/api-docs/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": {
          "startDateTime": "2019-08-24T14:15:22Z",
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string"
        },
        "location": {
          "address": {
            "postalCode": "string",
            "addressLines": [
              "str"
            ],
            "city": "string",
            "state": "string",
            "country": "US"
          },
          "contact": {
            "companyName": "string",
            "contactName": "string",
            "phoneNumber": "string",
            "phoneNumberCountryCode": "string",
            "phoneNumber2": "string",
            "phoneNumber2CountryCode": "string",
            "email": "string",
            "faxNumber": "string",
            "faxNumberCountryCode": "string"
          }
        },
        "stopName": "string",
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        }
      }
    ]
  }'

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/api-reference/api-docs/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": {
          "startDateTime": "2019-08-24T14:15:22Z",
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string"
        },
        "arrivalDateTime": "2019-08-24T14:15:22Z",
        "carrierSuppliedEta": "string",
        "contact": {
          "companyName": "string",
          "contactName": "string",
          "phoneNumber": "string",
          "phoneNumberCountryCode": "string",
          "phoneNumber2": "string",
          "phoneNumber2CountryCode": "string",
          "email": "string",
          "faxNumber": "string",
          "faxNumberCountryCode": "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" }

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/api-reference/api-docs/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

typestring(enum)(TruckloadAdditionalAppointmentWindowType)required

The type of appointment window.

Enum"STRATEGIC""SLOT_BOOKING_PICKUP""SLOT_BOOKING_DELIVERY""SLOT_BOOKING_PICKUP_DELIVERY"
appointmentWindowobject(ZonedDateTimeWindow)required

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

appointmentWindow.​startDateTimestring(date-time)required

Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss)

appointmentWindow.​endDateTimestring(date-time)required

End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss)

appointmentWindow.​localTimeZoneIdentifierstring

The time zone identifier (e.g., 'America/Chicago') for this date time window.

appointmentStatusstring(enum)(AdditionalAppointmentWindowStatus)
Enum"PENDING""REJECTED""BOOKED""CANCELLED""COMPLETED""PENDING_CARRIER""PENDING_INTERNAL""NONE_AVAILABLE"
identifiersArray of objects(AdditionalAppointmentWindowIdentifier)

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

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

Responses

OK

Body
typestring(enum)(TruckloadAdditionalAppointmentWindowType)required

The type of appointment window.

Enum"STRATEGIC""SLOT_BOOKING_PICKUP""SLOT_BOOKING_DELIVERY""SLOT_BOOKING_PICKUP_DELIVERY"
appointmentWindowobject(ZonedDateTimeWindow)required

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

appointmentWindow.​startDateTimestring(date-time)required

Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss)

appointmentWindow.​endDateTimestring(date-time)required

End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss)

appointmentWindow.​localTimeZoneIdentifierstring

The time zone identifier (e.g., 'America/Chicago') for this date time window.

appointmentStatusstring(enum)(AdditionalAppointmentWindowStatus)
Enum"PENDING""REJECTED""BOOKED""CANCELLED""COMPLETED""PENDING_CARRIER""PENDING_INTERNAL""NONE_AVAILABLE"
identifiersArray of objects(AdditionalAppointmentWindowIdentifier)

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

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

Accept a shipper's request to handle a shipment tender.

Request

Required Fields

  • tenderIdentifier
  • capacityProviderOfferIdentifier
  • offerExpirationDateTime
Path
tenderIdentifierstringrequired

The capacity provider's identifier for the tender being accepted.

Bodyrequired

tenderAcceptance

capacityProviderOfferIdentifierstring

This field contains the identifier that should be used to select this capacity provider's offer for dispatching.

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)

Carrier provided equipment identifiers that can be used to facilitate tracking.

offerExpirationDateTimestring

The expiration date time of this capacity provider offer. A time zone offset must be provided. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500).

trackingShipmentIdentifiersArray of objects(TruckloadTenderTrackingShipmentIdentifier)

Carrier provided shipment identifiers that can be used to facilitate tracking.

curl -i -X POST \
  'https://developers.project44.com/_mock/api-reference/api-docs/api/v4/capacityproviders/tl/tenders/{tenderIdentifier}/acceptances' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "capacityProviderOfferIdentifier": "string",
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "equipmentIdentifiers": [
      {
        "shouldDelete": true,
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "offerExpirationDateTime": "string",
    "trackingShipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ]
  }'

Responses

OK

Body
infoMessagesArray of objects(Message)

System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

tenderAcceptanceobject(TruckloadCapacityProviderTenderAcceptance)

An object that a capacity provider pushes to accept a Truckload Tender.

tenderIdentifierstring

The capacity provider's identifier for the tender being accepted.

Response
{ "infoMessages": [ {} ], "tenderAcceptance": { "capacityProviderOfferIdentifier": "string", "carrierIdentifier": {}, "equipmentIdentifiers": [], "offerExpirationDateTime": "string", "trackingShipmentIdentifiers": [] }, "tenderIdentifier": "string" }

Decline the opportunity to bid on a particular shipment tender.

Request

Required Fields

  • tenderIdentifier
Path
tenderIdentifierstringrequired

The capacity provider's identifier for the tender being declined.

Bodyrequired

tenderDecline

capacityProviderDeclineIdentifierstring

The capacity provider's identifier that references their decision to decline this tender.

declineReasonstring

A more detailed description of the capacity provider's reason for declining this tender.

declineReasonCodestring

The capacity provider's reason for declining this tender.

Enum"DECLINED_CAPACITY_TYPE""DECLINED_CAPACITY_UNAVAILABLE""DECLINED_EQUIPMENT_TYPE""DECLINED_EQUIPMENT_UNAVAILABLE""DECLINED_LENGTH_OF_HAUL""DECLINED_PERMITS""DECLINED_WEIGHT"
curl -i -X POST \
  'https://developers.project44.com/_mock/api-reference/api-docs/api/v4/capacityproviders/tl/tenders/{tenderIdentifier}/declines' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "capacityProviderDeclineIdentifier": "string",
    "declineReason": "string",
    "declineReasonCode": "DECLINED_CAPACITY_TYPE"
  }'

Responses

OK

Body
infoMessagesArray of objects(Message)

System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

tenderIdentifierstring

The capacity provider's identifier for the tender being declined.

Response
{ "infoMessages": [ {} ], "tenderIdentifier": "string" }

Reject the particular shipment tender due to an error with the tendering data.

Request

Required Fields

  • tenderIdentifier
Path
tenderIdentifierstringrequired

The capacity provider's identifier for the tender having an error.

Bodyrequired

tenderError

capacityProviderErrorIdentifierstring

The capacity provider's identifier that references their error for this tender.

errorReasonstring

A description of the capacity provider's reason for reporting an error with this tender.

curl -i -X POST \
  'https://developers.project44.com/_mock/api-reference/api-docs/api/v4/capacityproviders/tl/tenders/{tenderIdentifier}/errors' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "capacityProviderErrorIdentifier": "string",
    "errorReason": "string"
  }'

Responses

OK

Body
infoMessagesArray of objects(Message)

System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

tenderIdentifierstring

The capacity provider's identifier for the tender having an error.

Response
{ "infoMessages": [ {} ], "tenderIdentifier": "string" }

Provide a rate quote in response to a shipment tender.

Request

Required Fields

  • tenderIdentifier
  • capacityProviderOfferIdentifier
  • offerExpirationDateTime
  • rateQuoteDetail
Path
tenderIdentifierstringrequired

The capacity provider's identifier for the tender being quoted.

Bodyrequired

rateQuote

capacityProviderOfferIdentifierstring

This field contains the identifier that should be used to select this capacity provider's offer for dispatching.

carrierIdentifierobject(CapacityProviderIdentifier)

A capacity provider identifier object.

currencystring

The currency used to express the capacity provider's quoted price.

Enum"USD""CAD""MXN""EUR"
equipmentIdentifiersArray of objects(TruckloadEquipmentIdentifier)

Carrier provided equipment identifiers that can be used to facilitate tracking.

offerExpirationDateTimestring

The expiration date time of this capacity provider offer. A time zone offset must be provided. (format: yyyy-MM-dd'T'HH:mm:ssZ, example: 2019-11-14T12:30:00-0500).

rateQuoteDetailobject(TruckloadRateQuoteDetail)
trackingShipmentIdentifiersArray of objects(TruckloadTenderTrackingShipmentIdentifier)

Carrier provided shipment identifiers that can be used to facilitate tracking.

curl -i -X POST \
  'https://developers.project44.com/_mock/api-reference/api-docs/api/v4/capacityproviders/tl/tenders/{tenderIdentifier}/quotes' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "capacityProviderOfferIdentifier": "string",
    "carrierIdentifier": {
      "type": "SCAC",
      "value": "string"
    },
    "currency": "USD",
    "equipmentIdentifiers": [
      {
        "shouldDelete": true,
        "type": "MOBILE_PHONE_NUMBER",
        "value": "string"
      }
    ],
    "offerExpirationDateTime": "string",
    "rateQuoteDetail": {
      "total": 0,
      "subtotal": 0,
      "charges": [
        {
          "vendorCode": "LH",
          "description": "string",
          "amount": 0
        }
      ]
    },
    "trackingShipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ]
  }'

Responses

OK

Body
infoMessagesArray of objects(Message)

System messages with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

rateQuoteobject(TruckloadCapacityProviderTenderRateQuote)

An object that represents a capacity provider's rate quote for a truckload tender.

tenderIdentifierstring

The capacity provider's identifier for the tender being quoted.

Response
{ "infoMessages": [ {} ], "rateQuote": { "capacityProviderOfferIdentifier": "string", "carrierIdentifier": {}, "currency": "USD", "equipmentIdentifiers": [], "offerExpirationDateTime": "string", "rateQuoteDetail": {}, "trackingShipmentIdentifiers": [] }, "tenderIdentifier": "string" }

Asset Tracking

Track the location of an enrolled asset.

Operations

Webhook

Register client webhooks.

Operations

Parcel: Tracking

Track parcel shipments. Before parcel shipments can be tracked, they must first be initialized with a shipment identifier. Shipments cannot be modified once initialized and tracking has begun. To stop tracking a shipment, delete it.

Use these APIs to initialize (POST), track (GET), or delete (DELETE) parcel shipments.

Operations

Parcel: Webhook

Receive updates for a tracked parcel by defining a parcel-tracking-webhook.

Operations

Carrier: Document

API for managing carrier documents.

Analytics: Port Intelligence

API for Port Intelligence.

Operations

Filter Suggestions

Operations

Multi-modal: Booking

API used for multi-modal Booking.

LTL: Electronic BOL

API used for creating Electronic BOL

Operations

Webhook Data

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

Operations

Postal Address Validation

Operations

Parcel: Push Tracking

Operations

location-controller

Operations

Ocean: Tracking

Operations

Stop Location Management

Operations

TL: Webhook

Operations

Push Updates

Operations

Multi-Modal: Booking

Operations

APIs

Operations

Invitations

Operations

Multi-Modal: Document

Operations