{
  "openapi": "3.0.1",
  "info": {
    "title": "LTL Shipment APIs",
    "description": "LTL Shipment APIs provide capabilities to rate, create, and reprint less-than-truckload (LTL) freight shipments. These APIs support shipment processing for freight carriers by allowing you to retrieve available rates, create domestic and international LTL shipments, and generate or reprint shipment documents such as shipping labels and Bills of Lading (BOL).\n\nThe APIs support key LTL shipment details such as:\n\n- shipper and recipient addresses\n- handling unit and parcel details\n- freight class\n- carrier and service selection\n- shipment references and options\n- customs details for international shipments\n- shipment documents such as shipping labels and BOL\n\nUse these APIs to support freight shipment workflows that require carrier rate shopping, shipment creation, and document generation for LTL transportation.\n",
    "version": "1.0.0",
    "license": {
      "name": "PB Software License Agreement",
      "url": "https://www.pitneybowes.com/us/support/account/pitney-bowes-terms-and-conditions.html"
    }
  },
  "servers": [
    {
      "url": "https://api-sandbox.sendpro360.pitneybowes.com/shipping",
      "description": "Sandbox Server"
    },
    {
      "url": "https://api.sendpro360.pitneybowes.com/shipping",
      "description": "Production Server (uses live data)"
    },
    {
      "url": "https://api-ppd.shipping360.pitneybowes.com/ca/shipping",
      "description": "Sandbox Server for Canada"
    },
    {
      "url": "https://api.shipping360.pitneybowes.com/ca/shipping",
      "description": "Production Server for Canada"
    }
  ],
  "tags": [
    {
      "name": "LTLShipment",
      "description": "Provides APIs to rate, create, and reprint less-than-truckload (LTL) freight shipments, including shipment documents such as shipping labels and Bills of Lading."
    }
  ],
  "paths": {
    "/api/v1/ltl/rates": {
      "post": {
        "tags": [
          "LTLShipment"
        ],
        "summary": "LTL RateShop",
        "description": "The LTL Rate Shop API is used to shop for rates for LTL shipments.\n",
        "operationId": "ltlrateShop",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "X-PB-Developer-Partner-Id",
            "description": "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.",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-PB-TransactionId",
            "description": "A unique Transaction ID provided by the partner, which is used to enable debugging and linking between the client's transaction and the system.",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LTLRateShopRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Rate Shop has been generated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LTLRateShopResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or Bad Request",
            "$ref": "#/components/responses/BadRequestError"
          },
          "401": {
            "description": "Unauthorized Error",
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "500": {
            "description": "Internal Server Error",
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/api/v1/ltl/shipments": {
      "post": {
        "tags": [
          "LTLShipment"
        ],
        "summary": "LTL Create Shipment",
        "description": "The LTL Create Shipment API is used to create shipments and generate shipment labels. \n**Key Considerations**\n- For freight carriers (Fedex Freight & Purolator Freight) label type `SHIPPING_LABEL` is required and label type `BOL` is optional.\n- 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\n- If `BOL` is provided with freight carriers, it must be provided along with `SHIPPING_LABEL` in the same labels array.\n- For custom carriers, the label type `BOL` can be generated individually.\n",
        "operationId": "ltlcreateShipment",
        "parameters": [
          {
            "name": "X-PB-Developer-Partner-Id",
            "description": "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.",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-PB-LocationId",
            "description": "\"This is the Location ID assigned as per the Developer's and Partner's parsed locations, to which all transactions will be billed.\n<br /> 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.\nDeveloper's location will be the default value. <br /> Additionally, Developers and Partners can use carriers belong to this location only.\"\n",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-PB-TransactionId",
            "description": "A unique Transaction ID provided by the partner, which is used to enable debugging and linking between the client's transaction and the system.",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LTLCreateDomesticShipment"
                  },
                  {
                    "$ref": "#/components/schemas/LTLCreateInternationalShipment"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "LTL Shipment has been created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LTLCreateShipmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or Bad Request",
            "$ref": "#/components/responses/BadRequestError"
          },
          "401": {
            "description": "Unauthorized Error",
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "500": {
            "description": "Internal Server Error",
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/api/v1/ltl/shipments/reprint": {
      "post": {
        "tags": [
          "LTLShipment"
        ],
        "summary": "LTL Reprint Shipment",
        "description": "The LTL Reprint Shipment API is used to reprint shipments and generate shipment labels. <br/>\n",
        "operationId": "ltlreprintShipment",
        "parameters": [
          {
            "name": "X-PB-Developer-Partner-Id",
            "description": "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.",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-PB-LocationId",
            "description": "\"This is the Location ID assigned as per the Developer's and Partner's parsed locations, to which all transactions will be billed.\n<br /> 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.\nDeveloper's location will be the default value. <br /> Additionally, Developers and Partners can use carriers belong to this location only.\"\n",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-PB-TransactionId",
            "description": "A unique Transaction ID provided by the partner, which is used to enable debugging and linking between the client's transaction and the system.",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LTLReprintRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Importer of Record successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LTLCreateShipmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or Bad Request",
            "$ref": "#/components/responses/BadRequestError"
          },
          "401": {
            "description": "Unauthorized Error",
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "500": {
            "description": "Internal Server Error",
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "responses": {
      "UnauthorizedError": {
        "description": "The request could not be authorized.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            }
          }
        }
      },
      "InternalServerError": {
        "description": "The request could not be completed due to an internal error.",
        "content": {}
      },
      "BadRequestError": {
        "description": "Invalid request.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Errors"
            }
          }
        }
      }
    },
    "schemas": {
      "error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "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."
          }
        },
        "required": [
          "message"
        ]
      },
      "Errors": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "description": "List of errors.",
            "items": {
              "type": "object",
              "properties": {
                "errorCode": {
                  "type": "string",
                  "description": "This error can be validation_error or internal_error or not_found or already_exists",
                  "example": "validation_error"
                },
                "errorDescription": {
                  "type": "string",
                  "description": "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"
                }
              }
            }
          }
        }
      },
      "LTLRateShopRequest": {
        "type": "object",
        "required": [
          "fromAddress",
          "toAddress",
          "parcels",
          "rateShopBy"
        ],
        "properties": {
          "toAddress": {
            "$ref": "#/components/schemas/toAddressV2"
          },
          "fromAddress": {
            "$ref": "#/components/schemas/fromAddressV2"
          },
          "parcels": {
            "$ref": "#/components/schemas/Parcels"
          },
          "rateShopBy": {
            "type": "string",
            "description": "RateShop is done through multiple approaches such as byCarrier, by RateGroup, or by RuleSet.  \nUse `carrier` to rate based on the carrier selection.\n",
            "enum": [
              "carrier"
            ],
            "example": "carrier"
          },
          "byCarrier": {
            "type": "object",
            "description": "Specifies the carrier and service configuration used for rate retrieval in Rate Shipment V2\nThis object enables the following use cases:\n  1. **Rate Shop for a Single Carrier**: Provide either `carrier` or `carrierAccountId` to retrieve all available rates from the specified carrier.\n  2. **Single Rate Retrieval by Service ID**: Provide both `carrier` (or `carrierAccountId`) and `service` to retrieve a single rate corresponding to the specified service.\n",
            "properties": {
              "carrierAccountId": {
                "type": "string",
                "description": "This is a unique identifier associated with the specific sub-carrier account, which must be valid.<br /> This is used in the shipment creation (if this value is defined, Carrier properties will be skipped).",
                "example": "zmOKKBAn0X1"
              },
              "carrier": {
                "type": "string",
                "description": "A unique identifier associated with the specific carrier, i.e. CarrierID, which must be valid.",
                "example": "FEDEXFREIGHT"
              },
              "service": {
                "type": "string",
                "description": "Indicates a unique identifier associated with the carrier specific service, which is ServiceID, which must be valid.",
                "example": "FEDEX_FREIGHT_ECONOMY"
              }
            }
          }
        }
      },
      "LTLRateShopResponse": {
        "type": "object",
        "description": "LTL rate response that includes available carrier services, pricing, delivery commitment, and package-level freight details.",
        "properties": {
          "rates": {
            "type": "array",
            "description": "List of LTL rate options returned by the carrier.",
            "items": {
              "$ref": "#/components/schemas/LtlRate1"
            }
          },
          "references": {
            "type": "object",
            "description": "Optional reference values returned with the response.",
            "additionalProperties": true,
            "example": {}
          },
          "fromAddress": {
            "$ref": "#/components/schemas/fromAddressV2"
          },
          "toAddress": {
            "$ref": "#/components/schemas/toAddressV2"
          },
          "shipmentOptions": {
            "type": "object",
            "description": "Shipment-level options returned in the response, if any.",
            "additionalProperties": true,
            "example": {}
          }
        }
      },
      "LTLCreateDomesticShipment": {
        "type": "object",
        "description": "Request payload to create LTL shipments by carrier/service (for example, FedEx Freight), including LTL package details, label layout preferences, shipment options, references, and ship date.\n",
        "required": [
          "fromAddress",
          "toAddress",
          "parcels",
          "rateShopBy"
        ],
        "properties": {
          "documents": {
            "type": "array",
            "description": "Optional label output configuration. Use this to request specific document types .\n",
            "items": {
              "$ref": "#/components/schemas/LabelLayoutItem"
            },
            "example": [
              {
                "contentType": "URL",
                "labelFormat": "PDF",
                "labelSize": "DOC_8X11",
                "labelType": "SHIPPING_LABEL"
              },
              {
                "contentType": "URL",
                "labelFormat": "PDF",
                "labelSize": "DOC_8X11",
                "labelType": "BOL"
              }
            ]
          },
          "toAddress": {
            "$ref": "#/components/schemas/toAddressV2"
          },
          "fromAddress": {
            "$ref": "#/components/schemas/fromAddressV2"
          },
          "additionalAddresses": {
            "description": "Additional addresses associated with the LTL shipment.\n\nSupported address types:\n- FREIGHT_FORWARDER: Address of the freight forwarding company responsible for arranging transportation.\n- ULTIMATE_CONSIGNEE: Final recipient or end party receiving the goods.\n- THIRD_PARTY: Address of a third-party entity responsible for billing or payment.\n",
            "allOf": [
              {
                "$ref": "#/components/schemas/additionalAddresses"
              },
              {
                "example": [
                  {
                    "address": {
                      "addressLine1": "638 Manitoba Ave",
                      "cityTown": "Winnipeg",
                      "countryCode": "CA",
                      "name": "billing name",
                      "phone": "203-555-1213",
                      "postalCode": "R2W 2H2",
                      "company": "Pitney Bowes Inc.",
                      "stateProvince": "MB"
                    },
                    "addressType": "FREIGHT_FORWARDER"
                  },
                  {
                    "address": {
                      "addressLine1": "947 Hammarskjold Dr1",
                      "cityTown": "Burnaby",
                      "countryCode": "CA",
                      "name": "Paul Wright",
                      "company": "QA & Company",
                      "phone": "604-320-7572",
                      "postalCode": "V5B 3C9",
                      "stateProvince": "BC"
                    },
                    "addressType": "THIRD_PARTY"
                  }
                ]
              }
            ]
          },
          "parcels": {
            "$ref": "#/components/schemas/Parcels"
          },
          "rateShopBy": {
            "type": "string",
            "description": "Defines the approach used to retrieve rates.\n",
            "enum": [
              "carrier"
            ],
            "example": "carrier"
          },
          "byCarrier": {
            "$ref": "#/components/schemas/ByCarrierLtl"
          },
          "shipmentOptions": {
            "type": "object",
            "description": "Additional shipment options.",
            "properties": {
              "addToManifest": {
                "type": "boolean",
                "description": "When set to true, the shipment is eligible to be added to a manifest (if supported by the carrier/account).\n",
                "example": true
              }
            },
            "additionalProperties": true
          },
          "references": {
            "type": "object",
            "description": "Optional reference fields for customer/internal tracking.",
            "properties": {
              "reference1": {
                "type": "string",
                "description": "Reference value 1.",
                "example": "ref1_123456"
              },
              "reference2": {
                "type": "string",
                "description": "Reference value 2.",
                "example": "ref2_SendTech"
              }
            },
            "additionalProperties": true
          },
          "dateOfShipment": {
            "type": "string",
            "format": "date",
            "description": "Planned shipment (ship) date in `YYYY-MM-DD` format.",
            "example": "2026-02-11"
          },
          "specialServices": {
            "type": "array",
            "description": "Optional special services requested for rating/shipping, if supported for the carrier/service.",
            "items": {
              "$ref": "#/components/schemas/SpecialService"
            }
          },
          "carrierPayments": {
            "type": "array",
            "$ref": "#/components/schemas/carrierPayments"
          }
        }
      },
      "LTLCreateInternationalShipment": {
        "type": "object",
        "description": "Request payload to create LTL shipments by carrier/service (for example, FedEx Freight or Purolator Freight), including LTL package details, label layout preferences, shipment options, references, and ship date.\n",
        "required": [
          "fromAddress",
          "toAddress",
          "parcels",
          "rateShopBy"
        ],
        "properties": {
          "documents": {
            "type": "array",
            "description": "Optional label output configuration. Use this to request specific document types .\n",
            "items": {
              "$ref": "#/components/schemas/LabelLayoutItem"
            },
            "example": [
              {
                "contentType": "URL",
                "labelFormat": "PDF",
                "labelSize": "DOC_8X11",
                "labelType": "SHIPPING_LABEL"
              },
              {
                "contentType": "URL",
                "labelFormat": "PDF",
                "labelSize": "DOC_8X11",
                "labelType": "BOL"
              }
            ]
          },
          "toAddress": {
            "$ref": "#/components/schemas/toAddressV2",
            "example": {
              "addressLine1\"": "5985 EXPLORER DR",
              "addressLine2": "ABC Street",
              "addressLine3": "Near XYZ Station",
              "cityTown": "Mississauga",
              "countryCode": "CA",
              "name": "Mara Graham",
              "company": "PB",
              "phone": "9191919191",
              "postalCode": "L4W5K6",
              "stateProvince": "ON",
              "email": "receiver@email.com"
            }
          },
          "fromAddress": {
            "$ref": "#/components/schemas/fromAddressV2",
            "example": {
              "addressLine1": "1202 Chalet Ln",
              "addressLine2": "ABC Street",
              "addressLine3": "Near XYZ Station",
              "cityTown": "Harrison",
              "countryCode": "US",
              "name": "Fedex freight 1",
              "phone": "2037963184",
              "postalCode": "72601-6353",
              "stateProvince": "AR",
              "company": "Pintey Bowes",
              "email": "sender@email.com"
            }
          },
          "additionalAddresses": {
            "description": "Additional addresses associated with the LTL shipment.\n\nSupported address types:\n- FREIGHT_FORWARDER: Address of the freight forwarding company responsible for arranging transportation.\n- ULTIMATE_CONSIGNEE: Final recipient or end party receiving the goods.\n- THIRD_PARTY: Address of a third-party entity responsible for billing or payment.\n",
            "allOf": [
              {
                "$ref": "#/components/schemas/additionalAddresses"
              },
              {
                "example": [
                  {
                    "address": {
                      "addressLine1": "638 Manitoba Ave",
                      "cityTown": "Winnipeg",
                      "countryCode": "CA",
                      "name": "billing name",
                      "phone": "203-555-1213",
                      "postalCode": "R2W 2H2",
                      "company": "Pitney Bowes Inc.",
                      "stateProvince": "MB"
                    },
                    "addressType": "FREIGHT_FORWARDER"
                  },
                  {
                    "address": {
                      "addressLine1": "947 Hammarskjold Dr1",
                      "cityTown": "Burnaby",
                      "countryCode": "CA",
                      "name": "Paul Wright",
                      "company": "QA & Company",
                      "phone": "604-320-7572",
                      "postalCode": "V5B 3C9",
                      "stateProvince": "BC"
                    },
                    "addressType": "THIRD_PARTY"
                  }
                ]
              }
            ]
          },
          "parcels": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Parcels"
              },
              {
                "type": "object",
                "properties": {
                  "pieceCount": {
                    "type": "integer",
                    "description": "",
                    "example": 10
                  }
                }
              }
            ]
          },
          "rateShopBy": {
            "type": "string",
            "description": "Defines the approach used to retrieve rates.\n",
            "enum": [
              "carrier"
            ],
            "example": "carrier"
          },
          "byCarrier": {
            "$ref": "#/components/schemas/ByCarrierLtl"
          },
          "shipmentOptions": {
            "type": "object",
            "description": "Additional shipment options.",
            "properties": {
              "addToManifest": {
                "type": "boolean",
                "description": "When set to true, the shipment is eligible to be added to a manifest (if supported by the carrier/account).\n",
                "example": true
              }
            },
            "additionalProperties": true
          },
          "references": {
            "type": "object",
            "description": "Optional reference fields for customer/internal tracking.",
            "properties": {
              "reference1": {
                "type": "string",
                "description": "Reference value 1.",
                "example": "ref1_123456"
              },
              "reference2": {
                "type": "string",
                "description": "Reference value 2.",
                "example": "ref2_SendTech"
              }
            },
            "additionalProperties": true
          },
          "customs": {
            "$ref": "#/components/schemas/Customs"
          },
          "dateOfShipment": {
            "type": "string",
            "format": "date",
            "description": "Planned shipment (ship) date in `YYYY-MM-DD` format.",
            "example": "2026-02-11"
          },
          "specialServices": {
            "type": "array",
            "description": "Optional special services requested for rating/shipping, if supported for the carrier/service.",
            "items": {
              "$ref": "#/components/schemas/SpecialService"
            }
          },
          "carrierPayments": {
            "type": "array",
            "$ref": "#/components/schemas/carrierPayments"
          }
        }
      },
      "Customs": {
        "type": "object",
        "required": [
          "customsInfo",
          "customsItems"
        ],
        "description": "Customs declaration details for international or carrier-specific domestic shipments.<br/>\n- **Required only for RMG carrier** in domestic shipment requests.\n- Must include customsItems and customsInfo objects.\n- Other carriers do not require this object for domestic shipments.\n",
        "properties": {
          "customsItems": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "description",
                "quantity",
                "unitPrice",
                "weight",
                "weightUnit"
              ],
              "properties": {
                "description": {
                  "type": "string",
                  "description": "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"
                },
                "hSTariffCode": {
                  "type": "object",
                  "description": "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. </br> Required for RMG carrier.",
                  "example": "610910"
                },
                "originCountryCode": {
                  "type": "string",
                  "description": "The two-character ISO country code of the shipment’s origin country. Use ISO 3166-1 Alpha-2 standard values.",
                  "example": "US"
                },
                "quantity": {
                  "type": "number",
                  "description": "Enter the total number of items of this type of commodity.",
                  "example": 1
                },
                "unitPrice": {
                  "type": "number",
                  "description": "The price of one item of this type of commodity.",
                  "example": 10
                },
                "weightUnit": {
                  "type": "string",
                  "enum": [
                    "OZ"
                  ],
                  "description": "The unit of measurement. This field is required by the unitWeight object.",
                  "example": "OZ"
                },
                "weight": {
                  "type": "number",
                  "description": "The weight of the item.",
                  "example": 1
                }
              }
            }
          },
          "customsInfo": {
            "type": "object",
            "description": "This is additional customs information required along with item details.",
            "required": [
              "reasonForExport",
              "customsDeclaredValue",
              "currencyCode"
            ],
            "properties": {
              "reasonForExport": {
                "type": "string",
                "enum": [
                  "GIFT",
                  "COMMERCIAL_SAMPLE",
                  "MERCHANDISE",
                  "DOCUMENTS",
                  "RETURNED_GOODS",
                  "OTHER"
                ],
                "description": "The reason the commodity is being exported.",
                "example": "GIFT"
              },
              "customsDeclaredValue": {
                "description": "Item value in mentioned currencyCode",
                "type": "number",
                "example": 10
              },
              "currencyCode": {
                "description": "The currency used for declared value. Use three uppercase letters, per ISO 4217",
                "example": "USD",
                "type": "string"
              },
              "EELPFC": {
                "type": "string",
                "example": "NOEEI 30.2D2",
                "description": "A number provided by the Automated Export System (AES). <br/> Required if the item is more than $2,500 USD, per Schedule B export codes. <br/> Required if EELPFC  is AES ITN.\n- 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.\n- 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`\n- If the ITN is not available, an exemption format may be used: AESDOWN [Filer ID] [mm/dd/yyyy]. Example: `AESDOWN 12345678912 03/27/2025`\n"
              },
              "certificateNumber": {
                "type": "string",
                "description": "The certificate number associated with the commodity",
                "example": "123456"
              },
              "comments": {
                "type": "string",
                "description": "Free-form comments regarding the exported shipment.",
                "example": "This is a sample comment"
              },
              "fromCustomsReference": {
                "type": "string",
                "description": "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"
              },
              "importerCustomsReference": {
                "type": "string",
                "description": "A reference number used by the importer, such as a VAT number, PO number, or insured number.",
                "example": "dff3433"
              },
              "invoiceNumber": {
                "type": "string",
                "description": "The commercial invoice number assigned by the exporter.",
                "example": "123456"
              },
              "licenseNumber": {
                "type": "string",
                "description": "The export license number associated with the commodity.",
                "example": "123456"
              },
              "sdrValue": {
                "type": "number",
                "description": "When an international parcel is insured, the insured value must be expressed in Special Drawing Rights values.",
                "example": 10
              },
              "termsOfSale": {
                "type": "string",
                "description": "Defines the delivery and payment terms between the shipper and recipient.Currenty supported by carriers - UPS, FedEx and DHL. - Common values include:\n  - CIP: Carriage and Insurance Paid to\n  - CPT: Carriage Paid To\n  - DAP: Delivered at Place\n  - DAT: Delivered at Terminal\n  - DDP: Delivered Duty Paid\n  - EXW: Ex Works\n  - FCA: Free Carrier\n",
                "example": "DDP",
                "enum": [
                  "CIP",
                  "CPT",
                  "DAP",
                  "DAT",
                  "DDP",
                  "EXW",
                  "FCA"
                ]
              }
            }
          }
        }
      },
      "LabelLayoutItem": {
        "type": "object",
        "description": "Defines a single document output format for the shipment.",
        "required": [
          "contentType",
          "labelFormat",
          "labelSize",
          "labelType"
        ],
        "properties": {
          "contentType": {
            "type": "string",
            "description": "How the document is returned. URL is supported for `PDF`and BASE64 is supported for `ZPL2`.",
            "enum": [
              "URL",
              "BASE64"
            ],
            "example": "URL"
          },
          "labelFormat": {
            "type": "string",
            "description": "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"
            ],
            "example": "PDF"
          },
          "labelSize": {
            "type": "string",
            "description": "Document size. As of now, ZPL2 supports only 4X6 shipping label size.",
            "example": "DOC_8X11"
          },
          "labelType": {
            "type": "string",
            "description": "Document type to generate.",
            "example": "SHIPPING_LABEL",
            "enum": [
              "SHIPPING_LABEL",
              "BOL"
            ]
          }
        }
      },
      "LtlDetailsRequest": {
        "type": "object",
        "description": "LTL-specific request details including packages and freight classifications.",
        "required": [
          "packages"
        ],
        "properties": {
          "packages": {
            "type": "array",
            "description": "List of LTL packages (handling units) to rate.",
            "items": {
              "$ref": "#/components/schemas/LtlPackageRequest"
            }
          }
        }
      },
      "LtlPackageRequest": {
        "type": "object",
        "description": "A single LTL package/handling unit.",
        "required": [
          "parcelType",
          "parcel",
          "freightClass"
        ],
        "properties": {
          "parcelType": {
            "type": "string",
            "description": "Handling unit type for the LTL shipment (for example, CARTON, PALLET).",
            "example": "CARTON"
          },
          "parcel": {
            "$ref": "#/components/schemas/Parcel"
          },
          "freightClass": {
            "type": "string",
            "description": "Freight class used for LTL rating.",
            "example": "CLASS200",
            "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"
            ]
          },
          "pieceCount": {
            "type": "string",
            "description": "Number of pieces for the handling unit (as provided by the carrier integration).",
            "example": "2"
          }
        }
      },
      "Parcel": {
        "type": "object",
        "description": "Parcel dimensions and weight used for rating.",
        "properties": {
          "length": {
            "type": "number",
            "description": "Length of the package.",
            "example": 100
          },
          "width": {
            "type": "number",
            "description": "Width of the package.",
            "example": 10
          },
          "height": {
            "type": "number",
            "description": "Height of the package.",
            "example": 10
          },
          "dimUnit": {
            "type": "string",
            "description": "Unit for dimensions.",
            "enum": [
              "IN",
              "CM"
            ],
            "example": "IN"
          },
          "weightUnit": {
            "type": "string",
            "description": "Unit for weight.",
            "enum": [
              "OZ",
              "LB",
              "GM",
              "KG"
            ],
            "example": "OZ"
          },
          "weight": {
            "type": "number",
            "description": "Weight of the package.",
            "example": 1600
          },
          "packageValue": {
            "type": "number",
            "description": "Declared value of the package.",
            "example": 2
          }
        }
      },
      "ByCarrierLtl": {
        "type": "object",
        "required": [
          "service"
        ],
        "description": "The shipment is grouped by Carrier and their Service. To create a shipment either `carrierAccountId` or `carrier` is required.",
        "properties": {
          "carrierAccountId": {
            "type": "string",
            "description": "This is a unique identifier associated with the specific sub-carrier account, which must be valid.<br /> This is used in the shipment creation (if this value is defined, Carrier properties will be skipped).",
            "example": "6wR7pC1qrfZFylN"
          },
          "carrier": {
            "type": "string",
            "description": "A unique identifier associated with the specific carrier, i.e. CarrierID, which must be valid.",
            "example": "FEDEXFREIGHT"
          },
          "service": {
            "type": "string",
            "description": "Carrier service identifier. Provide this when you want a specific service rate; omit to fetch all available services for the carrier.\n",
            "example": "FEDEX_FREIGHT_ECONOMY"
          }
        }
      },
      "SpecialService": {
        "type": "object",
        "description": "A special service requested for rating or shipping.",
        "properties": {
          "specialServiceId": {
            "type": "string",
            "description": "Identifier of the special service.",
            "example": "BROKER_SELECT_OPTION"
          },
          "inputParameters": {
            "type": "array",
            "description": "Optional input parameters required by some special services.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Parameter name.",
                  "example": "INPUT_VALUE"
                },
                "value": {
                  "type": "string",
                  "description": "Parameter value.",
                  "example": "200.00"
                }
              }
            }
          }
        }
      },
      "carrierPayments": {
        "type": "array",
        "description": "Defines how carrier charges are billed to different parties. Use this field to specify\naccount and charge type details for transportation and/or duties and taxes. This\nfield is optional.\n\n- If no `party` is explicitly specified, charges default to the sender (shipper).\n- To direct charges to a different party, provide the appropriate bill-to details in the request.\n- If the carrier supports third-party billing, you can specify a third-party account number and address. \n- For Puralator Freight carrier if the `party` is set to `BILL_THIRD_PARTY`, then additionalAddress with addressType `THIRD_PARTY` is required.\n",
        "items": {
          "type": "object",
          "properties": {
            "accountNumber": {
              "type": "string",
              "description": "Account number of the party to be billed.",
              "example": "602684342"
            },
            "countryCode": {
              "type": "string",
              "description": "Two-letter ISO country code of the party to be billed.",
              "example": "US"
            },
            "postalCode": {
              "type": "string",
              "description": "Postal code of the party to be billed.",
              "example": "30305"
            },
            "party": {
              "type": "string",
              "description": "Billing party for the shipment charges.",
              "enum": [
                "BILL_RECEIVER",
                "BILL_SENDER",
                "BILL_THIRD_PARTY",
                "BILL_RECEIVER_CONTRACT"
              ],
              "example": "BILL_RECEIVER"
            },
            "typeOfCharge": {
              "type": "string",
              "description": "The type of charge billed to the specified party.",
              "enum": [
                "TRANSPORTATION_CHARGES",
                "DUTIES_AND_TAXES",
                "ALL_CHARGES"
              ],
              "example": "TRANSPORTATION_CHARGES"
            }
          }
        },
        "example": [
          {
            "accountNumber": "602684342",
            "countryCode": "US",
            "postalCode": "30305",
            "party": "BILL_RECEIVER",
            "typeOfCharge": "TRANSPORTATION_CHARGES"
          }
        ]
      },
      "LTLCreateShipmentResponse": {
        "type": "object",
        "description": "Response returned after creating an LTL shipment.",
        "properties": {
          "shipmentId": {
            "type": "string",
            "description": "Unique identifier of the shipment.",
            "example": "794987622191"
          },
          "masterTrackingNumber": {
            "type": "string",
            "description": "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": {
            "type": "string",
            "description": "Bill of Lading (BOL) number assigned to the shipment.",
            "example": "794987622191"
          },
          "labelLayout": {
            "type": "array",
            "description": "Documents generated at the shipment level (for example, BOL, MERGED_LABEL).\nEach entry contains the content location/encoding and document attributes.\n",
            "items": {
              "$ref": "#/components/schemas/Document"
            },
            "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"
              }
            ]
          },
          "rates": {
            "type": "array",
            "description": "Rate details returned for the shipment.",
            "items": {
              "$ref": "#/components/schemas/LtlRate2"
            }
          },
          "references": {
            "type": "object",
            "description": "Optional reference fields for customer/internal tracking.",
            "properties": {
              "reference1": {
                "type": "string",
                "description": "Reference value 1.",
                "example": "ref1_123456"
              },
              "reference2": {
                "type": "string",
                "description": "Reference value 2.",
                "example": "ref2_SendTech"
              }
            }
          },
          "fromAddress": {
            "$ref": "#/components/schemas/fromAddressV2"
          },
          "toAddress": {
            "$ref": "#/components/schemas/toAddressV2"
          },
          "shipmentOptions": {
            "type": "object",
            "description": "Shipment options applied to the shipment.",
            "additionalProperties": true,
            "example": {}
          }
        }
      },
      "LtlDetailsShipmentResponse": {
        "type": "object",
        "description": "LTL-specific shipment details.",
        "properties": {
          "masterTrackingNumber": {
            "type": "string",
            "description": "Master tracking number assigned for the LTL shipment.",
            "example": "794987622191"
          },
          "bolNumber": {
            "type": "string",
            "description": "Bill of Lading (BOL) number for the shipment.",
            "example": "794987622191"
          },
          "rates": {
            "type": "array",
            "description": "Rate details returned for the shipment.",
            "items": {
              "$ref": "#/components/schemas/LtlRate2"
            }
          }
        }
      },
      "LtlSpecialServiceResponse": {
        "type": "object",
        "description": "Special service details returned in the response.",
        "properties": {
          "specialServiceId": {
            "type": "string",
            "description": "Identifier of the special service.",
            "example": "BROKER_SELECT_OPTION"
          },
          "fee": {
            "type": "number",
            "description": "Fee for the special service, if applicable.",
            "example": 0
          }
        }
      },
      "LTLReprintRequest": {
        "type": "object",
        "required": [
          "shipmentId",
          "printerAliasName"
        ],
        "properties": {
          "shipmentId": {
            "type": "string",
            "description": "Unique identifier of the shipment for which the label or document needs to be reprinted.\n",
            "example": "794987603748"
          },
          "printerAliasName": {
            "type": "string",
            "description": "Alias name of the printer configured in the system where the reprinted label or document will be sent.\n",
            "example": "ZPLtoSheltonTest"
          }
        }
      },
      "LtlPackageResponse": {
        "type": "object",
        "description": "LTL package details returned for the shipment.",
        "properties": {
          "pieceCount": {
            "type": "string",
            "description": "Number of pieces for this package line item.",
            "example": "2"
          },
          "parcelType": {
            "type": "string",
            "description": "Package/handling type for LTL.",
            "example": "CARTON"
          },
          "parcel": {
            "$ref": "#/components/schemas/Parcel"
          },
          "proNumber": {
            "type": "string",
            "description": "Pro number assigned for this package (carrier-specific).",
            "example": "794987622191"
          },
          "documents": {
            "$ref": "#/components/schemas/Document"
          },
          "freightClass": {
            "type": "string",
            "description": "Freight class for LTL rating.",
            "example": "CLASS200",
            "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"
            ]
          }
        }
      },
      "Document": {
        "type": "object",
        "description": "Document/label information for the shipment.",
        "properties": {
          "contentType": {
            "type": "string",
            "description": "How the document is returned. URL is supported for `PDF`and BASE64 is supported for `ZPL2`.",
            "enum": [
              "URL",
              "BASE64"
            ],
            "example": "URL"
          },
          "fileFormat": {
            "type": "string",
            "description": "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": [
              "PDF",
              "ZPL2"
            ],
            "example": "PDF"
          },
          "size": {
            "type": "string",
            "description": "Document size/layout.",
            "example": "DOC_8X11"
          },
          "type": {
            "type": "string",
            "description": "Document type.",
            "example": "SHIPPING_LABEL"
          }
        }
      },
      "LtlDetailsResponse": {
        "type": "object",
        "description": "Contains LTL-specific rate details.",
        "properties": {
          "rates": {
            "type": "array",
            "description": "List of LTL rate options returned by the carrier.",
            "items": {
              "$ref": "#/components/schemas/LtlRate1"
            }
          }
        }
      },
      "LtlRate1": {
        "type": "object",
        "description": "A single LTL rate option for a carrier service.",
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "Currency in which the charges are calculated.",
            "example": "USD"
          },
          "baseCharge": {
            "type": "number",
            "description": "Base transportation charge for the LTL shipment.",
            "example": 1600.1
          },
          "serviceId": {
            "type": "string",
            "description": "Carrier-specific LTL service identifier.",
            "example": "FEDEX_FREIGHT_ECONOMY"
          },
          "totalCarrierCharge": {
            "type": "number",
            "description": "Total amount payable to the carrier for this service.",
            "example": 1600.1
          },
          "deliveryCommitment": {
            "$ref": "#/components/schemas/DeliveryCommitment"
          },
          "publishedTotalCarrierCharge": {
            "type": "number",
            "description": "Published carrier charge, if applicable.",
            "example": 0
          },
          "handlingUnitCount": {
            "type": "integer",
            "description": "Number of handling units associated with the LTL shipment.",
            "example": 0
          },
          "parcels": {
            "type": "array",
            "description": "Packages included in the LTL shipment for this rate option.",
            "items": {
              "type": "object",
              "description": "Package details used for LTL rating.",
              "properties": {
                "parcelType": {
                  "type": "string",
                  "description": "Type of handling unit used for the LTL package (for example, CARTON, PALLET).",
                  "example": "CARTON"
                },
                "parcel": {
                  "$ref": "#/components/schemas/ParcelDimensions"
                },
                "freightClass": {
                  "type": "string",
                  "description": "Freight classification used for LTL rating.",
                  "example": "CLASS200"
                }
              }
            }
          }
        }
      },
      "LtlRate2": {
        "type": "object",
        "description": "A single LTL rate option for a carrier service.",
        "properties": {
          "currencyCode": {
            "type": "string",
            "description": "Currency in which the charges are calculated.",
            "example": "USD"
          },
          "baseCharge": {
            "type": "number",
            "description": "Base transportation charge for the LTL shipment.",
            "example": 1600.1
          },
          "serviceId": {
            "type": "string",
            "description": "Carrier-specific LTL service identifier.",
            "example": "FEDEX_FREIGHT_ECONOMY"
          },
          "totalCarrierCharge": {
            "type": "number",
            "description": "Total amount payable to the carrier for this service.",
            "example": 1600.1
          },
          "deliveryCommitment": {
            "$ref": "#/components/schemas/DeliveryCommitment"
          },
          "publishedTotalCarrierCharge": {
            "type": "number",
            "description": "Published carrier charge, if applicable.",
            "example": 0
          },
          "handlingUnitCount": {
            "type": "integer",
            "description": "Number of handling units associated with the LTL shipment.",
            "example": 0
          },
          "parcels": {
            "type": "array",
            "description": "Packages included in the LTL shipment for this rate option.",
            "items": {
              "$ref": "#/components/schemas/ParcelsResponse"
            }
          }
        }
      },
      "DeliveryCommitment": {
        "type": "object",
        "description": "Estimated delivery information for the LTL service.",
        "properties": {
          "estimatedDeliveryDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated delivery date and time for the shipment.",
            "example": "2026-02-20T17:00:00Z"
          },
          "minEstimatedNumberOfDays": {
            "type": "string",
            "description": "Minimum estimated transit duration label returned by the carrier.",
            "example": "THREE_DAYS"
          }
        }
      },
      "ParcelsResponse": {
        "type": "object",
        "description": "Package details used for LTL rating.",
        "properties": {
          "parcelType": {
            "type": "string",
            "description": "Type of handling unit used for the LTL package (for example, CARTON, PALLET).",
            "example": "CARTON"
          },
          "parcel": {
            "$ref": "#/components/schemas/ParcelDimensions"
          },
          "freightClass": {
            "type": "string",
            "description": "Freight classification used for LTL rating.",
            "example": "CLASS200",
            "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"
            ]
          },
          "proNumber": {
            "type": "string",
            "description": "PRO Number",
            "example": "794987622191"
          },
          "documents": {
            "$ref": "#/components/schemas/Document"
          }
        }
      },
      "ParcelDimensions": {
        "type": "object",
        "description": "Package dimensions and weight used for rating.",
        "properties": {
          "length": {
            "type": "number",
            "description": "Length of the package.",
            "example": 100
          },
          "height": {
            "type": "number",
            "description": "Height of the package.",
            "example": 10
          },
          "width": {
            "type": "number",
            "description": "Width of the package.",
            "example": 10
          },
          "dimUnit": {
            "type": "string",
            "description": "Unit of measurement for dimensions.",
            "example": "IN"
          },
          "weightUnit": {
            "type": "string",
            "description": "Unit of measurement for weight.",
            "example": "OZ"
          },
          "weight": {
            "type": "number",
            "description": "Weight of the package.",
            "example": 1600
          }
        }
      },
      "fromAddressV2": {
        "type": "object",
        "required": [
          "name",
          "addressLine1",
          "cityTown",
          "stateProvince",
          "postalCode",
          "countryCode",
          "phone"
        ],
        "description": "The complete address of the Sender.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Sender to which this address points.",
            "example": "Sender Name"
          },
          "addressLine1": {
            "type": "string",
            "description": "The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Sender. <br /> `Max length = 35`.",
            "example": "1600 Amphitheatre Parkway"
          },
          "addressLine2": {
            "type": "string",
            "description": "The addressLine2 contains Street address or Landmark (if any).",
            "example": "near abc street"
          },
          "addressLine3": {
            "type": "string",
            "description": "The addressLine3 contains P.O. Box (if any) near the address.",
            "example": "near xyz street"
          },
          "company": {
            "type": "string",
            "description": "The name of the company, in case if the senders address is not residential.",
            "example": "PB"
          },
          "email": {
            "type": "string",
            "description": "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. <br /> `Max length = 50` ",
            "example": "testuser@gmail.com"
          },
          "phone": {
            "type": "string",
            "description": "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"
          },
          "cityTown": {
            "type": "string",
            "description": "The name of the city or town the Sender's address belongs to. <br /> `Max length = 30`.",
            "example": "Mountain View"
          },
          "stateProvince": {
            "type": "string",
            "description": "\"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).\n<br /> 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.\n<br /> Please switch to the `Search` tab, select `Country codes` radio button, enter the required country name or country code, and then click `SEARCH` button. <br /> `Max length = 2`\"\n",
            "externalDocs": {
              "url": "https://www.iso.org/obp/ui/#iso:code:3166:CA",
              "description": "List of Province with their Province/State Codes."
            },
            "example": "CA"
          },
          "postalCode": {
            "type": "string",
            "description": "The Postal Code or ZIP Code of the address. <br /> For CA addresses, use a `six-character` alphanumeric string Postal Code in this format: 'A1A 1A1'. <br /> While for US addresses, use either the `5-digit` or `9-digit` ZIP Code in one of the following formats: '12345' or '12345-6789'. <br /> `Max length = 10`",
            "example": "94043"
          },
          "inductionPostalCode": {
            "type": "string",
            "description": "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.\n",
            "example": "06905"
          },
          "countryCode": {
            "type": "string",
            "description": "\"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. <br /> 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.\n<br /> Below is the hyperlink, please select `Country codes` and then click `SEARCH` button. <br /> `Max length = 2`\"\n",
            "externalDocs": {
              "url": "https://www.iso.org/obp/ui/#search",
              "description": "List of Countries with their ISO Codes"
            },
            "example": "US"
          },
          "residential": {
            "type": "boolean",
            "description": "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
          }
        }
      },
      "toAddressV2": {
        "type": "object",
        "required": [
          "name",
          "addressLine1",
          "cityTown",
          "stateProvince",
          "postalCode",
          "countryCode",
          "phone"
        ],
        "description": "The complete address of the Recipient or Department (in case if the address is not pointed to any individual recipient).",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Recipient.",
            "example": "Recipient Name"
          },
          "addressLine1": {
            "type": "string",
            "description": "The addressLine1 contains the Flat number, Building or Apartment Name/number (if any) or company name (if not residential) of the Recipient. <br /> `Max length = 35`.",
            "example": "350 Fifth Avenue"
          },
          "addressLine2": {
            "type": "string",
            "description": "The addressLine2 contains Street address or Landmark (if any).",
            "example": "near abc street"
          },
          "addressLine3": {
            "type": "string",
            "description": "The addressLine3 contains P.O. Box (if any) near the address.",
            "example": "near xyz street"
          },
          "cityTown": {
            "type": "string",
            "description": "The name of the city or town the Recipient belongs to. <br /> `Max length = 30`.",
            "example": "New York"
          },
          "stateProvince": {
            "type": "string",
            "description": "\"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).\n<br /> 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.\n<br /> Please switch to the `Search` tab, select `Country codes` radio button, enter the required country name or country code, and then click `SEARCH` button . <br /> `Max length = 2`\"\n",
            "externalDocs": {
              "url": "https://www.iso.org/obp/ui/#iso:code:3166:CA",
              "description": "List of Province with their Province/State Codes."
            },
            "example": "NY"
          },
          "postalCode": {
            "type": "string",
            "description": "\"The Postal Code or ZIP Code of the address.<br /> For CA addresses, use a `six-character` alphanumeric string Postal Code in this format: 'A1A 1A1'.<br /> While for US addresses, use either the `5-digit` or `9-digit` ZIP Code in one of the following formats: '12345' or '12345-6789'.<br /> `Max length = 30`\"\n",
            "example": "10118"
          },
          "countryCode": {
            "type": "string",
            "description": "\"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. <br /> 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.\n<br /> Below is the hyperlink, please select `Country codes` and then click `SEARCH` button. <br /> `Max length = 10`\"\n",
            "externalDocs": {
              "url": "https://www.iso.org/obp/ui/#search",
              "description": "List of Countries with their ISO Codes"
            },
            "example": "US"
          },
          "company": {
            "type": "string",
            "description": "The name of the company, in case if the recipient address is not residential. Recipient company is required for RMG b2b shipment.",
            "example": "PB"
          },
          "phone": {
            "type": "string",
            "description": "This is Recipient's phone number. Enter the digits with or without spaces or hyphens. <br /> `Max length = 15`.",
            "example": "2127363100"
          },
          "email": {
            "type": "string",
            "description": "This must be recipient's valid email. Email is required if the customer is using GoFor Carrier. <br /> `Max length = 50` ",
            "example": "recipient@gmail.com"
          },
          "residential": {
            "type": "boolean",
            "description": "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
          },
          "isPOBox": {
            "type": "boolean",
            "description": "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
          }
        }
      },
      "Parcels": {
        "type": "array",
        "description": "Parcel details specific to LTL (Less-Than-Truckload) shipments.",
        "items": {
          "type": "object",
          "required": [
            "parcelType",
            "parcel",
            "freightClass"
          ],
          "properties": {
            "parcelType": {
              "type": "string",
              "description": "Parcel type for the LTL handling unit.\nExamples include CARTON, PALLET, CRATE, etc.\n",
              "example": "CARTON"
            },
            "parcel": {
              "type": "object",
              "description": "Parcel details, including dimensions and weight.",
              "required": [
                "length",
                "width",
                "height",
                "dimUnit",
                "weightUnit",
                "weight"
              ],
              "properties": {
                "length": {
                  "type": "number",
                  "description": "Length of the parcel. This is the greatest dimension.",
                  "example": 100
                },
                "width": {
                  "type": "number",
                  "description": "Width of the parcel. Conventionally the second largest dimension.",
                  "example": 10
                },
                "height": {
                  "type": "number",
                  "description": "Height of the parcel. Conventionally the smallest dimension.",
                  "example": 10
                },
                "dimUnit": {
                  "type": "string",
                  "description": "Unit of measurement for dimensions.",
                  "enum": [
                    "IN",
                    "CM"
                  ],
                  "example": "IN"
                },
                "weightUnit": {
                  "type": "string",
                  "description": "Unit of measurement for weight.",
                  "enum": [
                    "OZ",
                    "GM"
                  ],
                  "example": "OZ"
                },
                "weight": {
                  "type": "number",
                  "description": "Weight of the parcel.",
                  "example": 1600
                },
                "packageValue": {
                  "type": "number",
                  "description": "Declared value of the parcel.",
                  "example": 2
                }
              }
            },
            "freightClass": {
              "type": "string",
              "description": "Freight class assigned to the LTL package.",
              "example": "CLASS200",
              "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"
              ]
            },
            "items": {
              "type": "array",
              "description": "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.",
              "items": {
                "type": "object",
                "properties": {
                  "itemId": {
                    "type": "string",
                    "description": "Unique identifier of the item within the parcel.",
                    "example": "1"
                  },
                  "orderNumber": {
                    "type": "string",
                    "description": "Order number associated with the item.",
                    "example": "ORD-12345"
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of the item.",
                    "example": "Package 2 Documents"
                  },
                  "hSTariffCode": {
                    "type": "string",
                    "description": "Harmonized System (HS) tariff code used to classify the item for customs and duties.",
                    "example": "AST559"
                  },
                  "originCountryCode": {
                    "type": "string",
                    "description": "ISO country code representing the country of origin where the item was manufactured.",
                    "example": "CA"
                  },
                  "originStateProvince": {
                    "type": "string",
                    "description": "State or province code representing the state/province of origin where the item was manufactured.",
                    "example": "MB"
                  },
                  "quantity": {
                    "type": "integer",
                    "description": "Quantity of this item in the handling unit.",
                    "example": 1
                  },
                  "unitPrice": {
                    "type": "number",
                    "description": "Unit price of the item.",
                    "example": 101
                  },
                  "weightUnit": {
                    "type": "string",
                    "description": "Unit of measurement for the item weight.",
                    "enum": [
                      "OZ",
                      "LB",
                      "GM",
                      "KG"
                    ],
                    "example": "LB"
                  },
                  "weight": {
                    "type": "number",
                    "description": "Weight of the item.",
                    "example": 100
                  }
                }
              }
            }
          }
        }
      },
      "additionalAddresses": {
        "type": "array",
        "description": "A list of additional addresses associated with the order.\n",
        "items": {
          "type": "object",
          "properties": {
            "address": {
              "type": "object",
              "description": "The additional address details.",
              "properties": {
                "residential": {
                  "type": "boolean",
                  "example": false,
                  "description": "If the address is residential."
                },
                "phone": {
                  "type": "string",
                  "example": "732-443-1007",
                  "description": "Contact phone number for the address."
                },
                "countryCode": {
                  "type": "string",
                  "example": "US",
                  "description": "The ISO 2-letter country code."
                },
                "company": {
                  "type": "string",
                  "example": "ABC Company",
                  "description": "The name of the company associated with the address."
                },
                "postalCode": {
                  "type": "string",
                  "example": "08810-1411",
                  "description": "ZIP or postal code."
                },
                "cityTown": {
                  "type": "string",
                  "example": "DAYTON",
                  "description": "Name of the city or town."
                },
                "name": {
                  "type": "string",
                  "example": "Warehouse Manager",
                  "description": "Name of the contact person."
                },
                "stateProvince": {
                  "type": "string",
                  "example": "NJ",
                  "description": "State or province code."
                },
                "addressLine1": {
                  "type": "string",
                  "example": "2270 US HIGHWAY 130",
                  "description": "Primary street address line."
                }
              }
            },
            "addressType": {
              "type": "string",
              "example": "BILLING",
              "description": "Type of the additional address (e.g., BILLING). This is required if passing `additionalAddresses`."
            }
          }
        }
      },
      "LTLDetails": {
        "type": "object",
        "description": "Details specific to LTL (Less-Than-Truckload) shipments.",
        "required": [
          "packages"
        ],
        "properties": {
          "packages": {
            "type": "array",
            "minItems": 1,
            "description": "List of LTL packages (handling units) included in the shipment.",
            "items": {
              "type": "object",
              "required": [
                "parcelType",
                "parcel",
                "freightClass"
              ],
              "properties": {
                "parcelType": {
                  "type": "string",
                  "description": "Parcel type for the LTL handling unit.\nExamples include CARTON, PALLET, CRATE, etc.\n",
                  "example": "CARTON"
                },
                "parcel": {
                  "type": "object",
                  "description": "Parcel details, including dimensions and weight.",
                  "required": [
                    "length",
                    "width",
                    "height",
                    "dimUnit",
                    "weightUnit",
                    "weight"
                  ],
                  "properties": {
                    "length": {
                      "type": "number",
                      "description": "Length of the parcel. This is the greatest dimension.",
                      "example": 100
                    },
                    "width": {
                      "type": "number",
                      "description": "Width of the parcel. Conventionally the second largest dimension.",
                      "example": 10
                    },
                    "height": {
                      "type": "number",
                      "description": "Height of the parcel. Conventionally the smallest dimension.",
                      "example": 10
                    },
                    "dimUnit": {
                      "type": "string",
                      "description": "Unit of measurement for dimensions.",
                      "enum": [
                        "IN",
                        "CM"
                      ],
                      "example": "IN"
                    },
                    "weightUnit": {
                      "type": "string",
                      "description": "Unit of measurement for weight.",
                      "enum": [
                        "OZ",
                        "GM"
                      ],
                      "example": "OZ"
                    },
                    "weight": {
                      "type": "number",
                      "description": "Weight of the parcel.",
                      "example": 1600
                    },
                    "packageValue": {
                      "type": "number",
                      "description": "Declared value of the parcel.",
                      "example": 2
                    }
                  }
                },
                "freightClass": {
                  "type": "string",
                  "description": "Freight class assigned to the LTL package.",
                  "example": "CLASS200",
                  "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"
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}