# LTL Create Shipment

The LTL Create Shipment API is used to create shipments and generate shipment labels. 
Key Considerations
- For freight carriers (Fedex Freight & Purolator Freight) label type SHIPPING_LABEL is required and label type BOL is optional.
- For freight carriers (FedEx Freight and Purolator Freight), a Bill of Lading (BOL) cannot be passed independently and is only supported when a SHIPPING_LABEL is also provided
- If BOL is provided with freight carriers, it must be provided along with SHIPPING_LABEL in the same labels array.
- For custom carriers, the label type BOL can be generated individually.

Endpoint: POST /api/v1/ltl/shipments
Version: 1.0.0
Security: bearerAuth

## Header parameters:

  - `X-PB-Developer-Partner-Id` (string)
    The Developer Partner ID is assigned by PB to uniquely identify a Developer's strategic business partners. If the developer is the sole business partner, this field isn't required.

  - `X-PB-LocationId` (string)
    "This is the Location ID assigned as per the Developer's and Partner's parsed locations, to which all transactions will be billed.
 Partner's location will be used for billing if it is configured, however, in case Partner's location is not given, then the Developer's location will be taken.
Developer's location will be the default value.  Additionally, Developers and Partners can use carriers belong to this location only."

  - `X-PB-TransactionId` (string)
    A unique Transaction ID provided by the partner, which is used to enable debugging and linking between the client's transaction and the system.

## Request fields (application/json):

  - `body` (LTLCreateDomesticShipment (object) or LTLCreateInternationalShipment (object), required) — one of:
    - LTLCreateDomesticShipment:
      - `documents` (array)
        Optional label output configuration. Use this to request specific document types .
        Example: [{"contentType":"URL","labelFormat":"PDF","labelSize":"DOC_8X11","labelType":"SHIPPING_LABEL"},{"contentType":"URL","labelFormat":"PDF","labelSize":"DOC_8X11","labelType":"BOL"}]
      - `documents.contentType` (string, required)
        How the document is returned. URL is supported for PDFand BASE64 is supported for ZPL2.
        Enum: "URL", "BASE64"
      - `documents.labelFormat` (string, required)
        Output file format. As of now, only shipment labels can be generated in ZPL2 format. For all other document types, only PDF is supported.
        Enum: "PDF", "ZPL2"
      - `documents.labelSize` (string, required)
        Document size. As of now, ZPL2 supports only 4X6 shipping label size.
        Example: "DOC_8X11"
      - `documents.labelType` (string, required)
        Document type to generate.
        Enum: "SHIPPING_LABEL", "BOL"
      - `toAddress` (object, required)
        The complete address of the Recipient or Department (in case if the address is not pointed to any individual recipient).
      - `toAddress.name` (string, required)
        The name of the Recipient.
        Example: "Recipient Name"
      - `toAddress.addressLine1` (string, required)
        The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Recipient.  Max length = 35.
        Example: "350 Fifth Avenue"
      - `toAddress.addressLine2` (string)
        The addressLine2 contains Street address or Landmark (if any).
        Example: "near abc street"
      - `toAddress.addressLine3` (string)
        The addressLine3 contains P.O. Box (if any) near the address.
        Example: "near xyz street"
      - `toAddress.cityTown` (string, required)
        The name of the city or town the Recipient belongs to.  Max length = 30.
        Example: "New York"
      - `toAddress.stateProvince` (string, required)
        "The name of the State or Province the Sender belongs to. It is the 2-letter State or Province Code for US or Canadian address(es).
 Below is the hyperlink for CA country that will navigate to its Province/State Codes page. Similarly, respective country users can check for their country- State/Province codes.
 Please switch to the Search tab, select Country codes radio button, enter the required country name or country code, and then click SEARCH button .  Max length = 2"
        Example: "NY"
      - `toAddress.postalCode` (string, required)
        "The Postal Code or ZIP Code of the address. For CA addresses, use a six-character alphanumeric string Postal Code in this format: 'A1A 1A1'. While for US addresses, use either the 5-digit or 9-digit ZIP Code in one of the following formats: '12345' or '12345-6789'. Max length = 30"
        Example: "10118"
      - `toAddress.countryCode` (string, required)
        "The country in which the recipient's address is located. The value will be the two-character ISO Code of the country from the ISO country list.  Use ISO 3166-1 Alpha-2 standard values. For best results this should be included, especially if the country name does not appear in any of the unparsedAddressLines.
 Below is the hyperlink, please select Country codes and then click SEARCH button.  Max length = 10"
        Example: "US"
      - `toAddress.company` (string)
        The name of the company, in case if the recipient address is not residential. Recipient company is required for RMG b2b shipment.
        Example: "PB"
      - `toAddress.phone` (string, required)
        This is Recipient's phone number. Enter the digits with or without spaces or hyphens.  Max length = 15.
        Example: "2127363100"
      - `toAddress.email` (string)
        This must be recipient's valid email. Email is required if the customer is using GoFor Carrier.  Max length = 50
        Example: "recipient@gmail.com"
      - `toAddress.residential` (boolean)
        The specified address can be Residential or Official. In case if the address is Residential, the boolean value will be 'true', else it will take 'false'.
        Example: true
      - `toAddress.isPOBox` (boolean)
        Checks if the specified address has the PO Box. In case if Yes, the boolean value will be 'true', else it will take 'false'.
        Example: true
      - `fromAddress` (object, required)
        The complete address of the Sender.
      - `fromAddress.name` (string, required)
        The name of the Sender to which this address points.
        Example: "Sender Name"
      - `fromAddress.addressLine1` (string, required)
        The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Sender.  Max length = 35.
        Example: "1600 Amphitheatre Parkway"
      - `fromAddress.addressLine2` (string)
        The addressLine2 contains Street address or Landmark (if any).
        Example: "near abc street"
      - `fromAddress.addressLine3` (string)
        The addressLine3 contains P.O. Box (if any) near the address.
        Example: "near xyz street"
      - `fromAddress.company` (string)
        The name of the company, in case if the senders address is not residential.
        Example: "PB"
      - `fromAddress.email` (string)
        This must be senders's valid email. Email is required if the customer is using GoFor Carrier. Sender email is required for RMG b2b shipment.  Max length = 50
        Example: "testuser@gmail.com"
      - `fromAddress.phone` (string, required)
        This is sender's phone number. Enter the digits with or without spaces or hyphens. The maximum limit of characters for Phone number are 10 digits.
        Example: "6502530000"
      - `fromAddress.cityTown` (string, required)
        The name of the city or town the Sender's address belongs to.  Max length = 30.
        Example: "Mountain View"
      - `fromAddress.stateProvince` (string, required)
        "The name of the State or Province the Sender belongs to. It is the 2-letter State or Province Code for US or Canadian address(es).
 Below is the hyperlink for CA country that will navigate to its Province/State Codes page. Similarly, respective country users can check for their country- State/Province codes.
 Please switch to the Search tab, select Country codes radio button, enter the required country name or country code, and then click SEARCH button.  Max length = 2"
        Example: "CA"
      - `fromAddress.postalCode` (string, required)
        The Postal Code or ZIP Code of the address.  For CA addresses, use a six-character alphanumeric string Postal Code in this format: 'A1A 1A1'.  While for US addresses, use either the 5-digit or 9-digit ZIP Code in one of the following formats: '12345' or '12345-6789'.  Max length = 10
        Example: "94043"
      - `fromAddress.inductionPostalCode` (string)
        The postal code where the shipment is tendered to the carrier. If an induction postal code is specified in the "fromAddress", it will be used for rate calculations and determining manifest eligibility instead of the standard postal code. If not specified, the postal code from the "fromAddress" will be used.
        Example: "06905"
      - `fromAddress.countryCode` (string, required)
        "The country in which the sender's address is located. The value will be the two-character ISO Code of the country from the ISO country list.  Use ISO 3166-1 Alpha-2 standard values. For best results this should be included, especially if the country name does not appear in any of the unparsedAddressLines.
 Below is the hyperlink, please select Country codes and then click SEARCH button.  Max length = 2"
        Example: "US"
      - `fromAddress.residential` (boolean)
        The specified address can be Residential or Official. In case if the address is Residential, the boolean value will be 'true', else it will take 'false'.
        Example: true
      - `parcels` (array, required)
        Parcel details specific to LTL (Less-Than-Truckload) shipments.
      - `parcels.parcelType` (string, required)
        Parcel type for the LTL handling unit.
