NOTE: - FedEx Account number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
- If any of the shipment commodities’ Country of Manufacture is CN/HK
This API enables you to create a shipment and allows you to add packages to the shipment over a period of time, rather than entering all the shipment and package information all at once. Use the Open Ship API when you want to add multiple packages to a shipment but you're unsure of how many packages you plan to add or when the shipment will be completed. This gives you a flexible way to prepare your shipment throughout the day until you are ready to ship.
Open shipments remain open for a five-day period after the shipment date and allow package additions and modifications during that time. After the shipment is confirmed, the shipping paperwork such as labels, AWB, or reports can be generated. At the end of the fifth day, the shipment must be confirmed or it will be purged.
Note: Open shipments will be purged if they are not confirmed by the end of fifth day from the shipment date.
Open ship shipments are often multiple-piece shipments but can also be single package shipments, referred to as single-piece shipments. To ship a multiple-piece shipment (MPS) to a single consignee, add individual packages to the shipment, or add multiple packages if they are going to the same recipient.
The following services are associated with open shipments:
This feature allows shippers to create, modify, and delete open shipments, or retrieve an existing open shipment for review or verification purposes. It allows confirmation of the completed shipment to transfer shipment data to FedEx and generation of appropriate shipment paperwork. It also identifies and reports any errors in the transaction and provides appropriate status.
The key information for this feature includes accountNumber, Shipment Data, groupPackageCount, and index to denote the master package in the shipment. The result of this feature ensures shipment data is uploaded to the FedEx systems and appropriate tracking numbers, labels and shipment reports are generated.
This feature allows you to add, modify, and delete packages in an existing open shipment. You can also retrieve the existing package for an open shipment.
Use this feature to retrieve confirmed shipment results asynchronously. When an open shipment with 40 or more packages is confirmed, the API processes the shipment asynchronously.
When the shipment is asynchronously processed, the response to this request only confirms that the request is queued successfully. The shipment might or might not be successfully processed. As a response, it returns jobId to retrieve the result later. This feature uses jobId to retrieve the OpenShipment Results (CREATE, MODIFY & CONFIRM) which could be labels or shipment reports. It also identifies and reports any errors in the shipment and provides appropriate status.
Note: If there are errors in the asynchronous shipment response, fix the errors and submit a new shipment request.
This section describes in detail workflow of Open Ship API. Workflows are managed in two ways, using two processing options.
accountNumber and index.index and accountNumber of the open shipment for which the packages are added.index, and accountNumber of the shipment to be confirmed.The Confirm Open Shipment endpoint is the final endpoint in this flow which validates the shipment and package information and successfully generates labels and all other reports for the shipment. It also provides the error details returned during validation. These errors can be fixed using the endpoints Modify Open Shipment or Modify Open Shipment Packages and confirming the shipment again for successful request.
accountNumber and index.index and accountNumber of the open shipment for which the packages are to be added.index, and accountNumber of the shipment to be confirmed. In this case since the packages are more than 40, the API processes the shipment asynchronously and returns jobId to be used later to retrieve the shipment results. If the response includes errors, then these errors should be fixed using the Modify Open Shipment or Modify Open Shipment Packages endpoints. After errors are resolved, confirm the shipment using the Confirm Open Shipment endpoint.jobId and accountNumber for confirmed shipment.The Get Open Shipment Results endpoint is the final endpoint in this flow. Use it to retrieve the confirmed open shipment results such as labels and all other reports for the confirmed open shipment. If error details are returned in the response, fix the errors using the Modify Open Shipment or Modify Open Shipment Packages endpoint, then confirm the shipment using endpoint Confirm Open Shipment. Finally, use the Get Open Shipment Results endpoint to retrieve the confirmed open shipment results for the successful request.
Use the Create Open Shipment endpoint to create an open shipment with required shipment information and at least one package in the shipment.
The following information is required when creating an open shipment:
openShipmentAction – This is the Open Shipment action and, in this case, use value as CREATE_PACKAGE.accountNumber – This is FedEx account number.requestedShipment – The shipment details of the Open Shipment.index –unique value for the Open Shipment, this value is useful in modifying the shipment or the package. This is optional, if not provided, the master tracking number can be used to uniquely identify the shipment.A successful response to this request processes the shipment and generates a master tracking number for the first package. No labels will be generated in the response.
Tip: If your company requires a Purchase Order number or another internal reference to appear on each shipment in the invoice, your implementation can specify that the customerReferences field is mandatory during AWB (air waybill) creation. This field can help to ensure that all shipments correctly include the internal reference used by your company, enabling a smooth payment process.
Use the Add Open Shipment Packages endpoint to add one or more packages to an existing open shipment before the shipment is confirmed. You can send a separate Add Package request for each of your packages as you prepare your shipment throughout the day. You can also send in multiple pieces within one Add Package request.
Note: The total number of packages for the shipment must not exceed the open shipping package limit.
The following information is required when adding packages to an open shipment:
index – This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.requestedPackageLineItem – Detailed package (s) information to be added.accountNumber – This is FedEx account number.A successful response to this request generates a tracking number for the newly added package.
Use the Modify Open Shipment Packages endpoint to modify one or more package details from an existing open ship shipment before the shipment is confirmed. This includes the master package as well, which is the first package added to the open shipment.
The following information is required when modifying packages:
index – This is a unique value assigned to the already created Open Shipment. If this is not available, then provide the master tracking number.accountNumber – This is FedEx account number.trackingId – One or more Open Ship Package(s) Tracking Id of the packages to be modified.requestedPackageLineItem – Detailed package(s) information to be modified.Please note that when entering decimal values for length, width, or height, only the whole number portion is used for rate calculations. For example, if you enter 9.4, the system will use 9 in the calculation.
A successful request updates the intended packages and returns the updated shipment details.
Use the Delete Open Shipment Packages endpoint to delete one or more packages from an existing open shipment before the shipment is confirmed.
The following information is required when deleting packages:
index – This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.accountNumber – This is FedEx account number.trackingId – One or more Open Ship Package(s) Tracking Id for which the delete request is received.A successful request deletes the intended packages and returns the status for the element deletedPackagesFromOpenshipment as true in the output.
Note: If the master package is deleted in the shipment, the next package in sequence becomes the master package and master tracking number is reassigned to it and the sequence of numbers are decreased by the number of deleted packages.
Use the Retrieve Open Shipment Package endpoint to retrieve one or more packages from an existing open shipment so that you can review and verify.
The following information is required for this request:
index – This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.accountNumber – This is FedEx account number.trackingId – One or more Open Ship Package(s) Tracking Id for which details are to be retrieved.A successful request retrieves the specified packages.
Use the Modify Open Shipment endpoint to modify an Open Shipment request with the required shipping information before the shipment is confirmed.
The following information is required to modify an open shipment:
index – This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.accountNumber – This is FedEx account number.requestedShipment – The shipment details for which an Open Shipment is modified.A successful request updates the shipment details of an existing open shipment and returns the tracking number for the modified package(s) and updated transaction shipment details as an output.
Use the Retrieve Open Shipment endpoint to retrieve an existing open shipment so that you can review and verify its details.
The following information is required for this request:
index – This is a unique value assigned to the already created Open Shipment. If this is not available, then provide the master tracking number.accountNumber – This is FedEx account number.A successful request retrieves the open shipment details.
Use the Delete Open Shipment endpoint to delete an open shipment before the shipment is confirmed.
The following information is required when deleting an open shipment:
index – This is a unique value assigned to the already created Open Shipment. If this is not available, then provide the master tracking number.accountNumber – This is FedEx account number.A successful request deletes an open shipment and all its associated packages. It returns the status in the element deletedOpenshipment as true in the output.
Use the Confirm Open Shipment endpoint to validate and upload the open ship shipment data to FedEx after all packages are added in the shipment request.
The following information is required for this request:
index – This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.accountNumber – This is FedEx account number.labelResponseOptions – Specify whether the encoded bytecode or the label URL to be returned in the response.labelResponseOptions is available only in the Confirm Open Shipment Request and post confirmation of shipment, labels are generated.A successful confirmation response for 40 or fewer packages uploads shipment data to FedEx and generates package labels and all other shipment reports.
A successful confirmation response for more than 40 packages confirms that the request is queued successfully and returns the jobId that you can use to retrieve results later.
Note: A minimum of one package must be included in open shipment before you can confirm the shipment.
Use the Get Open Shipment Results endpoint to get confirmed open ship shipment data. This endpoint should only be used when the shipment has more than 40 packages and jobId is returned in the after confirming an open shipment.
The following information is required for this request:
resultMethodType – Specify value as CREATE.accountNumber – This is FedEx account number.jobId – This is the jobId received during Open Shipment confirmation.A successful response for this request returns the confirmed open shipment results such as package labels and all other shipment reports for the confirmed open shipment. If error details are returned in the response, then these errors can be fixed using the Modify Open Shipment or Modify Open Shipment Packages endpoint. After resolving the errors, confirm the shipment using the Confirm Open Shipment endpoint and then use Get Open Shipment Results to retrieve the confirmed open shipment results for the successful request.
A multiple-piece open shipment (MPS) consists of two or more packages shipped to the same recipient addresses. The first package in the shipment request is considered the master package.
To create a multiple-piece shipment:
After the shipment confirmation, one of the below processing options is used:
Synchronous Shipment Processing
Synchronous processing is one of the optimal processing methods, which is used internally when a shipment has either 40 or less packages (total package count/grouppackagecount<=40) with limited commodities in the shipment.
Shipment request with 40 or less packages when confirmed will be processed synchronously and the labels, shipment documents/reports will be generated instantaneously. This process is optimal for shippers, if there is a time constraint and if the labels must be printed immediately upon shipment confirmation.
Note: The maximum 40 package limit is indicative and is not a fixed limit. The limit is also dependent on the combination of packages and commodities in the shipment. For more information, contact your FedEx support team.
Example: Your Open Shipment request consists of 10 packages. When you confirm the shipment after adding all 10 packages, the shipment will be processed synchronously. In the response, 10 labels will be created, and either label URLs or encoded labels as requested is provided in the response.
The following high-level workflow demonstrates synchronous Open Shipment processing:
Note:
Asynchronous Shipment Processing
The API internally processes shipment asynchronously, when the total number of packages exceeds 40 (i.e., totalPackageCount>40). This is a very convenient method, when your package volume is large, and you want to submit the bulk shipments periodically. This bulk shipment submission uses various expensive FedEx resources & operations, when submitted at once. With this processing option, FedEx internally ensures that these bulk shipments are processed easily, and you can also get the label data periodically.
When the shipment is asynchronously processed, the reply to this request only confirms that the request is queued successfully though the shipment might or might not be successfully processed and returns jobId to retrieve the result later.
Note: This process requires some time for the shipment to be processed successfully before you retrieve the result.
For retrieving the asynchronous shipment results, use endpoint Get Open Shipment Results and provide jobId and accountNumber details in the request. The response to this request will either return shipment result data with label details or the shipment error details.
Example: Your shipment consisting of 45 packages, when confirmed will be processed asynchronously. In the response, a jobId will be returned. You should then use endpoint Get Open Shipment Results to retrieve the shipment results and label data.
The following high-level workflow demonstrates asynchronous shipping processing:
Note:
The Print As You Go (PASGO) feature enables you to create and add packages to PASGO MPS open shipments, allowing you to print labels instantly as you add each package. This means you can print your labels as you go without waiting for the shipment to be closed.
Important Notes:
FedEx API supports a wide variety of labels. FedEx API supports three types of label options, including thermal, plain paper, and customizable labels. You can use the Open Ship API endpoints to produce a wide variety of labels.
FedEx offers 2 label formats to support shipping services:
Thermal Labels
FedEx API allows you to print shipping labels for all shipping types, such as FedEx Express®, FedEx Ground®, and FedEx International Ground® using a variety of thermal label printers.
The following thermal label sizes are supported by FedEx API:
The label stock types 4"X8.5” and 4"X10.5” includes an added doc tab with identical barcodes. One barcode is displayed on the main label and the other one on the doc tab. This label stock type value is helpful for tire packages as one label can be positioned on the tire’s tread and the additional doc tab label with a duplicate copy of the barcode and operational instructions for the sidewall of the tire. Using these label stock types reduces tire relabels and increased dimensional scans optimizes recovery. For more information on label stock refer to Label Stock Types.
Note: Doc-Tab is a removable sticky tab with additional shipping information which can be selected for a label stock, while printing shipping labels using a thermal printer.
Thermal Label Elements
Thermal shipping labels contain three basic elements:
Key Information to generate a Thermal Label
The following are the key information required to generate a thermal label:
Valid values:
ImageType: Required to format the thermal label for the printer you use; provides the type of data stream or bitmap to be returned.
Valid values:
Note: All labels required for a shipment are generated and returned in a single buffer.
Supported Thermal Printers
The following thermal printers are recommended with FedEx API:
Note: These printers are all compatible with the ASCII Eltron Programming Language (EPL2) page mode. Thermal printers are supported both as a direct write to the printer connected to a system serial port, and as a native Windows installed printer for LPT, Serial, or USB connections. The firmware versions of FedEx provided printers may vary by region.
Number of Thermal Labels Printed Per Service
The following table indicates the number of each type of label needed for a specific special service. All the necessary labels are generated by a call to the FedEx Common Label Server (CLS), and CLS returns a single buffer with the exception of the C.O.D. Return labels.
Number of Thermal Labels Printed Per U.S. Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express U.S. |
1 Shipping label |
FedEx Ground U.S. / FedEx Home Delivery |
1 Shipping label |
Number of Thermal Labels Printed Per U.S. Export International Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express U.S. Export International |
1 Shipping label 2 Recipient labels |
FedEx Express U.S. Export International Broker Select Option |
1 Shipping label 2 Recipient labels |
FedEx Ground U.S. Export International |
1 Shipping label |
FedEx Ground U.S. Export International C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Thermal Labels Printed Per Intra-Canada Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express intra-Canada |
Non-DG (Dangerous Goods)/Dry ice shipment: 1 Shipping label |
FedEx Ground intra-Canada |
1 Shipping label |
FedEx Ground intra-Canada C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Thermal Labels Printed Per Canada Export International Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express Canada Export International |
Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Express Canada Export International Broker Select |
Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Ground Canada (CA) Export International |
1 Shipping label |
Number of Thermal Labels Printed Per Philippines and Thailand inbound shipments
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
Philippines inbound shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed 3 Commercial Invoice copies |
Thailand inbound commodity shipments |
3 Shipping labels with account number printed 1 Recipient label without account number printed |
Thailand inbound document shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed |
Doc-Tab
If you print shipping labels using a thermal printer, you may choose label stock that includes a Doc-Tab, a removable sticky tab with additional shipping information. You can configure this shipping information from your shipping data or choose to print configurable data that is specific to your shipping needs.
Laser Labels
FedEx API supports label printing with a laser printer. These labels are usually printed on U.S. Letter or A4 paper and folded in half to fit in to the standard FedEx label pouch. Labels that are printed with a laser printer are generated in PDF format and do not need to be scaled or resized. For more information on label stock refer to Label Stock Types.
Prerequisites
The following requirements apply to PDF labels:
The PDF label option eliminates the need to specify the image orientation parameter (width and height) or the screen resolution to display the label properly in the browser.
Laser Label Elements
Laser shipping labels contain three basic elements:
Key Information to generate a Laser Label
The following FedEx API elements are required to generate a laser label:
Valid values are:
Note: If you request a plain paper label, the data returned is a Base64 encoded label image, which must be Base64 decoded prior to displaying the label file.
Supported Laser Printers
Most laser printers are supported for this label type; however, labels will not be accepted if they are printed on an ink jet printer.
Note: If you are using a color laser printer, the color definition should be set to black, even if the printer only has a black cartridge installed.
Number of Laser Labels Required Per Service
The following table indicates the number of each type of label needed for a specific special service. All the necessary labels are generated by a call to the FedEx Common Label Server (CLS), and CLS returns a single buffer with the exception of the C.O.D. Return labels.
Number of Laser Labels Printed Per U.S. Service
Service Type |
Laser Label - PDF Format |
FedEx Ground / FedEx Home Delivery U.S. |
1 Shipping label |
Number of Laser Labels Printed Per U.S. Export International Service
Service Type |
Laser Label - PDF Format |
FedEx Express U.S. Export International |
1 Shipping label in the reply; a minimum of 3 labels must be printed – 1 label on the package and 2 in the document pouch. |
FedEx Express U.S. Export International Broker Select |
1 Shipping label in the reply; a minimum of 3 labels must be printed – 1 label on the package and 2 in the document pouch. |
FedEx Ground U.S. Export International |
1 Shipping label |
FedEx Ground U.S. Export International C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Laser Labels Printed Per Intra-Mexico Service
Service Type |
Laser Label - PDF Format |
FedEx Express Intra-Mexico |
FedEx Express Intra-Mexico Non-DG (Dangerous Goods)/Dry ice shipment: 1 Shipping label |
Number of Laser Labels Printed Per Intra-Canada Service
Service Type |
Laser Label - PDF Format |
FedEx Express Intra-Canada |
FedEx Express Intra-Canada Non-DG (Dangerous Goods)/Dry ice shipment: 1 Shipping label |
FedEx Ground Intra-Canada |
1 Shipping label |
FedEx Ground Intra-Canada C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Laser Labels Printed Per Canada Export Int'l Service
Service Type |
Laser Label - PDF Format |
FedEx Express Canada Export International |
FedEx Express Canada Export International Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Express Canada Export International Broker Select |
FedEx Express Canada Export International Broker Select Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Ground Canada (CA) Export International |
1 Shipping Label |
Number of Laser Labels Printed Per Canada Export Int'l Service
Service Type |
Laser Label - PDF Format |
FedEx Express Canada Export International |
FedEx Express Canada Export International Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Express Canada Export International Broker Select |
FedEx Express Canada Export International Broker Select Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Ground Canada (CA) Export International |
1 Shipping Label |
Number of Laser Labels Printed Per Philippines and Thailand inbound shipments
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
Philippines inbound shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed 3 Commercial Invoice copies |
Thailand inbound commodity shipments |
3 Shipping labels with account number printed 1 Recipient label without account number printed |
Thailand inbound document shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed |
Custom Label
FedEx allows customizing of the FedEx generated label. You may add text pertaining to your business and choose the type of barcode (symbology) used on FedEx documents and labels in the custom portion of thermal labels.
To support your shipping application, FedEx Open Ship API provide two options for customizing your shipping label:
Note: The label's human readable content and barcode in the common portion of the label cannot be altered.
Custom Validator Label
You can create non-shipping custom labels at both package-level and shipment-level by specifying what custom information is desired, how to format that information, and where to place it on the custom label. Custom labels are limited to the thermal label format.
Customize a Thermal Label
FedEx API provides two thermal label formats that you can customize with either a graphic or text file to prevent the need for creating a custom label. These labels support all FedEx shipping services. These formats are:
These label types provide a two-inch customizable section. This feature is applicable to the thermal label printed on a thermal printer set to 203 DPI or 300 DPI.
Rules for Custom Label
Rules for using the label formats are:
Note: Only single bit color images should be added since labels will print in black and white.
Custom Label Graphic Entries Elements
API provides PNG (Portable Network Graphic) images for FedEx Express, and FedEx Ground labels. The PNG label graphic is a replica of the thermal or plain paper labels supported by API. This label option allows you to place the PNG label graphic on your label stock to prevent the need for creating a custom label.
The following requirements apply when using the 4'' x 6'' PNG graphic embedded in your shipping document:
Label Stock
4'' x 6'' PNG labels should only be used with peel-and-stick label stock. The FedEx Ground and FedEx Express label validation teams will reject 4'' x 6'' PNG labels that are not on peel-and-stick label stock, including any labels printed on plain paper.
Printer
Laser printers are recommended for printing labels. Ink jet printers should not be used because of their inconsistency in creating scannable barcodes. The 4'' x 6'' PNG label cannot be printed using a color printer unless the color definition is set to black, even if the printer only has a black cartridge installed. This setting is necessary to achieve the correct barcode definition for scanning at the FedEx hubs.
Scaling
The image returned in your shipping transaction is 200 dots per inch (DPI) and measures 4'' (W) x 6'' (H) or 800 x 1200 pixels. This label has a vertical orientation and is designed to print in a 4'' x 6'' label area. When printed, the label should measure 4'' x 6''.
To produce the label and barcodes in the required DPI, you must scale (or resize) the image before printing. How you scale the image depends on the application you are using to view and print the label. To scale the PNG image for a 4'' x 6'' label in inches: use 4'' width and 6'' length exactly.
Label Review Checklist
All Barcodes
Required for validation:
Print Quality
Common problems that cause labels to be rejected:
Human Readable details for Ground Labels
For the Human Readable for FedEx Ground Labels, the following are required for validation:
Human Readable details for Express Labels
The following elements must be printed on the label to pass validation:
The following rules apply to the Open Ship API:
Response