### Get Route Information API Request Example Source: https://developers.project44.com/guides/shippers/visibility/ftl/get-tracking-updates Example of a GET request to fetch route information for a shipment using its project44-generated Shipment ID. ```http GET /api/v4/shipments/758ff08b-2693-4308-bf22-b967623ffeea/tracking ``` -------------------------------- ### Example Response Body for Get Capacity Provider Account Source: https://developers.project44.com/api-reference/api-docs/capacity-provider-account-management/deletecapacityprovideraccountinfos This is an example JSON structure for a successful response when retrieving capacity provider account information. ```json { "accounts": [ { "…" } ], "capacityProviderIdentifier": { "type": "SCAC", "value": "string" }, "code": "string", "group": { "code": "string", "id": 0, "name": "string" }, "id": 0 } ``` -------------------------------- ### Create Document Example Source: https://developers.project44.com/api-reference/api-docs/multi-modal%3A-document/search_documents_documents_search_post Example of how to create a document using the Multi-Modal Document API. ```APIDOC ## POST /services/document/v1/documents ### Description Create a document ### Method POST ### Endpoint /services/document/v1/documents ### Request Body - **document** (string) - Required - Document details. - **upload_file** (binary) - Required - The file to upload. ### Request Example ```curl curl -i -X POST \ https://na12.api.project44.com/services/document/v1/documents \ -H 'Authorization: Bearer ' \ -H 'Content-Type: multipart/form-data' \ -F document=string \ -F upload_file=string ``` ``` -------------------------------- ### Webhook Response Example Source: https://developers.project44.com/api-reference/api-docs/webhook/getallwebhookconfigurationsforuser Example JSON response structure for webhook configurations. ```json { "webhookEndpoints": [ { … } ] } ``` -------------------------------- ### Example JSON Response for Get Carrier Assets Source: https://developers.project44.com/api-reference/api-docs/tl%3A-tracking/createtruckloadshipment Example structure of a successful JSON response when retrieving carrier assets, including messages, pagination info, and results. ```json { "infoMessages": [ { … } ], "paginationInfo": { "pageNumber": 0, "pageSize": 0, "total": 0 }, "results": [ { … } ] } ``` -------------------------------- ### Create Document Example Source: https://developers.project44.com/api-reference/api-docs/multi-modal%3A-document/delete_document_documents__documentid__delete Example of how to create a document using the Multi-Modal Document API, including request details and cURL command. ```APIDOC ## POST /services/document/v1/documents ### Description Create a document. ### Method POST ### Endpoint /services/document/v1/documents ### Parameters #### Request Body - **document** (string) - Required - Document details. - **upload_file** (binary) - Required - The file to upload. ### Request Example ```json { "document": "string", "upload_file": "string (binary)" } ``` ### Example cURL Command ```bash curl -i -X POST \ https://na12.api.project44.com/services/document/v1/documents \ -H 'Authorization: Bearer ' \ -H 'Content-Type: multipart/form-data' \ -F document=string \ -F upload_file=string ``` ``` -------------------------------- ### Document submission response example Source: https://developers.project44.com/guides/shippers/initiate/documents/submit-document Example JSON response returned by the system after a successful document submission. ```JSON { "name": "document_name", "type": "PROOF_OF_DELIVERY", "identifiers": [ { "type": "BILL_OF_LADING", "value": "123456" }, { "type": "CARRIER_SCAC", "value": "ABCD" } ], "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "files": [ { "url": "string", "mediaType": "PDF", "sizeInBytes": 0, "type": "ORIGINAL" } ], "createdDateTime": "2024-08-24T14:15:22Z", "lastModifiedDateTime": "2024-08-24T14:15:22Z", "deletedDateTime": "2024-08-24T14:15:22Z", "addedByCompany": "string", "addedByUser": "string" } ``` -------------------------------- ### Address Object Example Source: https://developers.project44.com/api-reference/api-docs/capacity-provider-contact-management/createcontact Example structure for an address object, including response codes. ```APIDOC #### Responses 1. 200 2. 400 3. 401 4. 403 ### Request Body Example ```json { "address": { "addressLines": [ "..."], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string", "phoneNumberCountryCode": "string" } } ``` ### Response Example (200 OK) ```json { "address": { "addressLines": [ "..."], "city": "string", "country": "US", "postalCode": "string", "state": "string" }, "contact": { "companyName": "string", "contactName": "string", "email": "string", "faxNumber": "string", "faxNumberCountryCode": "string", "phoneNumber": "string", "phoneNumber2": "string", "phoneNumber2CountryCode": "string", "phoneNumberCountryCode": "string" } } ``` ``` -------------------------------- ### Example Granular Webhook Message Source: https://developers.project44.com/api-reference/granular-webhook/granular-webhook-configuration This is an example of a webhook message for a 'shipments.v1.event.added' event, including minimal context. ```json { "eventId": "333d2a1b-d332-4775-8f8e-960e5f538431", "eventType": "shipments.v1.event.added", "createdDateTime": "2025-03-31T17:01:42.92601441Z", "dataType": "EventChange", "context": { "shipment": { "shipmentId": "ac694c91-e308-4329-9584-ee10acb937b3", "identifiers": [ { "type": "BILL_OF_LADING", "value": "BOL123" } ], "attributes": [], "createdDateTime": "2025-03-31T17:01:42.92601441Z", "lastModifiedDateTime": "2025-03-31T17:01:42.92601441Z", "shipmentShareLink": "..." } }, "data": {} } ``` -------------------------------- ### Shipment Position History Example Source: https://developers.project44.com/guides/shippers/visibility/ftl/get-tracking-updates An example of the 'positions' array returned for a shipment, detailing latitude, longitude, and timestamps. ```json { "routeSegmentId": "9810cab9-ab32-3871-b392-768aba8ea330", "latitude": 49.25121, "longitude": -123.11531 }, { "dateTime": "2023-02-07T20:15:34+0000", "receivedDateTime": "2023-02-07T20:15:34+0000", "routeSegmentId": "9810cab9-ab32-3871-b392-768aba8ea330", "latitude": 49.262188, "longitude": -123.11484 }, { "dateTime": "2023-02-07T20:25:20+0000", "receivedDateTime": "2023-02-07T20:25:20+0000", "routeSegmentId": "9810cab9-ab32-3871-b392-768aba8ea330", "latitude": 49.276264, "longitude": -123.11521 }, { "dateTime": "2023-02-07T20:35:06+0000", "receivedDateTime": "2023-02-07T20:35:07+0000", "routeSegmentId": "9810cab9-ab32-3871-b392-768aba8ea330", "latitude": 49.283333, "longitude": -123.11667 }, { "dateTime": "2023-02-07T22:05:02+0000", "receivedDateTime": "2023-02-07T22:05:03+0000", "routeSegmentId": "9810cab9-ab32-3871-b392-768aba8ea330", "latitude": 49.251926, "longitude": -123.13901 } ``` -------------------------------- ### Example Stop ETA Response Source: https://developers.project44.com/guides/shippers/visibility/ocean/ete-eta-ocean This is an example of a response containing stop ETA information. The event type for a stop with an ETA will be ARRIVAL_AT_STOP. ```json { "events": [ { "receivedDateTime": "2022-11-06T05:44:00+0000", "type": "ARRIVAL_AT_STOP", "stopId": "8adef901-06af-3d43-b4e4-4b53bc1f7db4", "estimateDateTime": "2022-11-14T10:00:00+0000" } ] } ``` -------------------------------- ### Get Shipment Status via cURL Source: https://developers.project44.com/api-reference/api-docs/tl%3A-tracking/createtruckloadshipment Example request to retrieve shipment status using the GET method with required carrier and shipment identifiers. ```bash curl -i -X GET \ 'https://na12.api.project44.com/api/v4/tl/shipments/statuses?carrierIdentifier.type=SCAC&carrierIdentifier.value=string&includeMapUrl=false&includeSensorHistory=false&includeStatusHistory=false&shipmentIdentifier.type=BILL_OF_LADING&shipmentIdentifier.value=string' \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Get Bookings API Response Body Source: https://developers.project44.com/api-reference/api-docs/multi-modal%3A-booking/flag_booking_as_under_review_bookings__bookingid__carrier_notices_post Example JSON response for the Get Bookings API, including pagination information and a list of booking results. ```json { "paginationInfo": { "pageNumber": 0, "pageSize": 0, "total": 0 }, "results": [ { "…" } ] } ``` -------------------------------- ### Booking Request Example Source: https://developers.project44.com/guides/shippers/initiate/ocean-booking/request-booking This is an example of a potential request to the Booking API. For the full request schema and descriptions for all fields and objects, please connect with your project44 Technical Contact to receive the Booking API Reference Documentation. ```json { "booking": { "parties": [ { "partyType": "SHIPPER", "contactInfo": { "companyName": "Shipper Company Name", "givenName": "John", "familyName": "Smith", "phoneNumber": "1234567890", "email": "j.smith@shipper-company.project44.com" }, "addressInfo": { "addressLines": [ "400 Montgomery St", "2nd Floor" ], "postalCode": "94104", "city": "San Francisco", "state": "CA", "country": "US" }, "vatNumber": "vat-123" }, { "partyType": "NOTIFY_PARTY", "contactInfo": { "companyName": "Notify Party Company Name", "givenName": "Henry", "familyName": "Jacobsen", "phoneNumber": "1223334445", "mobilePhoneNumber": "1223334444", "email": "h.jacobsen@notify-company.project44.com" }, "addressInfo": { "addressLines": [ "222 W. Merchandise Mart Plaza", "Suite 1744" ], "postalCode": "60654", "city": "Chicago", "state": "IL", "country": "US" }, "vatNumber": "vat-234" } ], "serviceType": "DOOR_TO_DOOR", "bookingType": "FULL_CONTAINER_LOAD", "incoterm": "DAP", "cargoMeasurements": { "volume": { "value": 480, "unit": "CUBIC_FT" }, "weight": { "value": 2500, "unit": "KG" }, "dimensions": { "length": 20, "width": 6, "height": 4, "unit": "FT" } }, "containerCount": { "reeferCount": { "fortyFootContainerCount": 1 } }, "accessorials": [ { "code": "REFRIGERATED", "details": { "min": 32, "max": 40, "unit": "FAHRENHEIT" } } ] } } ``` -------------------------------- ### Get Shipment Tracking History Request Example Source: https://developers.project44.com/guides/shippers/visibility/ltl/get-updates Use this GET request format to retrieve the tracking history for a shipment. Ensure you use the project44-generated Shipment ID. ```http GET /api/v4/shipments/758ff08b-2693-4308-bf22-b967623ffeea/tracking/history ``` -------------------------------- ### Package Response Schema Source: https://developers.project44.com/api-reference/api-docs/multi-modal%3A-packaging/get_package_packaging_packageid_get Example of a successful JSON response body returned after creating or retrieving a package. ```json { "accessorials": [], "createdDateTime": "2019-08-24T14:15:22Z", "destinationLocation": { "address": { … }, "geoCoordinates": { … }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ … ], "name": "string", "timeZone": "string" }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "items": [ { … } ], "identifiers": [ { … } ], "isStackable": false, "lastModifiedDateTime": "2019-08-24T14:15:22Z", "originLocation": { "address": { … }, "geoCoordinates": { … }, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "identifiers": [ … ], "name": "string", "timeZone": "string" }, "package": { "dimensions": { … }, "type": "BAG", "volume": { … }, "weight": { … } }, "status": "UNASSIGNED" } ``` -------------------------------- ### Create a Package Source: https://developers.project44.com/api-reference/api-docs/multi-modal%3A-packaging/get_package_packaging_packageid_get Use this POST request to create a new package, including item details, physical dimensions, and identifiers. ```curl curl -i -X POST \ https://na12.api.project44.com/services/booking/v1/packaging \ -H 'Authorization: Bearer ' \ -H 'Content-Type: application/json' \ -d '{ "items": [ { "identifiers": [ { "type": "SKU", "value": "SKU-12345" } ], "orderIdentifier": { "value": "PO-12345", "type": "PURCHASE_ORDER" }, "unitQuantity": 10 } ], "package": { "type": "PALLET", "dimensions": { "length": 48, "width": 40, "height": 48, "unit": "IN" }, "weight": { "value": 500, "unit": "LB" } }, "identifiers": [ { "type": "DELIVERY_NUMBER", "value": "DEL-12345" } ], "isStackable": true, "accessorials": [] }' ``` -------------------------------- ### Get Stop Locations Source: https://developers.project44.com/api-reference/api-docs/analytics%3A-port-intelligence Retrieves a list of stop locations. No specific setup or constraints mentioned. ```HTTP GET /api/v4/stoplocations ``` -------------------------------- ### GET /api/v4/oauth2/client-applications Source: https://developers.project44.com/api-reference/api-docs/oauth-2.0%3A-client-applications/getapplication List all client applications registered in your project44 account. Requires Basic Authentication. ```APIDOC ## Get client applications. ### Description List all client applications registered in your project44 account. ### Method GET ### Endpoint /api/v4/oauth2/client-applications ### Security basicAuth ### Request Example ```curl curl -i -X GET \ -u : \ https://na12.api.project44.com/api/v4/oauth2/client-applications ``` ### Response #### Success Response (200) - **clientApplications** (Array of objects) - The list of client applications registered in your project44 account. #### Response Example (Response body structure not detailed in source text) ``` -------------------------------- ### Retrieve Shipment Tracking Data Source: https://developers.project44.com/guides/shippers/visibility/air/get-air-updates Example GET request to retrieve tracking information for a specific shipment ID. ```http GET /api/v4/shipments/93294f58-f87a-48e0-9f68-7d3f6e0aaa2f/tracking ``` -------------------------------- ### Get Capacity Provider Accounts Source: https://developers.project44.com/api-reference/api-docs/analytics%3A-port-intelligence Retrieves a list of capacity provider accounts. No specific setup or constraints mentioned. ```HTTP GET /api/v4/capacityprovideraccounts ``` -------------------------------- ### Create Client Application Source: https://developers.project44.com/api-reference/api-docs/oauth-2.0%3A-client-applications/deleteapplication Creates a new client application with a specified name. The client ID and secret are generated by Project44. ```APIDOC ## POST /api/v4/oauth2/client-applications ### Description Creates a new client application. ### Method POST ### Endpoint /api/v4/oauth2/client-applications ### Parameters #### Request Body - **name** (string) - Required - Your name for the client application. ### Request Example { "name": "My Client Application" } ### Response #### Success Response (201) - **id** (string) - read-only - The id of the client application. - **name** (string) - Your name for the client application. - **secret** (string) - read-only - The secret part of the client application's credentials. #### Response Example { "id": "generated_client_id", "name": "My Client Application", "secret": "generated_client_secret" } ``` -------------------------------- ### Get Stop Location by ID Source: https://developers.project44.com/api-reference/api-docs/analytics%3A-port-intelligence Retrieves a specific stop location using its unique identifier. No specific setup or constraints mentioned. ```HTTP GET /api/v4/stoplocations/{id} ``` -------------------------------- ### Get Capacity Provider Account Groups Source: https://developers.project44.com/api-reference/api-docs/analytics%3A-port-intelligence Retrieves a list of capacity provider account groups. No specific setup or constraints mentioned. ```HTTP GET /api/v4/capacityprovideraccountgroups ``` -------------------------------- ### Get All Contact Locations Response Source: https://developers.project44.com/api-reference/api-docs/capacity-provider-contact-management/createcontact Example JSON response for retrieving contact locations. The response contains an array of location objects, each with a unique ID. ```json { "locations": [ { … } ] } ``` -------------------------------- ### Invitation System Response Source: https://developers.project44.com/guides/shippers/visibility/ftl/invite This is an example of the system's response after sending an invitation. It includes the invitee details, capability, status, and timestamps. ```json { "invitee": { "identifiers": [ { "type": "VAT", "value": "NL1234567890" } ], "organization": { "name": "Test Trucking LLC" }, "contacts": [ { "email": "my-contact@test-trucking-llc.com", "givenName": "John", "familyName": "Nash", "locale": "en-US", "phoneNumber": "+3112312313" } ] }, "capability": "TRUCKLOAD_ASSET_TRACKING", "status": "IN_PROGRESS", "createdDateTime": "2024-03-18T11:27:45.465Z", "lastModifiedDateTime": "2024-03-18T11:27:45.465Z", } ``` -------------------------------- ### Create Client Application Source: https://developers.project44.com/api-reference/api-docs/oauth-2.0%3A-client-applications/getapplications Creates a new client application. The response includes the client ID and secret, which are necessary for authentication. ```APIDOC ## POST /api/v4/oauth2/client-applications ### Description Creates a new client application. The response includes the client ID and secret, which are necessary for authentication. ### Method POST ### Endpoint /api/v4/oauth2/client-applications ### Parameters #### Request Body - **name** (string) - Required - Your name for the client application. ### Request Example { "name": "My Client Application" } ### Response #### Success Response (201) - **id** (string) - read-only - The id of the client application, generated and assigned by project44. In OAuth 2.0, this is referred to as the "client_id". - **name** (string) - Your name for the client application. - **secret** (string) - read-only - The secret part of the client application's credentials. In OAuth 2.0, this is referred to as the "client_secret". #### Response Example { "id": "generated_client_id", "name": "My Client Application", "secret": "generated_client_secret" } ``` -------------------------------- ### Get Capacity Provider Account by ID Source: https://developers.project44.com/api-reference/api-docs/analytics%3A-port-intelligence Retrieves a specific capacity provider account using its unique identifier. No specific setup or constraints mentioned. ```HTTP GET /api/v4/capacityprovideraccounts/{id} ``` -------------------------------- ### Get client applications via cURL Source: https://developers.project44.com/api-reference/api-docs/oauth-2.0%3A-client-applications/deleteapplication Retrieves a list of all client applications registered in the project44 account using HTTP Basic Authentication. ```curl curl -i -X GET \ -u : \ https://na12.api.project44.com/api/v4/oauth2/client-applications ``` -------------------------------- ### cURL Request to Get Document by ID Source: https://developers.project44.com/api-reference/api-docs/multi-modal%3A-document/delete_document_documents__documentid__delete Example cURL command to retrieve a specific document using its ID. Ensure you replace '' with your actual authorization token. ```curl curl -i -X GET \ 'https://na12.api.project44.com/services/document/v1/documents/{documentId}' \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Capacity Provider Contact Management API Source: https://developers.project44.com/api-reference/api-docs/asset-tracking/enrollasset 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. ```APIDOC ## GET /api/v4/contacts ### Description 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. ### Method GET ### Endpoint /api/v4/contacts ## POST /api/v4/contacts ### Description 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. ### Method POST ### Endpoint /api/v4/contacts ## GET /api/v4/contacts/{id} ### Description 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. ### Method GET ### Endpoint /api/v4/contacts/{id} ## PUT /api/v4/contacts/{id} ### Description 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. ### Method PUT ### Endpoint /api/v4/contacts/{id} ``` -------------------------------- ### Example Booking Request Structure Source: https://developers.project44.com/guides/carriers/initiate/ocean-booking/respond-booking This JSON structure represents a typical booking request. It includes details about the shipment, accessorials, and location. ```json { "shipment": { "contacts": [ { "phoneNumber": "string", "mobilePhoneNumber": "string", "email": "user@example.com" } ], "accessorials": [ { "code": "REFRIGERATED", "details": { "min": 0, "max": 0, "unit": "CELSIUS" } } ], "location": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "identifiers": [ { "type": "AIRPORT_IATA", "value": "string" } ], "address": { "addressLines": [ "string" ], "postalCode": "string", "city": "string", "state": "string", "country": "US" }, "geoCoordinates": { "latitude": -90, "longitude": -180 } } }, "carrierResponseMethod": "EMAIL", "bookingSourceMethod": "API", "carrierRejectionNotes": "string", "transportationMode": "OCEAN", "masterShipmentId": "2e04ec4a-749a-4ef4-a452-b7dc8cca16aa", "carrierProvidedIdentifiers": [ { "type": "AIR_WAYBILL", "value": "string" } ] } ``` -------------------------------- ### Example JSON Response for Reason Codes Source: https://developers.project44.com/api-reference/api-docs/reason-codes/get_servicesappointmentsv1reasoncodes This is an example of a successful JSON response when retrieving reason codes for a site. It includes the status and a list of reason codes. ```json { "status": "SUCCESS", "reasonCodes": [ "CANCEL_WEATHER", "CANCEL_DRIVER_UNAVAILABLE", "CANCEL_EQUIPMENT_ISSUE", "RESCHEDULE_CUSTOMER_REQUEST", "RESCHEDULE_OPERATIONAL_DELAY" ] } ``` -------------------------------- ### GET /websites/developers_project44/position Source: https://developers.project44.com/guides/shippers/visibility/ocean/tracking-updates Get information about an Ocean shipment's position history. ```APIDOC ## GET /websites/developers_project44/position ### Description Retrieves the position history for an Ocean shipment. This endpoint requires the Master Shipment ID, which is typically obtained from the response of a shipment creation request. ### Method GET ### Endpoint `/websites/developers_project44/position` ### Requirements - Master Shipment ID (obtained from the `id` field in the `200 OK` response during shipment creation). ### Response #### Success Response (200) - **positionHistory** (array) - An array of position objects, each containing details about the shipment's location at a specific time. - **timestamp** (string) - The time at which the position was recorded (UTC). - **latitude** (number) - The latitude of the shipment's location. - **longitude** (number) - The longitude of the shipment's location. - **event** (object) - Details about the event associated with this position, if any. - **type** (string) - The type of event. - **description** (string) - A description of the event. #### Response Example ```json { "positionHistory": [ { "timestamp": "2023-10-26T14:30:00Z", "latitude": 52.1000, "longitude": 4.5000, "event": { "type": "DEPARTURE", "description": "Vessel departed from port" } } ] } ``` ``` -------------------------------- ### Start Truckload Tracking Job Source: https://developers.project44.com/api-reference/api-docs/tl%3A-tracking/gettruckloadshipment Use this POST call to start a tracking job, initializing Truckload Tracking. Note that 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. ```APIDOC ## POST /websites/developers_project44 ### Description Initializes Truckload Tracking by starting a tracking job. ### Method POST ### Endpoint /websites/developers_project44 ### Request Body This endpoint accepts a request body to define the tracking job. The specific fields are not detailed in the provided text, but it is implied that information such as shipment details (address or GeoCoordinates) would be included. ### Response #### Success Response (200) - **street_address** (string) - The street address of the shipment, if available. Note: If the shipment is initialized using GeoCoordinates, a street address may not be returned. #### Response Example { "street_address": "123 Main St, Anytown, USA" } ```