Examples include CARTON, PALLET, CRATE, etc.
        Example: "CARTON"
      - `parcels.parcel` (object, required)
        Parcel details, including dimensions and weight.
      - `parcels.parcel.length` (number, required)
        Length of the parcel. This is the greatest dimension.
        Example: 100
      - `parcels.parcel.width` (number, required)
        Width of the parcel. Conventionally the second largest dimension.
        Example: 10
      - `parcels.parcel.height` (number, required)
        Height of the parcel. Conventionally the smallest dimension.
        Example: 10
      - `parcels.parcel.dimUnit` (string, required)
        Unit of measurement for dimensions.
        Enum: "IN", "CM"
      - `parcels.parcel.weightUnit` (string, required)
        Unit of measurement for weight.
        Enum: "OZ", "GM"
      - `parcels.parcel.weight` (number, required)
        Weight of the parcel.
        Example: 1600
      - `parcels.parcel.packageValue` (number)
        Declared value of the parcel.
        Example: 2
      - `parcels.freightClass` (string, required)
        Freight class assigned to the LTL package.
        Enum: "Class 50", "Class 55", "Class 60", "Class 65", "Class 70", "Class 77.5", "Class 85", "Class 92.5", "Class 100", "Class 110", "Class 125", "Class 150", "Class 175", "Class 200", "Class 250", "Class 300", "Class 400", "Class 500"
      - `parcels.items` (array)
        List of items contained in the LTL handling unit. Provides item-level details such as description, quantity, unit price, weight, and origin, used for customs, invoicing, and freight documentation.
      - `parcels.items.itemId` (string)
        Unique identifier of the item within the parcel.
        Example: "1"
      - `parcels.items.orderNumber` (string)
        Order number associated with the item.
        Example: "ORD-12345"
      - `parcels.items.description` (string)
        Description of the item.
        Example: "Package 2 Documents"
      - `parcels.items.hSTariffCode` (string)
        Harmonized System (HS) tariff code used to classify the item for customs and duties.
        Example: "AST559"
      - `parcels.items.originCountryCode` (string)
        ISO country code representing the country of origin where the item was manufactured.
        Example: "CA"
      - `parcels.items.originStateProvince` (string)
        State or province code representing the state/province of origin where the item was manufactured.
        Example: "MB"
      - `parcels.items.quantity` (integer)
        Quantity of this item in the handling unit.
        Example: 1
      - `parcels.items.unitPrice` (number)
        Unit price of the item.
        Example: 101
      - `parcels.items.weightUnit` (string)
        Unit of measurement for the item weight.
        Enum: "OZ", "LB", "GM", "KG"
      - `parcels.items.weight` (number)
        Weight of the item.
        Example: 100
      - `rateShopBy` (string, required)
        Defines the approach used to retrieve rates.
        Enum: "carrier"
      - `byCarrier` (object)
        The shipment is grouped by Carrier and their Service. To create a shipment either carrierAccountId or carrier is required.
      - `byCarrier.carrierAccountId` (string)
        This is a unique identifier associated with the specific sub-carrier account, which must be valid. This is used in the shipment creation (if this value is defined, Carrier properties will be skipped).
        Example: "6wR7pC1qrfZFylN"
      - `byCarrier.carrier` (string)
        A unique identifier associated with the specific carrier, i.e. CarrierID, which must be valid.
        Example: "FEDEXFREIGHT"
      - `byCarrier.service` (string, required)
        Carrier service identifier. Provide this when you want a specific service rate; omit to fetch all available services for the carrier.
        Example: "FEDEX_FREIGHT_ECONOMY"
      - `shipmentOptions` (object)
        Additional shipment options.
      - `shipmentOptions.addToManifest` (boolean)
        When set to true, the shipment is eligible to be added to a manifest (if supported by the carrier/account).
        Example: true
      - `references` (object)
        Optional reference fields for customer/internal tracking.
      - `references.reference1` (string)
        Reference value 1.
        Example: "ref1_123456"
      - `references.reference2` (string)
        Reference value 2.
        Example: "ref2_SendTech"
      - `dateOfShipment` (string)
        Planned shipment (ship) date in YYYY-MM-DD format.
        Example: "2026-02-11"
      - `specialServices` (array)
        Optional special services requested for rating/shipping, if supported for the carrier/service.
      - `specialServices.specialServiceId` (string)
        Identifier of the special service.
        Example: "BROKER_SELECT_OPTION"
      - `specialServices.inputParameters` (array)
        Optional input parameters required by some special services.
      - `specialServices.inputParameters.name` (string)
        Parameter name.
        Example: "INPUT_VALUE"
      - `specialServices.inputParameters.value` (string)
        Parameter value.
        Example: "200.00"
    - LTLCreateInternationalShipment:
      - `documents` (array)
        Optional label output configuration. Use this to request specific document types .
        Example: [{"contentType":"URL","labelFormat":"PDF","labelSize":"DOC_8X11","labelType":"SHIPPING_LABEL"},{"contentType":"URL","labelFormat":"PDF","labelSize":"DOC_8X11","labelType":"BOL"}]
      - `documents.contentType` (string, required)
        How the document is returned. URL is supported for PDFand BASE64 is supported for ZPL2.
        Enum: same as `documents.contentType` in "LTLCreateDomesticShipment" (2 values)
      - `documents.labelFormat` (string, required)
        Output file format. As of now, only shipment labels can be generated in ZPL2 format. For all other document types, only PDF is supported.
        Enum: same as `documents.labelFormat` in "LTLCreateDomesticShipment" (2 values)
      - `documents.labelSize` (string, required)
        Document size. As of now, ZPL2 supports only 4X6 shipping label size.
        Example: "DOC_8X11"
      - `documents.labelType` (string, required)
        Document type to generate.
        Enum: same as `documents.labelType` in "LTLCreateDomesticShipment" (2 values)
      - `toAddress` (object, required)
        The complete address of the Recipient or Department (in case if the address is not pointed to any individual recipient).
      - `toAddress.name` (string, required)
        The name of the Recipient.
        Example: "Recipient Name"
      - `toAddress.addressLine1` (string, required)
        The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Recipient.  Max length = 35.
        Example: "350 Fifth Avenue"
      - `toAddress.addressLine2` (string)
        The addressLine2 contains Street address or Landmark (if any).
        Example: "near abc street"
      - `toAddress.addressLine3` (string)
        The addressLine3 contains P.O. Box (if any) near the address.
        Example: "near xyz street"
      - `toAddress.cityTown` (string, required)
        The name of the city or town the Recipient belongs to.  Max length = 30.
        Example: "New York"
      - `toAddress.stateProvince` (string, required)
        "The name of the State or Province the Sender belongs to. It is the 2-letter State or Province Code for US or Canadian address(es).
 Below is the hyperlink for CA country that will navigate to its Province/State Codes page. Similarly, respective country users can check for their country- State/Province codes.
 Please switch to the Search tab, select Country codes radio button, enter the required country name or country code, and then click SEARCH button .  Max length = 2"
        Example: "NY"
      - `toAddress.postalCode` (string, required)
        "The Postal Code or ZIP Code of the address. For CA addresses, use a six-character alphanumeric string Postal Code in this format: 'A1A 1A1'. While for US addresses, use either the 5-digit or 9-digit ZIP Code in one of the following formats: '12345' or '12345-6789'. Max length = 30"
        Example: "10118"
      - `toAddress.countryCode` (string, required)
        "The country in which the recipient's address is located. The value will be the two-character ISO Code of the country from the ISO country list.  Use ISO 3166-1 Alpha-2 standard values. For best results this should be included, especially if the country name does not appear in any of the unparsedAddressLines.
 Below is the hyperlink, please select Country codes and then click SEARCH button.  Max length = 10"
        Example: "US"
      - `toAddress.company` (string)
        The name of the company, in case if the recipient address is not residential. Recipient company is required for RMG b2b shipment.
        Example: "PB"
      - `toAddress.phone` (string, required)
        This is Recipient's phone number. Enter the digits with or without spaces or hyphens.  Max length = 15.
        Example: "2127363100"
      - `toAddress.email` (string)
        This must be recipient's valid email. Email is required if the customer is using GoFor Carrier.  Max length = 50
        Example: "recipient@gmail.com"
      - `toAddress.residential` (boolean)
        The specified address can be Residential or Official. In case if the address is Residential, the boolean value will be 'true', else it will take 'false'.
        Example: true
      - `toAddress.isPOBox` (boolean)
        Checks if the specified address has the PO Box. In case if Yes, the boolean value will be 'true', else it will take 'false'.
        Example: true
      - `fromAddress` (object, required)
        The complete address of the Sender.
      - `fromAddress.name` (string, required)
        The name of the Sender to which this address points.
        Example: "Sender Name"
      - `fromAddress.addressLine1` (string, required)
        The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Sender.  Max length = 35.
        Example: "1600 Amphitheatre Parkway"
      - `fromAddress.addressLine2` (string)
        The addressLine2 contains Street address or Landmark (if any).
        Example: "near abc street"
      - `fromAddress.addressLine3` (string)
        The addressLine3 contains P.O. Box (if any) near the address.
        Example: "near xyz street"
      - `fromAddress.company` (string)
        The name of the company, in case if the senders address is not residential.
        Example: "PB"
      - `fromAddress.email` (string)
        This must be senders's valid email. Email is required if the customer is using GoFor Carrier. Sender email is required for RMG b2b shipment.  Max length = 50
        Example: "testuser@gmail.com"
      - `fromAddress.phone` (string, required)
        This is sender's phone number. Enter the digits with or without spaces or hyphens. The maximum limit of characters for Phone number are 10 digits.
        Example: "6502530000"
      - `fromAddress.cityTown` (string, required)
        The name of the city or town the Sender's address belongs to.  Max length = 30.
        Example: "Mountain View"
      - `fromAddress.stateProvince` (string, required)
        "The name of the State or Province the Sender belongs to. It is the 2-letter State or Province Code for US or Canadian address(es).
 Below is the hyperlink for CA country that will navigate to its Province/State Codes page. Similarly, respective country users can check for their country- State/Province codes.
 Please switch to the Search tab, select Country codes radio button, enter the required country name or country code, and then click SEARCH button.  Max length = 2"
        Example: "CA"
      - `fromAddress.postalCode` (string, required)
        The Postal Code or ZIP Code of the address.  For CA addresses, use a six-character alphanumeric string Postal Code in this format: 'A1A 1A1'.  While for US addresses, use either the 5-digit or 9-digit ZIP Code in one of the following formats: '12345' or '12345-6789'.  Max length = 10
        Example: "94043"
      - `fromAddress.inductionPostalCode` (string)
        The postal code where the shipment is tendered to the carrier. If an induction postal code is specified in the "fromAddress", it will be used for rate calculations and determining manifest eligibility instead of the standard postal code. If not specified, the postal code from the "fromAddress" will be used.
        Example: "06905"
      - `fromAddress.countryCode` (string, required)
        "The country in which the sender's address is located. The value will be the two-character ISO Code of the country from the ISO country list.  Use ISO 3166-1 Alpha-2 standard values. For best results this should be included, especially if the country name does not appear in any of the unparsedAddressLines.
 Below is the hyperlink, please select Country codes and then click SEARCH button.  Max length = 2"
        Example: "US"
      - `fromAddress.residential` (boolean)
        The specified address can be Residential or Official. In case if the address is Residential, the boolean value will be 'true', else it will take 'false'.
        Example: true
      - `parcels` (array, required)
        Parcel details specific to LTL (Less-Than-Truckload) shipments.
      - `parcels.parcelType` (string, required)
        Parcel type for the LTL handling unit.
