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/shippers/visibility/rail/api/
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/

Manage Client Applications

Operations

Generate Tokens

Operations

Unified Shipment Tracking

Operations

Rail Asset Tracking

Operations

Deprecated Rail Tracking

Operations

Initialize a shipment for tracking.

Request

If the shipment is initialized by using geoCoordinates instead of an address, it may be possible that a street address will not be returned in the response.


Required Fields

  • shipmentIdentifiers: (if no trackingStartDateTime provided)
    • type
    • value
  • equipmentIdentifiers:
    • type
    • value
  • trackingStartDateTime (if no shipmentIdentifiers provided)
Bodyrequired

shipment

equipmentIdentifiersArray of objects(RailEquipmentIdentifier)

A user-defined list of equipment identifiers identifying rail equipment to be tracked as part of this shipment. This includes container ids and rail car ids. A rail shipment may only have 1 equipment identifier

idinteger(int64)

DEPRECATED: The project44-generated id for the rail shipment. This may not be provided when creating a shipment, but will always be returned in the shipment confirmation. This id may be used in subsequent API calls to reference a shipment. This field is deprecated, use railLegId instead.

masterShipmentIdstring(uuid)

This id links 1 or more legs as part of the same overall shipment. For intermodal shipments, pass an existing masterShipmentId to link this rail leg to the overall master shipment. Otherwise pass any valid new UUID to create a new shipment. If no masterShipmentId is passed on POST request a new UUID will be generated. This value will always be returned on all responses.

railLegIdstring(uuid)

Identifies the leg of the journey. Each piece of equipment has a unique id for each mode that it travels on.This id may be used in subsequent API calls to reference this shipment leg.

shipmentIdentifiersArray of objects(RailShipmentIdentifier)

A user-defined list of shipment identifiers that are unique to this shipment. You must pass in either a shipment identifier or a tracking start date time.

shipmentStopsArray of objects(RailShipmentStop)

Contains the shipment's origin and destination.

trackingStartDateTimestring

Tracking for this shipment will begin at this time. This should be set to the time when your shipment has been loaded into the container or rail car. Cannot be more than 90 days in the past or 90 days in the future. You must pass in either a shipment identifier or a tracking start date time.

curl -i -X POST \
  https://developers.project44.com/_mock/guides/shippers/visibility/rail/api/api/v4/rail/shipments/ \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "equipmentIdentifiers": [
      {
        "type": "CONTAINER_ID",
        "value": "string"
      }
    ],
    "id": 0,
    "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa",
    "railLegId": "e076b925-ff0c-4137-8d6a-f8f1b6739588",
    "shipmentIdentifiers": [
      {
        "type": "BILL_OF_LADING",
        "value": "string"
      }
    ],
    "shipmentStops": [
      {
        "appointmentWindow": {
          "startDateTime": "2019-08-24T14:15:22Z",
          "endDateTime": "2019-08-24T14:15:22Z",
          "localTimeZoneIdentifier": "string"
        },
        "geoCoordinates": {
          "latitude": -90,
          "longitude": -180
        },
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "location": {
          "address": {
            "pointName": "string",
            "state": "string"
          },
          "id": "string"
        },
        "stopName": "string",
        "stopNumber": 0,
        "type": "UNKNOWN"
      }
    ],
    "trackingStartDateTime": "string"
  }'

Responses

OK

Body
infoMessagesArray of objects(Message)

System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

shipmentobject(RailShipment)
Response
{ "infoMessages": [ {} ], "shipment": { "equipmentIdentifiers": [], "id": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "railLegId": "e076b925-ff0c-4137-8d6a-f8f1b6739588", "shipmentIdentifiers": [], "shipmentStops": [], "trackingStartDateTime": "string" } }

Delete a shipment by system id.

Request

Required Fields

  • id
Path
idstringrequired

The project44-generated id of the shipment being queried.

curl -i -X DELETE \
  'https://developers.project44.com/_mock/guides/shippers/visibility/rail/api/api/v4/rail/shipments/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
Response
{ "httpStatusCode": 0, "httpMessage": "string", "errorMessage": "string", "errors": [ {} ], "supportReferenceId": "string" }

Get a shipment status by system id.

Request

Required Fields

  • id
Path
idstringrequired

The project44-generated id of the shipment being queried.

Query
includeStatusHistoryboolean

Whether shipment status history ('statusUpdates') should be included in the response.

Default false
curl -i -X GET \
  'https://developers.project44.com/_mock/guides/shippers/visibility/rail/api/api/v4/rail/shipments/{id}/statuses?includeStatusHistory=false' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Body
equipmentStatusesArray of objects(RailEquipmentStatus)

Status for each piece of equipment attached to this shipment.

infoMessagesArray of objects(Message)

System messages and messages from the capacity provider with severity 'INFO' or 'WARNING'. No messages with severity 'ERROR' will be returned here.

shipmentobject(RailShipment)
Response
{ "equipmentStatuses": [ {} ], "infoMessages": [ {} ], "shipment": { "equipmentIdentifiers": [], "id": 0, "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "railLegId": "e076b925-ff0c-4137-8d6a-f8f1b6739588", "shipmentIdentifiers": [], "shipmentStops": [], "trackingStartDateTime": "string" } }

Webhook

Operations