---
title: "Start tracking an LTL shipment"
method: POST
path: "/api/v4/ltl/trackedshipments"
tags: ["LTL: Tracking"]
---

# Start tracking an LTL shipment

`POST /api/v4/ltl/trackedshipments`

## Request

- Base URL: `https://na12.api.project44.com`
- URL: `https://na12.api.project44.com/api/v4/ltl/trackedshipments`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/api/v4/oauth2/token`
- TypeScript: <https://skmtc.dev/project44/apis/project44-rest-api/docs/api/v4/ltl/trackedshipments/post.ts> (a function with typed inputs; its response is checked against the schema)

Use this POST call to start a tracking job, initializing LTL tracking. The tracking job will run for a given duration (designated with the startDateTime and endDateTime parameters), gathering updates from the carrier and reference numbers detailed in the API call. Once a tracking update has been pulled from the carrier into the project44 tracking job, you can access the information via the GET requests below this endpoint. Note that if your dispatch was done through project44, you do not need to initialize tracking. project44 will implicitly start tracking based on the data provided in the dispatch.

<h4><b>Required Fields</h4></b>
<ul><li><b>  capacityProviderAccountGroup: </b></li><ul><li><b>  accounts: </b></li><ul><li> code </li></ul></ul><li><b>  shipmentIdentifiers: </b></li><ul><li> type </li><li> value </li><li> primaryForType (if more than one shipment identifier of the same type) </li></ul><li><b>  shipmentStops: </b> (two stops of types ORIGIN and DESTINATION) </li><ul><li> stopType </li><li><b>  location: </b></li><ul><li><b>  address: </b></li><ul><li> postalCode </li><li> addressLines </li><li> city </li><li> state </li></ul><li><b>  contact: </b></li><ul><li> companyName </li></ul></ul><li><b>  appointmentWindow: </b></li><ul><li> startDateTime </li><li> endDateTime </li></ul></ul></ul><b>NOTE:</b> The appointmentWindow object in shipmentStops does not support a localTimeZoneIdentifier due to an automated project44 process that detects time zone based on the stop's location. Please make sure to provide startDateTime and endDateTime in local time.

## Request body

- LtlTrackedShipment
  - `apiConfiguration` LtlTrackedShipmentApiConfiguration
    - `fallBackToDefaultAccountGroup` boolean: If set to "TRUE" and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When false", an error will be returned if the provided capacity provider account group code is invalid. (default: "false")
  - `capacityProviderAccountGroup` CapacityProviderAccountGroup: The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
    - `accounts` CapacityProviderAccount[]: Capacity provider accounts used for authentication with the capacity providers' APIs. For quoting, defaults to all accounts within the account group. For shipment, shipment status, and image, one and only one account is required.
      - `code` string: The code for the requested capacity provider account that was used for authentication with the capacity provider's API.
    - `code` string: The code for the capacity provider account group that contains all accounts against which an operation is to be performed. Capacity provider account groups are set up through the project44 Self-Service Portal. If no key is specified, the 'Default' account group will be used.
  - `id` integer: The project44-generated id of the LTL shipment. This may be provided when creating a tracked shipment only if a tracked shipment does not exist with this id but a shipment record does exist in project44's system with this id. This enables linking a dispatched shipment that initially failed to track to its tracking information by passing the id from dispatch. This id will always be returned in the shipment confirmation and may be used in subsequent API calls to reference a shipment.
  - `ltlLegId` string, uuid: The project44-generated id that is the UUID equivalent of id. The same rules apply to this value as applies to the id.
  - `masterShipmentId` string, uuid: The project44-generated id that connects multi-leg shipments agnostic of mode.
  - `shipmentAttributes` Attribute[]: The list of attributes to associate with the shipment.
    - `name` string: The name for an attribute. Must be unique.
    - `values` string[]: The values for an attribute.
  - `shipmentIdentifiers` LtlShipmentIdentifier[]: A user-defined list of shipment identifiers that, with the exception of the EXTERNAL type, can be used to track the shipment with the capacity provider.
    - `primaryForType` boolean: Only used in LTL tracking. Whether this is the primary shipment identifier for this type for the given shipment. The primary shipment identifier for a type will always be attempted before other identifiers of that type with the capacity provider.
    - `source` 'CUSTOMER' | 'CAPACITY_PROVIDER': Only used in LTL tracking. Whether this shipment identifier originated from the customer or the capacity provider. If the customer has provided this identifier at any point during the shipment's lifetime, this source will be 'CUSTOMER'. Otherwise, the source will be 'CAPACITY_PROVIDER'. This field is useful for ensuring uniqueness across your shipment identifiers -- you can't control whether duplicates exist among the capacity-provider-sourced identifiers, but you can ensure on your end that all of your provided identifiers are unique and query for unique shipments accordingly.
    - `type` 'PRO' | 'BILL_OF_LADING' | 'CUSTOMER_REFERENCE' | 'PICKUP' | 'PURCHASE_ORDER' | 'EXTERNAL': The type of the shipment identifier.
    - `value` string: The value of the shipment identifier.
  - `shipmentStops` LtlTrackedShipmentStop[]: A list of the shipment stops for the shipment. Two and only two stops must be provided -- one of type 'ORIGIN' and one of type 'DESTINATION'. Stops of type 'TERMINAL' may be added as the shipment is tracked and they are discovered via capacity provider information. Note that 'TERMINAL' will be ignored if provided as part of a PUT.
    - `additionalAppointmentWindows` LtlAdditionalAppointmentWindow[]: Optional user-defined field in which one or many additional appointment windows can be provided on the stop. Note that the start and end times are required for 'appointmentWindow'; the default start time does not apply to this field. On responses, the time zone identifier (for example, 'America/Chicago') for this date time window is determined by project44 when possible based on the stop's address.
      - `appointmentStatus` 'PENDING' | 'REJECTED' | 'BOOKED' | 'CANCELLED' | 'COMPLETED' | 'PENDING_CARRIER' | 'PENDING_INTERNAL' | 'NONE_AVAILABLE': 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.
      - `appointmentWindow` ZonedDateTimeWindow: A date and time range, including a time zone, representing a window of availability.
        - `endDateTime` string, date-time: End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss)
        - `localTimeZoneIdentifier` string: The time zone identifier (e.g., 'America/Chicago') for this date time window.
        - `startDateTime` string, date-time: Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss)
      - `identifiers` AdditionalAppointmentWindowIdentifier[]: A list of identifiers of the additional appointment windows to a shipment.
        - `type` 'DOCK' | 'BOOKING_ID': The type of additional appointment window identifier.
        - `value` string: The value of additional appointment window identifier.
      - `type` 'STRATEGIC' | 'SLOT_BOOKING_PICKUP' | 'SLOT_BOOKING_DELIVERY' | 'SLOT_BOOKING_PICKUP_DELIVERY': The type of appointment window.
    - `appointmentWindow` ZonedDateTimeWindow: A date and time range, including a time zone, representing a window of availability.
      - `endDateTime` string, date-time: End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss)
      - `localTimeZoneIdentifier` string: The time zone identifier (e.g., 'America/Chicago') for this date time window.
      - `startDateTime` string, date-time: Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss)
    - `geoCoordinates` GeoCoordinates
      - `latitude` number, float: The approximate geographic latitude of a location, using the WGS84 coordinate system.
      - `longitude` number, float: The approximate geographic longitude of a location, using the WGS84 coordinate system.
    - `id` integer: The id of the stop. This value is read only; it will be ignored on create and update.
    - `involvedParties` Party[]: A list of parties and their identifiers related to the shipment stop. These are your customers receiving freight at this stop or your suppliers providing freight from this stop.
      - `addressInfo` PartyAddress: A postal address.
        - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
        - `addressLabel` string: The project44-generated label for the address persisted in location-service.
        - `city` string: Name of city, town, etc.
        - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
        - `id` string, uuid: The project44-generated identifier for the address persisted in location-service.
        - `postalCode` string: The ZIP or postal code.
        - `state` string: Abbreviation of state, province, district, etc.
      - `contactInfo` BookingContact
        - `companyName` string: Name of the Company with whom the Contact is associated.
        - `email` string, email: The Contact's email address.
        - `familyName` string: The Contact's last or family name.
        - `givenName` string: The Contact's first or given name.
        - `mobilePhoneNumber` string: The Contact's mobile phone number.
        - `phoneNumber` string: The Contact's work or other primary phone number.
      - `identifyingCodes` IdentifyingCodes
        - `codeListProvider` 'WAVE' | 'CARX' | 'ESSD' | 'IDT' | 'BOLE' | 'EDOX' | 'IQAX' | 'SECR' | 'TRGO' | 'ETEU' | 'TRAC' | 'BRIT' | 'GSBN' | 'WISE' | 'GLEIF' | 'W3C' | 'DNB' | 'FMC' | 'DCSA' | 'ZZZ': An enumeration.
        - `codeListName` 'DID' | 'LEI' | 'DUNS': An enumeration.
        - `partyCode` string: Code to identify the party as provided by the code list provider
      - `locationIdentifiers` RatingLocationIdentifier[]: Identifiers for the location of the party.
        - `type` 'UNKNOWN' | 'AIRPORT_IATA' | 'AIRPORT_ICAO' | 'PORT_UN_LOCODE' | 'RAIL_SPLC' | 'DATA_PROVIDER_LOCATION_CODE' | 'LOCODE': An enumeration.
        - `value` string
      - `partyType` 'SHIPPER' | 'CONSIGNEE' | 'BILL_TO' | 'NOTIFY_PARTY' | 'BOOKING_AGENT' | 'CARRIER_BOOKING_OFFICE': An enumeration.
      - `vatNumber` string: Optional, VAT number of the listed party, if applicable.
    - `location` Location: A physical location.
      - `address` Address: A postal address.
        - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
        - `city` string: Name of city, town, etc.
        - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
        - `postalCode` string: The ZIP or postal code.
        - `state` string: Abbreviation of state, province, district, etc.
      - `contact` Contact: Contact information.
        - `companyName` string: Company name.
        - `contactName` string: Contact name. May be required for shipments.
        - `email` string: Email address. May be required for shipments.
        - `faxNumber` string: Fax number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
        - `faxNumberCountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
        - `phoneNumber` string: Phone number. May be required for shipments. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
        - `phoneNumber2` string: Alternate phone number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
        - `phoneNumber2CountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
        - `phoneNumberCountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
    - `locationIdentifiers` LocationIdentifier[]: The identifiers associated with the user-defined stop location, to be used with the Stop Location API.
      - `type` 'EXTERNAL' | 'SYSTEM': The type of the location identifier. Must be either SYSTEM (Project44-supplied) or EXTERNAL (customer-supplied).
      - `value` string: The value of the location identifier.
    - `stopDescription` string: Description related to the stop.
    - `stopName` string: The user-defined or capacity provider-defined name of this stop. This is a freeform field. Project44 will default the name of each stop based on the stop number and type if no other name is available.
    - `stopNumber` integer: The stop number, where "1'" is the origin, and the destination has the largest number, with any stops in between ordered by appointment time. This field may not be provided when creating a shipment. The destination stop number will change dynamically as terminals are discovered along the shipment's route from origin to destination. Thus, the stop type is most useful for easily and reliably identifying the origin and destination.
    - `stopType` 'ORIGIN' | 'DESTINATION' | 'TERMINAL': The type of this stop. The user-defined stops will always have the type of 'ORIGIN' and 'DESTINATION', which are customer locations. Stops of the type 'TERMINAL', which are capacity provider redistribution centers, may be inserted dynamically as they are returned by the capacity provider. Note that 'TERMINAL' will be ignored if provided as part of a PUT.
    - `uuid` string, uuid: UUID that uniquely identifies a stop. This value is generated by project44 on a successful PUT or POST.

## Response `201`

Created

- LtlTrackedShipmentConfirmation
  - `infoMessages` Message[]: System messages and messages from the capacity provider with severity "INFO" or "WARNING". No messages with severity "ERROR" will be returned here.
    - `diagnostic` string: Diagnostic information, often originating from the capacity provider.
    - `message` string: Message informational text.
    - `severity` 'ERROR' | 'WARNING' | 'INFO': The severity of this message.
    - `source` 'SYSTEM' | 'CAPACITY_PROVIDER': The originator of this message -- either project44 (the system) or the capacity provider.
  - `shipment` LtlTrackedShipment
    - `apiConfiguration` LtlTrackedShipmentApiConfiguration
      - `fallBackToDefaultAccountGroup` boolean: If set to "TRUE" and the provided capacity provider account group code is invalid, the default capacity provider account group will be used. When false", an error will be returned if the provided capacity provider account group code is invalid. (default: "false")
    - `capacityProviderAccountGroup` CapacityProviderAccountGroup: The requested capacity provider account group containing the account used for authentication with the capacity provider's API.
      - `accounts` CapacityProviderAccount[]: Capacity provider accounts used for authentication with the capacity providers' APIs. For quoting, defaults to all accounts within the account group. For shipment, shipment status, and image, one and only one account is required.
        - `code` string: The code for the requested capacity provider account that was used for authentication with the capacity provider's API.
      - `code` string: The code for the capacity provider account group that contains all accounts against which an operation is to be performed. Capacity provider account groups are set up through the project44 Self-Service Portal. If no key is specified, the 'Default' account group will be used.
    - `id` integer: The project44-generated id of the LTL shipment. This may be provided when creating a tracked shipment only if a tracked shipment does not exist with this id but a shipment record does exist in project44's system with this id. This enables linking a dispatched shipment that initially failed to track to its tracking information by passing the id from dispatch. This id will always be returned in the shipment confirmation and may be used in subsequent API calls to reference a shipment.
    - `ltlLegId` string, uuid: The project44-generated id that is the UUID equivalent of id. The same rules apply to this value as applies to the id.
    - `masterShipmentId` string, uuid: The project44-generated id that connects multi-leg shipments agnostic of mode.
    - `shipmentAttributes` Attribute[]: The list of attributes to associate with the shipment.
      - `name` string: The name for an attribute. Must be unique.
      - `values` string[]: The values for an attribute.
    - `shipmentIdentifiers` LtlShipmentIdentifier[]: A user-defined list of shipment identifiers that, with the exception of the EXTERNAL type, can be used to track the shipment with the capacity provider.
      - `primaryForType` boolean: Only used in LTL tracking. Whether this is the primary shipment identifier for this type for the given shipment. The primary shipment identifier for a type will always be attempted before other identifiers of that type with the capacity provider.
      - `source` 'CUSTOMER' | 'CAPACITY_PROVIDER': Only used in LTL tracking. Whether this shipment identifier originated from the customer or the capacity provider. If the customer has provided this identifier at any point during the shipment's lifetime, this source will be 'CUSTOMER'. Otherwise, the source will be 'CAPACITY_PROVIDER'. This field is useful for ensuring uniqueness across your shipment identifiers -- you can't control whether duplicates exist among the capacity-provider-sourced identifiers, but you can ensure on your end that all of your provided identifiers are unique and query for unique shipments accordingly.
      - `type` 'PRO' | 'BILL_OF_LADING' | 'CUSTOMER_REFERENCE' | 'PICKUP' | 'PURCHASE_ORDER' | 'EXTERNAL': The type of the shipment identifier.
      - `value` string: The value of the shipment identifier.
    - `shipmentStops` LtlTrackedShipmentStop[]: A list of the shipment stops for the shipment. Two and only two stops must be provided -- one of type 'ORIGIN' and one of type 'DESTINATION'. Stops of type 'TERMINAL' may be added as the shipment is tracked and they are discovered via capacity provider information. Note that 'TERMINAL' will be ignored if provided as part of a PUT.
      - `additionalAppointmentWindows` LtlAdditionalAppointmentWindow[]: Optional user-defined field in which one or many additional appointment windows can be provided on the stop. Note that the start and end times are required for 'appointmentWindow'; the default start time does not apply to this field. On responses, the time zone identifier (for example, 'America/Chicago') for this date time window is determined by project44 when possible based on the stop's address.
        - `appointmentStatus` 'PENDING' | 'REJECTED' | 'BOOKED' | 'CANCELLED' | 'COMPLETED' | 'PENDING_CARRIER' | 'PENDING_INTERNAL' | 'NONE_AVAILABLE': 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.
        - `appointmentWindow` ZonedDateTimeWindow: A date and time range, including a time zone, representing a window of availability.
          - `endDateTime` string, date-time: End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss)
          - `localTimeZoneIdentifier` string: The time zone identifier (e.g., 'America/Chicago') for this date time window.
          - `startDateTime` string, date-time: Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss)
        - `identifiers` AdditionalAppointmentWindowIdentifier[]: A list of identifiers of the additional appointment windows to a shipment.
          - `type` 'DOCK' | 'BOOKING_ID': The type of additional appointment window identifier.
          - `value` string: The value of additional appointment window identifier.
        - `type` 'STRATEGIC' | 'SLOT_BOOKING_PICKUP' | 'SLOT_BOOKING_DELIVERY' | 'SLOT_BOOKING_PICKUP_DELIVERY': The type of appointment window.
      - `appointmentWindow` ZonedDateTimeWindow: A date and time range, including a time zone, representing a window of availability.
        - `endDateTime` string, date-time: End date and time of this window in the applicable time zone. (format: yyyy-MM-dd'T'HH:mm:ss)
        - `localTimeZoneIdentifier` string: The time zone identifier (e.g., 'America/Chicago') for this date time window.
        - `startDateTime` string, date-time: Start date and time of this window in the applicable time zone.(default: current date, format: yyyy-MM-dd'T'HH:mm:ss)
      - `geoCoordinates` GeoCoordinates
        - `latitude` number, float: The approximate geographic latitude of a location, using the WGS84 coordinate system.
        - `longitude` number, float: The approximate geographic longitude of a location, using the WGS84 coordinate system.
      - `id` integer: The id of the stop. This value is read only; it will be ignored on create and update.
      - `involvedParties` Party[]: A list of parties and their identifiers related to the shipment stop. These are your customers receiving freight at this stop or your suppliers providing freight from this stop.
        - `addressInfo` PartyAddress: A postal address.
          - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
          - `addressLabel` string: The project44-generated label for the address persisted in location-service.
          - `city` string: Name of city, town, etc.
          - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
          - `id` string, uuid: The project44-generated identifier for the address persisted in location-service.
          - `postalCode` string: The ZIP or postal code.
          - `state` string: Abbreviation of state, province, district, etc.
        - `contactInfo` BookingContact
          - `companyName` string: Name of the Company with whom the Contact is associated.
          - `email` string, email: The Contact's email address.
          - `familyName` string: The Contact's last or family name.
          - `givenName` string: The Contact's first or given name.
          - `mobilePhoneNumber` string: The Contact's mobile phone number.
          - `phoneNumber` string: The Contact's work or other primary phone number.
        - `identifyingCodes` IdentifyingCodes
          - `codeListProvider` 'WAVE' | 'CARX' | 'ESSD' | 'IDT' | 'BOLE' | 'EDOX' | 'IQAX' | 'SECR' | 'TRGO' | 'ETEU' | 'TRAC' | 'BRIT' | 'GSBN' | 'WISE' | 'GLEIF' | 'W3C' | 'DNB' | 'FMC' | 'DCSA' | 'ZZZ': An enumeration.
          - `codeListName` 'DID' | 'LEI' | 'DUNS': An enumeration.
          - `partyCode` string: Code to identify the party as provided by the code list provider
        - `locationIdentifiers` RatingLocationIdentifier[]: Identifiers for the location of the party.
          - `type` 'UNKNOWN' | 'AIRPORT_IATA' | 'AIRPORT_ICAO' | 'PORT_UN_LOCODE' | 'RAIL_SPLC' | 'DATA_PROVIDER_LOCATION_CODE' | 'LOCODE': An enumeration.
          - `value` string
        - `partyType` 'SHIPPER' | 'CONSIGNEE' | 'BILL_TO' | 'NOTIFY_PARTY' | 'BOOKING_AGENT' | 'CARRIER_BOOKING_OFFICE': An enumeration.
        - `vatNumber` string: Optional, VAT number of the listed party, if applicable.
      - `location` Location: A physical location.
        - `address` Address: A postal address.
          - `addressLines` string[]: Street name, number, direction, PO box, etc. Only three address lines are currently permitted.
          - `city` string: Name of city, town, etc.
          - `country` 'US' | 'CA' | 'MX' | 'AG' | 'BB' | 'BS' | 'BZ' | 'CR' | 'CU' | 'DM' | 'DO' | 'GD' | 'GT' | 'HN' | 'HT' | 'JM' | 'KN' | 'LC' | 'NI' | 'PA' | 'SV' | 'TT' | 'VC' | 'AI' | 'AW' | 'BL' | 'BM' | 'BQ' | 'CW' | 'GL' | 'GP' | 'KY' | 'MF' | 'MQ' | 'MS' | 'PM' | 'PR' | 'SX' | 'TC' | 'UM' | 'VG' | 'VI' | 'AT' | 'BE' | 'BG' | 'CY' | 'CZ' | 'DK' | 'DE' | 'EE' | 'ES' | 'FI' | 'FR' | 'GB' | 'GR' | 'HR' | 'HU' | 'IE' | 'IT' | 'LT' | 'LU' | 'LV' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SE' | 'SK' | 'SI' | 'CH' | 'IS' | 'LI' | 'NO' | 'AL' | 'ME' | 'MK' | 'RS' | 'TR' | 'AD' | 'AX' | 'BA' | 'BV' | 'BY' | 'FO' | 'GG' | 'GI' | 'IM' | 'IO' | 'JE' | 'MC' | 'MD' | 'SJ' | 'SM' | 'TF' | 'UA' | 'VA' | 'AE' | 'AF' | 'AM' | 'AZ' | 'BD' | 'BH' | 'BN' | 'BT' | 'CN' | 'GE' | 'HK' | 'ID' | 'IL' | 'IN' | 'IQ' | 'IR' | 'JO' | 'JP' | 'KG' | 'KH' | 'KP' | 'KR' | 'KW' | 'KZ' | 'LA' | 'LB' | 'LK' | 'MM' | 'MN' | 'MO' | 'MV' | 'MY' | 'NP' | 'OM' | 'PH' | 'PK' | 'PS' | 'QA' | 'RU' | 'SA' | 'SG' | 'SY' | 'TH' | 'TJ' | 'TL' | 'TM' | 'TW' | 'UZ' | 'VN' | 'YE' | 'AO' | 'BF' | 'BI' | 'BJ' | 'BW' | 'CD' | 'CF' | 'CG' | 'CI' | 'CM' | 'CV' | 'DJ' | 'DZ' | 'EG' | 'EH' | 'ER' | 'ET' | 'GA' | 'GH' | 'GM' | 'GN' | 'GQ' | 'GW' | 'HM' | 'KE' | 'KM' | 'LR' | 'LS' | 'LY' | 'MA' | 'MG' | 'ML' | 'MR' | 'MU' | 'MW' | 'MZ' | 'NA' | 'NE' | 'NG' | 'RE' | 'RW' | 'SC' | 'SD' | 'SH' | 'SL' | 'SN' | 'SO' | 'SS' | 'ST' | 'SZ' | 'TD' | 'TG' | 'TN' | 'TZ' | 'UG' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'AR' | 'BO' | 'BR' | 'CL' | 'CO' | 'EC' | 'FK' | 'GF' | 'GS' | 'GY' | 'PE' | 'PY' | 'SR' | 'UY' | 'VE' | 'AS' | 'AU' | 'CC' | 'CK' | 'CX' | 'FJ' | 'FM' | 'GU' | 'KI' | 'MH' | 'MP' | 'NC' | 'NF' | 'NR' | 'NU' | 'NZ' | 'PF' | 'PG' | 'PN' | 'PW' | 'SB' | 'TK' | 'TO' | 'TV' | 'VU' | 'WF' | 'WS' | 'AQ' | 'EL' | 'UK' | 'XK' | 'XS' | 'XI', enum: Abbreviation of country (using ISO 3166 standards). (default: 'US')
          - `postalCode` string: The ZIP or postal code.
          - `state` string: Abbreviation of state, province, district, etc.
        - `contact` Contact: Contact information.
          - `companyName` string: Company name.
          - `contactName` string: Contact name. May be required for shipments.
          - `email` string: Email address. May be required for shipments.
          - `faxNumber` string: Fax number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
          - `faxNumberCountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
          - `phoneNumber` string: Phone number. May be required for shipments. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
          - `phoneNumber2` string: Alternate phone number. E.164 or North American Number Plan (NANP) phone numbers are accepted. If a phone number is passed in without the associated country code field, the number will be treated as a number that adheres to the NANP standard. The number will be returned in responses in the NANP format: '[+123 ]123-456-7890[, ext. 123456]'. If the associated country code field is passed in as well, the number will be treated as a number that adheres to the E.164 international phone number standard. The number will be returned in a response in the E.164 format: '[+123 ]12345678910[, ext. 123456]'. In requests, only digits and an optional 'X' (or lowercase 'x') marking the start of an extension will be used. Any other characters included for formatting will be stripped -- project44 will provide the phone number to the capacity provider in the format they accept. There must be at least ten digits before the optional 'X' (for the area code, central office code, and station code for NANP numbers or simply the subscriber number for E.164 numbers). For NANP numbers, no more than thirteen, with the first digits exceeding ten being interpreted as the country code when the country code. The number of digits after the optional 'X' must be less than seven. Examples of acceptable NANP phone numbers: '123-456-7890 x 32', '(123)456-7890 ext 30', '1234567890', '11234567890', '+55-123-456-7890 ext. 312412', '123-456-7890, ext. 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]123-456-7890[, ext. 123456]'. Examples of acceptable E.164 phone numbers: '20-1234-5678 x 1234', '(20) 1234-5678x1234', '2012345678', '20 1234-5678 ext 1234'. In responses, phone numbers will be returned in the following format: '[+123 ]2012345678[, ext. 1234]'.
          - `phoneNumber2CountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
          - `phoneNumberCountryCode` string: The country code associated with the phone number. If this is blank, the phone number will be treated as a number that adheres to the North American Number Plan (NANP) format. Acceptable country codes formats: '+123' or '123'.
      - `locationIdentifiers` LocationIdentifier[]: The identifiers associated with the user-defined stop location, to be used with the Stop Location API.
        - `type` 'EXTERNAL' | 'SYSTEM': The type of the location identifier. Must be either SYSTEM (Project44-supplied) or EXTERNAL (customer-supplied).
        - `value` string: The value of the location identifier.
      - `stopDescription` string: Description related to the stop.
      - `stopName` string: The user-defined or capacity provider-defined name of this stop. This is a freeform field. Project44 will default the name of each stop based on the stop number and type if no other name is available.
      - `stopNumber` integer: The stop number, where "1'" is the origin, and the destination has the largest number, with any stops in between ordered by appointment time. This field may not be provided when creating a shipment. The destination stop number will change dynamically as terminals are discovered along the shipment's route from origin to destination. Thus, the stop type is most useful for easily and reliably identifying the origin and destination.
      - `stopType` 'ORIGIN' | 'DESTINATION' | 'TERMINAL': The type of this stop. The user-defined stops will always have the type of 'ORIGIN' and 'DESTINATION', which are customer locations. Stops of the type 'TERMINAL', which are capacity provider redistribution centers, may be inserted dynamically as they are returned by the capacity provider. Note that 'TERMINAL' will be ignored if provided as part of a PUT.
      - `uuid` string, uuid: UUID that uniquely identifies a stop. This value is generated by project44 on a successful PUT or POST.

## Other responses

- `400`: Invalid request
- `401`: Invalid or missing credentials
- `403`: User not authorized to perform this operation

---

[API](https://skmtc.dev/project44/apis/project44-rest-api.md) - [All operations](https://skmtc.dev/project44/apis/project44-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/project44/apis/project44-rest-api/revisions/cdf9675e2294?raw)