Examples include CARTON, PALLET, CRATE, etc.
        Example: "CARTON"
      - `parcels.parcel` (object, required)
        Parcel details, including dimensions and weight.
      - `parcels.parcel.length` (number, required)
        Length of the parcel. This is the greatest dimension.
        Example: 100
      - `parcels.parcel.width` (number, required)
        Width of the parcel. Conventionally the second largest dimension.
        Example: 10
      - `parcels.parcel.height` (number, required)
        Height of the parcel. Conventionally the smallest dimension.
        Example: 10
      - `parcels.parcel.dimUnit` (string, required)
        Unit of measurement for dimensions.
        Enum: same as `parcels.parcel.dimUnit` in "LTLCreateDomesticShipment" (2 values)
      - `parcels.parcel.weightUnit` (string, required)
        Unit of measurement for weight.
        Enum: same as `parcels.parcel.weightUnit` in "LTLCreateDomesticShipment" (2 values)
      - `parcels.parcel.weight` (number, required)
        Weight of the parcel.
        Example: 1600
      - `parcels.parcel.packageValue` (number)
        Declared value of the parcel.
        Example: 2
      - `parcels.freightClass` (string, required)
        Freight class assigned to the LTL package.
        Enum: same as `parcels.freightClass` in "LTLCreateDomesticShipment" (18 values)
      - `parcels.items` (array)
        List of items contained in the LTL handling unit. Provides item-level details such as description, quantity, unit price, weight, and origin, used for customs, invoicing, and freight documentation.
      - `parcels.items.itemId` (string)
        Unique identifier of the item within the parcel.
        Example: "1"
      - `parcels.items.orderNumber` (string)
        Order number associated with the item.
        Example: "ORD-12345"
      - `parcels.items.description` (string)
        Description of the item.
        Example: "Package 2 Documents"
      - `parcels.items.hSTariffCode` (string)
        Harmonized System (HS) tariff code used to classify the item for customs and duties.
        Example: "AST559"
      - `parcels.items.originCountryCode` (string)
        ISO country code representing the country of origin where the item was manufactured.
        Example: "CA"
      - `parcels.items.originStateProvince` (string)
        State or province code representing the state/province of origin where the item was manufactured.
        Example: "MB"
      - `parcels.items.quantity` (integer)
        Quantity of this item in the handling unit.
        Example: 1
      - `parcels.items.unitPrice` (number)
        Unit price of the item.
        Example: 101
      - `parcels.items.weightUnit` (string)
        Unit of measurement for the item weight.
        Enum: same as `parcels.items.weightUnit` in "LTLCreateDomesticShipment" (4 values)
      - `parcels.items.weight` (number)
        Weight of the item.
        Example: 100
      - `rateShopBy` (string, required)
        Defines the approach used to retrieve rates.
        Enum: same as `rateShopBy` in "LTLCreateDomesticShipment" (1 values)
      - `byCarrier` (object)
        The shipment is grouped by Carrier and their Service. To create a shipment either carrierAccountId or carrier is required.
      - `byCarrier.carrierAccountId` (string)
        This is a unique identifier associated with the specific sub-carrier account, which must be valid. This is used in the shipment creation (if this value is defined, Carrier properties will be skipped).
        Example: "6wR7pC1qrfZFylN"
      - `byCarrier.carrier` (string)
        A unique identifier associated with the specific carrier, i.e. CarrierID, which must be valid.
        Example: "FEDEXFREIGHT"
      - `byCarrier.service` (string, required)
        Carrier service identifier. Provide this when you want a specific service rate; omit to fetch all available services for the carrier.
        Example: "FEDEX_FREIGHT_ECONOMY"
      - `shipmentOptions` (object)
        Additional shipment options.
      - `shipmentOptions.addToManifest` (boolean)
        When set to true, the shipment is eligible to be added to a manifest (if supported by the carrier/account).
        Example: true
      - `references` (object)
        Optional reference fields for customer/internal tracking.
      - `references.reference1` (string)
        Reference value 1.
        Example: "ref1_123456"
      - `references.reference2` (string)
        Reference value 2.
        Example: "ref2_SendTech"
      - `customs` (object)
        Customs declaration details for international or carrier-specific domestic shipments.
