FedEx

Ensure your FedEx account is registered and verified, and create FedEx shipping labels.

About FedEx® shipping

You can create FedEx® shipping labels for the service methods and packaging types listed in this document.

FedEx® service methods supported

The following service methods are supported for FedEx:

  • FedEx International Economy®
  • FedEx International Ground®
  • FedEx® International Connect Plus
  • FedEx International Connect Tracked DDP
  • FedEx International Connect Tracked DDU
  • FedEx Standard Overnight®
  • FedEx 2Day®
  • FedEx 2Day® A.M.
  • FedEx Home Delivery®
  • FedEx First Overnight®
  • FedEx Priority Overnight®
  • FedEx Express Saver®
  • FedEx Ground®
  • FedEx International Priority® Express
  • FedEx International First®
  • FedEx International Priority®
  • FedEx Economy®
  • FedEx Ground® Economy
  • FedEx Ground® Economy Bound Printed Matter
  • FedEx Ground® Economy Media Mail
  • FedEx Ground® Economy Returns
  • FedEx Ground® Economy (under 1 lb.)
  • FedEx® Electronic Trade Documents
  • FedEx First Overnight® Extra Hours
  • FedEx Standard Overnight® Extra Hours
  • FedEx Priority Overnight® Extra Hours
  • FedEx One Rate®. Additional details for using FedEx One Rate® are included in the FedEx One Rate® section of this document.

FedEx® Delivery Signature Options:

  • No Signature Required
  • Indirect Signature Required
  • Direct Signature Required
  • Adult Signature Required

FedEx® packaging types supported

The following packaging types are supported for FedEx shipments:

  • FedEx® Envelope
  • FedEx® Pak
  • FedEx® Box
  • FedEx® Small Box
  • FedEx® Medium Box
  • FedEx® Large Box
  • FedEx® Extra Large Box
  • FedEx® Tube
  • Your Packaging

FedEx service marks are owned by Federal Express Corporation and are used by permission.

Configure your FedEx account with Shipium

To configure your FedEx account within the Shipium platform, you'll first need to confirm the account number associated with your login. The FedEx Log In homepage is where you'll log in to verify the account.

Next, you'll need to access the Shipium Console. From the navigation menu, you'll select Configure and then FedEx Account Registration.

You'll provide your FedEx account billing address and indicate your acceptance of the license agreement authorizing Shipium to access your FedEx account on your behalf. Once you've entered all the required information, you'll select the Validate button.

The next step is selecting the multi-factor authentication method preferred for the account. You can provide a past FedEx invoice, you can be sent a one-time PIN, or you can contact FedEx directly. If providing a past invoice, you'll enter the required data and select Validate.

If choosing the PIN method, you'll choose the way you wish to receive the PIN verification: via SMS text message, email, or phone call. You'll provide the seven-digit verification code once you have it.

If contacting FedEx, you'll call customer support and provide the required details to validate your identity and authorize your access and select Validate once you've completed the process.

Finally, you'll see the successful registration message in the console. With a successful registration, the values for your FedEx Child API Key and FedEx Child API Secret will auto populate.

Billing options

FedEx supports multiple billing account types as well as billing multiple payor accounts separately for costs associated with a shipment. You can find information about billing options for FedEx in Specifying Payors.

Shipping options

Declared value for packages

When shipping with FedEx, you may optionally declare a value for the package being shipped. The following FedEx service methods are available to declare a package value:

  • FedEx Express Saver®
  • FedEx Express Saver® - FedEx One Rate®
  • FedEx First Overnight®
  • FedEx Ground®
  • FedEx Ground® - From Alaska
  • FedEx Ground® - From Hawaii
  • FedEx Ground® Economy
  • FedEx Ground® Economy (under 1 lb.)
  • FedEx Priority Overnight®
  • FedEx Priority Overnight® - From Alaska
  • FedEx Priority Overnight® - From Hawaii
  • FedEx Priority Overnight® - FedEx One Rate®
  • FedEx Priority Overnight® - FedEx One Rate® From Alaska
  • FedEx Priority Overnight® - FedEx One Rate® From Hawaii

To declare a package value, you'll include the optional fields in the table below as part of the shipmentParameters in your API call.

Request field

Details

totalDeclaredValue.declaredValue