- Required only for RMG carrier in domestic shipment requests.
- Must include customsItems and customsInfo objects.
- Other carriers do not require this object for domestic shipments.
      - `customs.customsItems` (array, required)
      - `customs.customsItems.description` (string, required)
        A detailed description of the commodity, up to 255 characters. The description will appear on the customs form. If the shipment has multiple types of items, create a separate customsItems object for each. Each description will appear on the form.
        Example: "T-shirt"
      - `customs.customsItems.hSTariffCode` (object)
        The destination country's tariff-classification number (HS code) for the commodity. Most countries use the six-digit Harmonized System (HS) as the basis for their tariff classifications and then add digits for more detail. The maximum length for an HS code is 14 characters. The HS code will appear on the customs form. If the shipment has multiple types of items, create a separate customsItems object for each.  Required for RMG carrier.
        Example: "610910"
      - `customs.customsItems.originCountryCode` (string)
        The two-character ISO country code of the shipment’s origin country. Use ISO 3166-1 Alpha-2 standard values.
        Example: "US"
      - `customs.customsItems.quantity` (number, required)
        Enter the total number of items of this type of commodity.
        Example: 1
      - `customs.customsItems.unitPrice` (number, required)
        The price of one item of this type of commodity.
        Example: 10
      - `customs.customsItems.weightUnit` (string, required)
        The unit of measurement. This field is required by the unitWeight object.
        Enum: "OZ"
      - `customs.customsItems.weight` (number, required)
        The weight of the item.
        Example: 1
      - `customs.customsInfo` (object, required)
        This is additional customs information required along with item details.
      - `customs.customsInfo.reasonForExport` (string, required)
        The reason the commodity is being exported.
        Enum: "GIFT", "COMMERCIAL_SAMPLE", "MERCHANDISE", "DOCUMENTS", "RETURNED_GOODS", "OTHER"
      - `customs.customsInfo.customsDeclaredValue` (number, required)
        Item value in mentioned currencyCode
        Example: 10
      - `customs.customsInfo.currencyCode` (string, required)
        The currency used for declared value. Use three uppercase letters, per ISO 4217
        Example: "USD"
      - `customs.customsInfo.EELPFC` (string)
        A number provided by the Automated Export System (AES).  Required if the item is more than $2,500 USD, per Schedule B export codes.  Required if EELPFC  is AES ITN.
- AES ITN is a unique transaction number generated by the Automated Export System (AES) when export data is filed for international shipments from the U.S.
- The ITN format is AES XYYYYMMDDNNNNNN, where X indicates the type, YYYYMMDD is the filing date, and NNNNNN is a 6-digit number. Example: AES X20250327123456
- If the ITN is not available, an exemption format may be used: AESDOWN [Filer ID] [mm/dd/yyyy]. Example: AESDOWN 12345678912 03/27/2025
        Example: "NOEEI 30.2D2"
      - `customs.customsInfo.certificateNumber` (string)
        The certificate number associated with the commodity
        Example: "123456"
      - `customs.customsInfo.comments` (string)
        Free-form comments regarding the exported shipment.
        Example: "This is a sample comment"
      - `customs.customsInfo.fromCustomsReference` (string)
        Free-form reference information provided by the requestor of the shipment. Depending on the carrier this information may or may not be rendered on the customs documents.
        Example: "EFEFE4554545"
      - `customs.customsInfo.importerCustomsReference` (string)
        A reference number used by the importer, such as a VAT number, PO number, or insured number.
        Example: "dff3433"
      - `customs.customsInfo.invoiceNumber` (string)
        The commercial invoice number assigned by the exporter.
        Example: "123456"
      - `customs.customsInfo.licenseNumber` (string)
        The export license number associated with the commodity.
        Example: "123456"
      - `customs.customsInfo.sdrValue` (number)
        When an international parcel is insured, the insured value must be expressed in Special Drawing Rights values.
        Example: 10
      - `customs.customsInfo.termsOfSale` (string)
        Defines the delivery and payment terms between the shipper and recipient.Currenty supported by carriers - UPS, FedEx and DHL. - Common values include:
  - CIP: Carriage and Insurance Paid to
  - CPT: Carriage Paid To
  - DAP: Delivered at Place
  - DAT: Delivered at Terminal
  - DDP: Delivered Duty Paid
  - EXW: Ex Works
  - FCA: Free Carrier
        Enum: "CIP", "CPT", "DAP", "DAT", "DDP", "EXW", "FCA"
      - `dateOfShipment` (string)
        Planned shipment (ship) date in YYYY-MM-DD format.
        Example: "2026-02-11"
      - `specialServices` (array)
        Optional special services requested for rating/shipping, if supported for the carrier/service.
      - `specialServices.specialServiceId` (string)
        Identifier of the special service.
        Example: "BROKER_SELECT_OPTION"
      - `specialServices.inputParameters` (array)
        Optional input parameters required by some special services.
      - `specialServices.inputParameters.name` (string)
        Parameter name.
        Example: "INPUT_VALUE"
      - `specialServices.inputParameters.value` (string)
        Parameter value.
        Example: "200.00"

## Response 200 fields (application/json):

  - `shipmentId` (string)
    Unique identifier of the shipment.
    Example: "794987622191"

  - `masterTrackingNumber` (string)
    This is a master tracking number assigned to the LTL shipment, representing the entire shipment across all parcels or handling units. This number can be used to track the overall shipment status.
    Example: "794987622191"

  - `bolNumber` (string)
    Bill of Lading (BOL) number assigned to the shipment.
    Example: "794987622191"

  - `labelLayout` (array)
    Documents generated at the shipment level (for example, BOL, MERGED_LABEL).
Each entry contains the content location/encoding and document attributes.
    Example: [{"contentType":"URL","contents":"https://225934331380-sending-service-dev.s3-fips.us-east-1.amazonaws.com/fedex-ltl/BOL_794998063229_1773817724491588264.pdf?..................","fileFormat":"PDF","size":"DOC_8X11","type":"BOL"},{"contentType":"URL","contents":"https://225934331380-sending-service-dev.s3-fips.us-east-1.amazonaws.com/fedex-ltl/MERGED_LABEL_794998063229_1773817724760108179.pdf?..................","fileFormat":"PDF","size":"DOC_8X11","type":"MERGED_LABEL"}]

  - `labelLayout.contentType` (string)
    How the document is returned. URL is supported for PDFand BASE64 is supported for ZPL2.
    Enum: same as `documents.contentType` in "LTLCreateDomesticShipment" (2 values)

  - `labelLayout.fileFormat` (string)
    File format of the document. As of now, only shipment labels can be generated in ZPL2 format. For all other document types, only PDF is supported.
    Enum: same as `documents.labelFormat` in "LTLCreateDomesticShipment" (2 values)

  - `labelLayout.size` (string)
    Document size/layout.
    Example: "DOC_8X11"

  - `labelLayout.type` (string)
    Document type.
    Example: "SHIPPING_LABEL"

  - `rates` (array)
    Rate details returned for the shipment.

  - `rates.currencyCode` (string)
    Currency in which the charges are calculated.
    Example: "USD"

  - `rates.baseCharge` (number)
    Base transportation charge for the LTL shipment.
    Example: 1600.1

  - `rates.serviceId` (string)
    Carrier-specific LTL service identifier.
    Example: "FEDEX_FREIGHT_ECONOMY"

  - `rates.totalCarrierCharge` (number)
    Total amount payable to the carrier for this service.
    Example: 1600.1

  - `rates.deliveryCommitment` (object)
    Estimated delivery information for the LTL service.

  - `rates.deliveryCommitment.estimatedDeliveryDateTime` (string)
    Estimated delivery date and time for the shipment.
    Example: "2026-02-20T17:00:00Z"

  - `rates.deliveryCommitment.minEstimatedNumberOfDays` (string)
    Minimum estimated transit duration label returned by the carrier.
    Example: "THREE_DAYS"

  - `rates.publishedTotalCarrierCharge` (number)
    Published carrier charge, if applicable.

  - `rates.handlingUnitCount` (integer)
    Number of handling units associated with the LTL shipment.

  - `rates.parcels` (array)
    Packages included in the LTL shipment for this rate option.

  - `rates.parcels.parcelType` (string)
    Type of handling unit used for the LTL package (for example, CARTON, PALLET).
    Example: "CARTON"

  - `rates.parcels.parcel` (object)
    Package dimensions and weight used for rating.

  - `rates.parcels.parcel.length` (number)
    Length of the package.
    Example: 100

  - `rates.parcels.parcel.height` (number)
    Height of the package.
    Example: 10

  - `rates.parcels.parcel.width` (number)
    Width of the package.
    Example: 10

  - `rates.parcels.parcel.dimUnit` (string)
    Unit of measurement for dimensions.
    Example: "IN"

  - `rates.parcels.parcel.weightUnit` (string)
    Unit of measurement for weight.
    Example: "OZ"

  - `rates.parcels.parcel.weight` (number)
    Weight of the package.
    Example: 1600

  - `rates.parcels.freightClass` (string)
    Freight classification used for LTL rating.
    Enum: same as `parcels.freightClass` in "LTLCreateDomesticShipment" (18 values)

  - `rates.parcels.proNumber` (string)
    PRO Number
    Example: "794987622191"

  - `rates.parcels.documents` (object)
    Document/label information for the shipment.

  - `references` (object)
    Optional reference fields for customer/internal tracking.

  - `references.reference1` (string)
    Reference value 1.
    Example: "ref1_123456"

  - `references.reference2` (string)
    Reference value 2.
    Example: "ref2_SendTech"

  - `fromAddress` (object)
    The complete address of the Sender.

  - `fromAddress.name` (string, required)
    The name of the Sender to which this address points.
    Example: "Sender Name"

  - `fromAddress.addressLine1` (string, required)
    The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Sender.  Max length = 35.
    Example: "1600 Amphitheatre Parkway"

  - `fromAddress.addressLine2` (string)
    The addressLine2 contains Street address or Landmark (if any).
    Example: "near abc street"

  - `fromAddress.addressLine3` (string)
    The addressLine3 contains P.O. Box (if any) near the address.
    Example: "near xyz street"

  - `fromAddress.company` (string)
    The name of the company, in case if the senders address is not residential.
    Example: "PB"

  - `fromAddress.email` (string)
    This must be senders's valid email. Email is required if the customer is using GoFor Carrier. Sender email is required for RMG b2b shipment.  Max length = 50
    Example: "testuser@gmail.com"

  - `fromAddress.phone` (string, required)
    This is sender's phone number. Enter the digits with or without spaces or hyphens. The maximum limit of characters for Phone number are 10 digits.
    Example: "6502530000"

  - `fromAddress.cityTown` (string, required)
    The name of the city or town the Sender's address belongs to.  Max length = 30.
    Example: "Mountain View"

  - `fromAddress.stateProvince` (string, required)
    "The name of the State or Province the Sender belongs to. It is the 2-letter State or Province Code for US or Canadian address(es).
 Below is the hyperlink for CA country that will navigate to its Province/State Codes page. Similarly, respective country users can check for their country- State/Province codes.
 Please switch to the Search tab, select Country codes radio button, enter the required country name or country code, and then click SEARCH button.  Max length = 2"
    Example: "CA"

  - `fromAddress.postalCode` (string, required)
    The Postal Code or ZIP Code of the address.  For CA addresses, use a six-character alphanumeric string Postal Code in this format: 'A1A 1A1'.  While for US addresses, use either the 5-digit or 9-digit ZIP Code in one of the following formats: '12345' or '12345-6789'.  Max length = 10
    Example: "94043"

  - `fromAddress.inductionPostalCode` (string)
    The postal code where the shipment is tendered to the carrier. If an induction postal code is specified in the "fromAddress", it will be used for rate calculations and determining manifest eligibility instead of the standard postal code. If not specified, the postal code from the "fromAddress" will be used.
    Example: "06905"

  - `fromAddress.countryCode` (string, required)
    "The country in which the sender's address is located. The value will be the two-character ISO Code of the country from the ISO country list.  Use ISO 3166-1 Alpha-2 standard values. For best results this should be included, especially if the country name does not appear in any of the unparsedAddressLines.
 Below is the hyperlink, please select Country codes and then click SEARCH button.  Max length = 2"
    Example: "US"

  - `fromAddress.residential` (boolean)
    The specified address can be Residential or Official. In case if the address is Residential, the boolean value will be 'true', else it will take 'false'.
    Example: true

  - `toAddress` (object)
    The complete address of the Recipient or Department (in case if the address is not pointed to any individual recipient).

  - `toAddress.name` (string, required)
    The name of the Recipient.
    Example: "Recipient Name"

  - `toAddress.addressLine1` (string, required)
    The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Recipient.  Max length = 35.
    Example: "350 Fifth Avenue"

  - `toAddress.addressLine2` (string)
    The addressLine2 contains Street address or Landmark (if any).
    Example: "near abc street"

  - `toAddress.addressLine3` (string)
    The addressLine3 contains P.O. Box (if any) near the address.
    Example: "near xyz street"

  - `toAddress.cityTown` (string, required)
    The name of the city or town the Recipient belongs to.  Max length = 30.
    Example: "New York"

  - `toAddress.stateProvince` (string, required)
    "The name of the State or Province the Sender belongs to. It is the 2-letter State or Province Code for US or Canadian address(es).
 Below is the hyperlink for CA country that will navigate to its Province/State Codes page. Similarly, respective country users can check for their country- State/Province codes.
 Please switch to the Search tab, select Country codes radio button, enter the required country name or country code, and then click SEARCH button .  Max length = 2"
    Example: "NY"

  - `toAddress.postalCode` (string, required)
    "The Postal Code or ZIP Code of the address. For CA addresses, use a six-character alphanumeric string Postal Code in this format: 'A1A 1A1'. While for US addresses, use either the 5-digit or 9-digit ZIP Code in one of the following formats: '12345' or '12345-6789'. Max length = 30"
    Example: "10118"

  - `toAddress.countryCode` (string, required)
    "The country in which the recipient's address is located. The value will be the two-character ISO Code of the country from the ISO country list.  Use ISO 3166-1 Alpha-2 standard values. For best results this should be included, especially if the country name does not appear in any of the unparsedAddressLines.
 Below is the hyperlink, please select Country codes and then click SEARCH button.  Max length = 10"
    Example: "US"

  - `toAddress.company` (string)
    The name of the company, in case if the recipient address is not residential. Recipient company is required for RMG b2b shipment.
    Example: "PB"

  - `toAddress.phone` (string, required)
    This is Recipient's phone number. Enter the digits with or without spaces or hyphens.  Max length = 15.
    Example: "2127363100"

  - `toAddress.email` (string)
    This must be recipient's valid email. Email is required if the customer is using GoFor Carrier.  Max length = 50
    Example: "recipient@gmail.com"

  - `toAddress.residential` (boolean)
    The specified address can be Residential or Official. In case if the address is Residential, the boolean value will be 'true', else it will take 'false'.
    Example: true

  - `toAddress.isPOBox` (boolean)
    Checks if the specified address has the PO Box. In case if Yes, the boolean value will be 'true', else it will take 'false'.
    Example: true

  - `shipmentOptions` (object)
    Shipment options applied to the shipment.
    Example: {}

## Response 400 fields (application/json):

  - `errors` (array)
    List of errors.

  - `errors.errorCode` (string)
    This error can be validation_error or internal_error or not_found or already_exists
    Example: "validation_error"

  - `errors.errorDescription` (string)
    The HTTP 400 Bad Request response status code indicates that the server cannot process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
    Example: "Custom Fields not found"

## Response 401 fields (application/json):

  - `message` (string, required)
    This is HTTP 401 Unauthorized response status code, that indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.


## Response 500 fields