Type: Number (float)
Example: 500
Description: The value to be passed through as the total monetary amount of the declared value for the package. This is what will be reimbursed if the package is damaged. If the declared value exceeds the carrier's free threshold, there may be a surcharge for passing a declared value.

totalDeclaredValue.currencyCode

Type: String
Example: usd
Description: The currency code for the declared value

A snippet of the JSON request for the API call with the optional declared value fields is included. This example is for a single-parcel shipment. The request fields for a multi-parcel shipment would be included in multiParcelShipmentParameters.

{
"shipmentParameters": {

   "totalDeclaredValue": {
        "declaredValue": 5000,
        "currencyCode": "usd",
 ...
     }
}

FedEx® Ground Economy (formerly SmartPost)

FedEx Ground Economy, formerly referred to as FedEx SmartPost, is a shipping method that requires you to provide an identification (ID) number for the FedEx processing hub located closest to your fulfillment center, or origin. You can find guidance for providing your hub ID in the Carrier Contracts documentation. For packages weighing 15.99 ounces or less, the FedEx Ground Economy service method is rated on actual weight and is not subject to dimensional weight.

FedEx International Connect (FIC)

FedEx International Connect (FIC) is a cost-effective international shipping service designed for lightweight, low-value e-commerce parcels. FIC uses consolidated customs clearance with final-mile delivery handled by destination postal services or local carriers, making it well suited for non-urgent business-to-consumer shipments where cost savings take priority over speed.

📘

FIC is separate from the standard FedEx network

FIC operates through FedEx Cross Border and uses a dedicated integration that is distinct from other FedEx service methods. Customers must have an active FIC agreement with FedEx before enabling these service methods in Shipium.

FIC service methods

Shipium supports the following FIC service methods: FedEx International Connect Tracked DDP and FedEx International Connect Tracked DDU. Both service methods ship at the International One to Two Week service level.

DDP vs. DDU

The two FIC service methods differ in how duties and taxes are handled at the destination:

  • FedEx International Connect Tracked DDP. Delivered Duty Paid. Duties and taxes are pre-paid by the shipper at the time of label creation. The recipient receives the package without owing any additional fees at delivery. DDP is available to approximately 150 destination countries.
  • FedEx International Connect Tracked DDU. Delivered Duty Unpaid. Duties and taxes are the responsibility of the recipient and are collected at the time of delivery. DDU is available to 170+ destination countries with broad global coverage.

Set up your FIC account with Shipium

Before configuring FIC in Shipium, you must have an active FedEx International Connect account. To obtain your FIC credentials, contact FedEx directly at [email protected]. FedEx will provide both your production and test mode API keys during the onboarding process.

📘

FedEx label approval

FedEx requires an internal label approval step before your FIC account is fully activated for production. Your FedEx onboarding contact will guide you through this process.

FIC credentials are added within the standard FedEx Corporation carrier account workflow in the Shipium Console. During the carrier account setup, you will provide your FIC credentials in the Credentials step alongside your standard FedEx account information.

  • FedEx FIC API Key. Your production FIC API key, provided by FedEx during onboarding. Required to generate FIC labels.
  • FedEx FIC API Key (Test Mode). Your FIC test mode API key, provided by FedEx during onboarding. Used for sandbox label generation.

Package requirements

All FIC shipments must include weight and dimensions. FIC does not have a rating API — rates are based on offline rate tables configured in your Shipium account.

RequirementLimit
Maximum weight66 lb
Maximum combined length + girth98.4 in
Maximum length59 in
Dimensional weight divisor139

Billable weight is calculated as the greater of actual weight and dimensional weight, rounded up to the nearest pound.

Customs requirements for FIC shipments

Incomplete or vague customs information can result in clearance delays or rejected shipments. The fields below are required for every FIC shipment and are included within customsInfo in the shipmentParameters of your API call.

For full definitions of all available customs fields, see Customs Info for Shipments.

Required fields

🚧

Incoterm

Always include incoterm in your customsInfo and set it to match your selected service method: ddp for FedEx International Connect Tracked DDP, or ddu for FedEx International Connect Tracked DDU.

📘

Total customs value

You do not need to include totalCustomsValue in your API call. Shipium calculates the shipment-level customs total automatically by summing the customsValue across all items.

Request field

Details

customsInfo.incoterm

Type: String
Example: ddp
Description: The incoterm for the shipment. Use ddp for FedEx International Connect Tracked DDP or ddu for FedEx International Connect Tracked DDU.

customsInfo.totalCustomsValueCurrency

Type: String
Example: usd
Description: The ISO 4217 currency code for the shipment's customs value. FIC uses a single currency for all items in the shipment.

customsInfo.customsItems[].commodityDescription

Type: String
Example: Men's 100% Cotton Knitted T-Shirt
Description: A specific, accurate description of the item. Generic values such as "Clothing," "Gift," or "Merchandise" are not accepted by FIC and will cause clearance delays.

customsInfo.customsItems[].customsValue

Type: Number (float)
Example: 18.31
Description: The declared customs value for a single item. When multiple units are included, this is the per-unit value. Shipium uses the sum of all item values as the shipment-level customs total.

customsInfo.customsItems[].countryOfManufacture

Type: String
Example: US
Description: The 2-letter ISO country code where the item was manufactured or produced. Required for duties and tax calculation across FIC trade lanes.

customsInfo.customsItems[].quantity

Type: Integer
Example: 3
Description: The number of units of this item in the shipment

customsInfo.customsItems[].productId

Type: String
Example: SKU-ABC-123
Description: Your internal SKU or product identifier for the item. Used as the primary item identifier within the FIC network.

customsInfo.customsItems[].harmonizedTariffNumber

Type: String
Example: 6109100010
Recommended: The Harmonized System (HS) tariff code for the item, 6–10 digits depending on the destination country. While not required, including a valid HS code reduces the risk of customs delays.

Example request

The following is a JSON snippet showing the required customs fields for a single-item FIC shipment. This example is for a single-parcel shipment included within shipmentParameters.

{
  "shipmentParameters": {
    "customsInfo": {
      "incoterm": "ddp",
      "totalCustomsValueCurrency": "usd",
      "customsItems": [
        {
          "harmonizedTariffNumber": "6109100010",
          "commodityDescription": "Men's 100% Cotton Knitted T-Shirt",
          "customsValue": 54.95,
          "countryOfManufacture": "CN",
          "quantity": 1,
          "productId": "SKU-ABC-123"
        }
      ]
    }
  }
}

Hold at location

You may opt to designate a shipment as "hold at location", or HAL, if you'd like to have a package held for pickup at a FedEx location nearby rather than having it delivered to an address. To flag a package as HAL, you'll need to include the fields in the tables below as part of the labelParameters in your API call.

Conditional fields

Request field

Details

holdAtLocation.useHoldAtLocation

Type: Boolean
Values: true or false
Condition: Required to designate a package as "hold at location"
Description: If true, this indicates that the shipper wishes to have the package held at a FedEx location nearby for pickup rather than having it delivered.

Optional fields

Request field

Details

holdAtLocation.holdAtLocationId

Type: String
Example: USA 123
Description: An optional identifier your organization can include to reference the package being held at location

A snippet of the JSON request for the API call with the optional hold at location fields is included.

{
"labelParameters": {

   "holdAtLocation": {
        "useHoldAtLocation": true,
        "holdAtLocationId": "USA 123",
 ...
     }
}

Lithium batteries and limited quantity shipments

When shipping limited quantity (LQ) lithium ion batteries via FedEx Ground services, including FedEx International Ground® to Canada, these shipments do not require full dangerous goods (DG) documentation. FedEx treats LQ lithium batteries as regular ground shipments rather than hazmat shipments.

Important. FedEx Ground services do not support the BATTERY or DANGEROUS_GOODS special services. These special services are only available for FedEx Express (air) services.

Request configuration

To ship LQ lithium ion batteries (UN3480) via FedEx International Ground, configure your API request with the following in orderItemQuantities:

hazmat. Set to false. Do not flag these shipments as hazmat.

productDetails. Include ["limited_quantity"] to identify the shipment as limited quantity.

A snippet of the JSON request for the API call is included.

{
  "orderItemQuantities": [
    {
      "productId": "PROD-12345",
      "productQuantity": 1,
      "hazmat": false,
      "productDetails": ["limited_quantity"]
    }
  ]
}

Shipper responsibilities

When shipping LQ lithium batteries via FedEx Ground, you are responsible for affixing the limited quantity diamond label to each package. This is a physical packaging requirement, typically using pre-printed packaging or pressure-sensitive labels.

Packaging types

FedEx One Rate®

FedEx One Rate® is a flat-rate shipping option that lets your organization ship packages that weigh 50 pounds or less to anywhere in the U.S. for a fixed price. This shipping method does not include dangerous goods. You can find more details about this shipping method in FedEx's One Rate documentation.

Shipium supports selection of the FedEx One Rate® shipping method. Some FedEx One Rate® methods require designating them in your calls to Shipium's Carrier and Method Selection and Label Service APIs, while others are automatically included in rate shopping considerations based on package dimensions.

To use the FedEx One Rate® shipping methods, you'll first need to set up a carrier contract for the FedEx One Rate® in the Shipium Console.

Configure FedEx One Rate® for your account

To start using FedEx One Rate® within the Shipium platform, you'll need to set up your account in the Shipium Console to include applicable FedEx One Rate® service methods. You can find instructions for establishing a fulfillment context for your organization and attaching a carrier service method and rate to that context in the Fulfillment Contexts documentation.

Specifically, once you have configured a fulfillment context with an origin (or fulfillment center), you'll follow the guidance in the Carrier Contracts documentation to establish carrier contracts, accounts, and rates. The carrier rates configuration is where you'll select the FedEx One Rate® service methods applicable to your account.

Within the carrier rate workflow, you'll select the carrier service method to associate with the carrier rate from a dropdown menu, as shown in the following screenshot.

After completing this configuration, you can designate FedEx One Rate® as your shipping method.

Designate FedEx One Rate® as your shipping method

For FedEx One Rate® methods that include boxes, you do not need to specify the method type in your API call. These methods are automatically included in rate shopping, based on the package dimensions you include in your call request. Dimensions for the packaging your organization will use to ship via FedEx One Rate® must be within the volume thresholds defined by FedEx for each box package type:

  • FedEx One Rate® - FedEx® Extra Large Box, maximum volume 2,200 cubic inches
  • FedEx One Rate® - FedEx® Large Box, maximum volume 1,100 cubic inches
  • FedEx One Rate® - FedEx® Medium Box, maximum volume 650 cubic inches
  • FedEx One Rate® - FedEx® Small Box, maximum volume 420 cubic inches

However, for three of the non-box FedEx One Rate® methods, you'll need to designate the specific method you wish to use. As part of the shipment parameters of an API call, you'll provide one of these three FedEx One Rate® service methods as the shipment's packaging material, as part of the packaging type:

  • FedEx One Rate® - FedEx® Envelope
  • FedEx One Rate® - FedEx® Pak
  • FedEx One Rate® - FedEx® Tube

The following is a snippet of a JSON request call to Shipium's APIs. The minimum required fields for successfully selecting a FedEx One Rate delivery method are included in the sample request and are defined in the tables below, which also include optional fields that you may include in your call.

You can find information about package dimensions and FedEx One Rate® service methods in FedEx's One Rate documentation.

"packagingType": {
        "packagingMaterial": "fedex_one_rate_envelope"
      },
      "totalWeight": {
        "weightUnit": "lb",
        "weight": 0.5

Required fields

Request field

Details

shipmentParameters.packagingType .packagingMaterial

Type: String (enumeration)
Values: fedex_one_rate_envelope, fedex_one_rate_pak, fedex_one_rate_tube
Description: The applicable FedEx One Rate® service method should be included as the packagingMaterial value.

shipmentParameters.packagingType .totalWeight.weightUnit

Type: String (enumeration)
Values: g (gram), kg (kilogram), lb (pound), oz (ounce)
Description: The unit in which weight values are provided

shipmentParameters.packagingType .totalWeight.weight

Type: Number (float)
Example: 50
Description: The value of the weight. Weights are limited to 10 pounds for envelopes and 50 pounds for boxes using the FedEx One Rate® service methods.

Conditional fields

Request field

Details

shipmentParameters.packagingType .linearDimensions.linearUnit

Type: String (enumeration)
Values: cm (centimeter) or in (inch)
Condition: Required if the packagingTypeId is not included Description: The unit in which linear dimensions are provided

shipmentParameters.packagingType .linearDimensions.length

Type: Number (float)
Example: 13
Condition: Required if the packagingTypeId is not included
Description: The longest linear dimension (i.e., the longest side of a box or envelope)

shipmentParameters.packagingType .linearDimensions.width

Type: Number (float)
Example: 12
Condition: Required if the packagingTypeId is not included
Description: The second longest linear dimension (i.e., the second longest side of a box or envelope)

shipmentParameters.packagingType .linearDimensions.height

Type: Number (float)
Example: 10
Condition: Required if the packagingTypeId is not included Description: The least long linear dimension (i.e., the shortest side of a box or envelope)
Note: For envelopes, this height should represent the highest product you would reasonably put in this envelope before losing more than 10% of the length of the envelope in other dimensions.

Optional fields

Request field

Details

shipmentParameters.packagingType .packagingSizeName

Type: String
Example: 13x12x10 box
Description: A custom name for the packaging

shipmentParameters.packagingType .packagingTypeId

Type: String
Example: ebd94f8b-d390-4c9c-987f-b88343f5bf45
Description: The packagingTypeId that was used for this package. When this value is present, the dimensions defined in the partner are used. When this value is absent, linearDimensions is required.

shipmentParameters.packagingType .packagingWeight.weightUnit

Type: String (enumeration)
Values: g (gram), kg (kilogram), lb (pound), oz (ounce)
Description: The unit in which weight values are provided

shipmentParameters.packagingType .packagingWeight.weight

Type: Number (float)
Example: 50
Description: The value of the weight

The sample snippet from the JSON request would look like this if you included the optional fields referenced in the table above. If you choose not to provide the optional fields in your API call, they will be autofilled.

"packagingType": {
        "packagingMaterial": "fedex_one_rate_envelope",
        "packagingSizeName": "4x6x10 Envelope",
        "packagingTypeId": "ebd94f8b-d390-4c9c-987f-b88343f5bf45",
        "linearDimensions": {
          "linearUnit": "in",
          "length": 10,
          "width": 6,
          "height": 4
        },
        "packagingWeight": {
          "weightUnit": "lb",
          "weight": 0.5
        }
      },
      "totalWeight": {
        "weightUnit": "lb",
        "weight": 1
      }

FedEx® 25kg Box and FedEx® 10kg Box

FedEx provides special 25 kilogram (kg) and 10 kg boxes for international priority services, for which flat rate pricing applies.

The following is a snippet of a JSON request call to Shipium's APIs. The required packaging type field for selecting a 25 kg or 10 kg box is included in the sample request and defined in the table below. For single-parcel shipments, this is included in shipmentParameters; for multi-parcel shipments, it is included in multiParcelShipmentParameters.

"packagingType": {
        "packagingMaterial": "fedex_twenty_five_kg_box"
      }

Request field

Details

shipmentParameters.packagingType .packagingMaterial

Type: String (enumeration)
Values: fedex_twenty_five_kg_box or fedex_ten_kg_box
Condition: Required to select a 25 kg or 10 kg box
Description: The type of packaging used to create the package for the shipment

Tire loss labels

If you need to provide tire identification labels when shipping with FedEx, you'll include the type you need as part of the packaging type within shipmentParameters (or multiParcelShipmentParameters for multi-parcel shipments) when calling Shipium's APIs. The required packaging type field for selecting the type of label for a tire is included in the sample request and defined in the table below.

"packagingType": {
        "packagingMaterial": "small_tire"
      }

Request field

Details

shipmentParameters.packagingType .packagingMaterial

Type: String (enumeration)
Values: small_tire (for the 4 in x 8.5 in label stock type) or large_tire (for the 4 in x 10.5 in label stock type)
Condition: Required to select a tire label
Description: The type of packaging used to create the package for the shipment

FAQ

Q: Can I use FedEx Ground® shipping as part of the FedEx One Rate®?
A: No. FedEx Ground® shipping is not available with FedEx One Rate® pricing.


Q: Will there be additional surcharges, like fuel, added to my invoice if I use FedEx One Rate® shipping methods?
A: Additional surcharges can apply. The FedEx One Rate documentation provides details.


Q: Can I ship hazardous materials (hazmat) via FedEx One Rate® methods?
A: No. Because dangerous goods cannot be shipped in FedEx Express® packaging, FedEx One Rate® is not available. The FedEx One Rate documentation provides details.

Resources

Your Shipium team member is available to help along the way. However, you might find these resources helpful: