HomeDocumentationCode SamplesAPI ReferenceAnnouncementsModelsRelease NotesFAQGitHubVideos
Developer HubAPI StatusSupport
Documentation
Developer HubAPI StatusSupport

Fulfillment Inbound API FAQ

Frequently asked questions about Fulfillment Inbound.

v0 to v2024-03-20 migration

How long do I have to migrate to the new Fulfillment Inbound v2024-03-20 API?

Select to expand the answer.

With the launch of Fulfillment Inbound v2024-03-20, we are deprecating 10 operations within Fulfillment Inbound API v0, which will be removed on December 20, 2024. If you use Fulfillment Inbound API v0, use the Fulfillment Inbound v2024-03-20 API use case guide to migrate your workloads and integrate with this new version.

How can I receive support for my migration?

Select to expand the answer.

For more information about the new APIs and how to integrate your systems, refer to the Migration Guide and Use Case Guide. For additional support or to provide feedback, go to Developer Support or contact your account manager.

Which operations in the Fulfillment Inbound v0 API are deprecated?

Select to expand the answer.

The following table provides all Fulfillment Inbound v0 operations and their planned removal date:

OperationRemoval date
createInboundShipmentPlanDecember 20, 2024
updateInboundShipmentDecember 20, 2024
createInboundShipmentDecember 20, 2024
getPreorderInfoDecember 20, 2024
confirmPreorderDecember 20, 2024
getTransportDetailsDecember 20, 2024
putTransportDetailsDecember 20, 2024
voidTransportDecember 20, 2024
estimateTransportDecember 20, 2024
confirmTransportDecember 20, 2024
getPrepInstructionsWill remain operational.
getShipmentsWill remain operational.
getShipmentItemsByShipmentIdWill remain operational.
getShipmentItemsWill remain operational.
getLabelsWill remain operational.
getBillOfLadingWill remain operational.

Deprecated APIs will not be supported after their deprecation date. Calls to deprecated APIs will fail as of their removal date.

What are the benefits of the Fulfillment Inbound v2024-03-20 API?

Select to expand the answer.

The Fulfillment Inbound v2024-03-20 API supports FBA inbound shipment creation, which you can use to:

  • Select from multiple inbound placement service options
  • Access and edit a shipment interchangeably on both Send to Amazon and via API
  • Create larger plans, 1,500 SKUs per plan, instead of 200 SKUs per plan on APIs today
  • Retrieve shipment information (for example: amazon reference number, shipment status)
  • Print SKU labels for your shipments

Do I need to upload carton information using feeds?

Select to expand the answer.

No. You must upload carton information using setPackingInformation. For more information, refer to Submit carton content information in the Migration Guide.

How do I use shipment IDs to create labels?

Select to expand the answer.

When you confirm the placement option (confirmPlacementOption), shipmentConfirmationID (v2024-03-20) is generated. shipmentConfirmationID (for example, FBA1234ABCD) is the identifier that appears on labels. This value must be used in all retained v0 operations as shipmentID.

How can I get EstimatedBoxContentsFee, quantity shipped, and quantity received for an inbound shipment?

Select to expand the answer.

Use getShipments (v0) to get EstimatedBoxContentFee. Use getShipmentItemsByShipmentId (v0) to get quantity shipped and quantity received.

These v0 operations will remain operational past the deprecation date. You can call them with a shipment confirmation ID (shipmentConfirmationID), which is generated after you confirm the placement option (confirmPlacementOption) as input.

Do I have to mark my shipment as shipped in v2024-03-20

Select to expand the answer.

You don't need to mark your shipments as shipped. Amazon automatically tracks the shipments based on the carrier and tracking details. For shipments with non-Amazon partnered carriers, you must input the tracking ID with updateShipmentTrackingDetails.

General

What additional features have been added in the general availability launch?

Select to expand the answer.

Fulfillment Inbound API v2024-03-20 supports the following features:

  • New feature: View and select one of the available delivery windows for a shipment arrival at an Amazon facility.
  • New feature: Print SKU labels for your shipments
  • Select partnered carriers for less-than-truckload shipments
  • Update the name of inbound plans and shipments
  • Update the quantity of units of a SKU after shipment confirmation

Which marketplaces are available with Fulfillment Inbound API v2024-03-20?

Select to expand the answer.

The ability to create inbound shipments with the new Fulfillment Inbound API v2024-03-20 is available in the following marketplaces:

  • Canada
  • US
  • Spain
  • UK
  • France
  • Netherlands
  • Germany
  • Italy
  • Sweden
  • Singapore
  • Australia
  • Japan

We will announce support for these marketplaces as they become available:

  • Mexico
  • Brazil
  • Poland
  • Egypt
  • Turkey
  • Saudi Arabia
  • United Arab Emirates
  • India

Can I have multiple expiration dates per SKU on a single inbound plan?

Select to expand the answer.

No. Multiple expiration dates per SKU within a single inbound plan is not supported. To send a SKU with multiple expiration dates to the fulfillment network, you must create multiple inbound plans.

Can I create any shipment type when I don't know carton-level information upfront?

Select to expand the answer.

If you don't know the carton-level information upfront, you can only create a Less Than Truckload/Full Truckload (LTL/FTL) shipment. Refer to the Use Case Guide for more information.

Why does listPackingOptions always return one option?

Select to expand the answer.

listPackingOptions returns one option because it is designed to provide the most optimized packing solution based on the input criteria. This is the expected behavior.

Can I print unique shipment labels for shipments that are created with the Fulfillment Inbound API v2024-03-20 operations?

Select to expand the answer.

Yes. To print unique shipment labels, use the Fulfillment Inbound API v0 getLabels operation. You need to provide {{baseUrl}}/fba/inbound/v0/shipments/:shipmentId/labels?PageType={{PageType}}&PageSize={{PageSize}}, where shipmentId is shipmentConfirmationId.

What is the generateSelfShipAppointmentSlots operation used for?

Select to expand the answer.

The generateSelfShipAppointmentSlots operation generates an appointment slots list. This is applicable for the MX, BR, EG, SA, AE, and IN marketplaces.

How can I update the quantities and box contents after my inbound shipments are confirmed?

Select to expand the answer.

To update the quantities and box contents after your shipments are confirmed, use the following steps.

  1. Use generateShipmentContentUpdatePreviews to update item quantities and generate a preview of the updated shipment contents and transportation costs.

  2. Use listShipmentContentUpdatePreviews to retrieve a paginated list of previews, which summarizes the changes and cost implications.

  3. Use confirmShipmentContentUpdatePreview to confirm a shipment content update preview and accept the changes in transportation costs.

How can I determine if a shipment used an Amazon Partnered Carrier or my own carrier?

Select to expand the answer.

To determine if a shipment used an Amazon Partnered Carrier or your own carrier, use the listTransportationOptions. If Amazon confirms your shipment, then listTransportationOptions returns a list with only one confirmed transportation option (AMAZON_PARTNERED_CARRIER or USE_YOUR_OWN_CARRIER) in the shippingSolution field.

How can I retrieve all inbound details for shipments that are created with the Send to Amazon UI?

Select to expand the answer.

For shipments created with the Send to Amazon UI, you can retrieve all inbound details with the listInboundPlans operation and the Fulfillment Inbound API v2024-03-20 GET operations:

  1. Use listInboundPlans to retrieve your inbound plans, shipment IDs, packing IDs, placement IDs, and transportation IDs.

  2. Use the values from step 1 to call the Fulfillment Inbound API v2024-03-20 GET operations. For more information about the GET operations, refer to Fulfillment Inbound API v2024-03-20.

Can you combine Small Parcel Delivery (SPD) and LTL in to one inbound plan?

Select to expand the answer.

Yes. To combine SPD and LTL shipments in to one inbound plan, use the following steps.

  1. Use the generateTransportationOptions operation to generate a list of SPD and LTL transportation options. You must use generateTransportationOptions to generate transportation options before they're available to the listTransportationOptions operation in the next step.

  2. Use the listTransportationOptions operation to retrieve all transportation options for the shipment. Retrieve the shipmentId and transportationOptionId for the SPD and LTL shipments.

Example response:

{
   "transportationOptions":[
      {
         "carrier":{
            "name":"United States Postal Service",
            "alphaCode":"USPS"
         },
         "preconditions":[
            "CONFIRMED_DELIVERY_WINDOW"
         ],
         "shipmentId":"sh1xxxxxxxxxxxxxx",
         "shippingMode":"GROUND_SMALL_PARCEL",
         "transportationOptionId":"to1xxxxxxxxxxxxxx", ---> choose to confirm
         "shippingSolution":"USE_YOUR_OWN_CARRIER"
      },
      {
         "carrier":{
            "name":"XXXXX",
            "alphaCode":"ABCD"
         },
         "carrierAppointment":{
            "startTime":"2024-10-11T00:00Z",
            "endTime":"2024-10-11T23:59Z"
         },
         "quote":{
            "cost":{
               "amount":326.54,
               "code":"USD"
            },
            "expiration":"2024-10-09T22:40Z"
         },
         "preconditions":[
            
         ],
         "shipmentId":"sh2xxxxxxxxxxxxxx",
         "shippingMode":"FREIGHT_LTL",
         "transportationOptionId":"to2xxxxxxxxxxxxxx", ---> choose to confirm
         "shippingSolution":"AMAZON_PARTNERED_CARRIER"
      }
   ]
}
  1. Use the confirmTransportationOptions operation and pass in the shipmentId and transportationOptionId for the SPD and LTL shipments.

Example request:

{
  "transportationSelections": [
    {
      "shipmentId": "sh1xxxxxxxxxxxxxxxxxxx",
      "transportationOptionId": "to1xxxxxxxxxxxxxxxxxxx"
    },
    {
      "shipmentId": "sh2xxxxxxxxxxxxxxxxxxx",
      "transportationOptionId": "to2xxxxxxxxxxxxxxxxxxx"
    }
  ]
}

When I print a label through the API, the address shows the company name, but the label from Seller Central does not. Can I remove the company name from the API result?

Select to expand the answer.

No. The discrepancy is intentional and is based on the carrier that is used for the shipment:

  • Amazon Freight or first-party PCP LTL carriers: These shipments don't show detailed address information, but have an extra barcode at the bottom of the label. The absence of the address is by design and is accepted by Amazon's fulfillment centers.

  • Third-party LTL PCP carriers: For shipments handled by third-party carriers, the labels show detailed address information which includes the company name.

To check a shipment's carrier in Seller Central, navigate to the shipment summary page, select the shipment, and choose Show More.

How can I avoid inbound shipment cancellation charges?

Select to expand the answer.

To avoid cancellation charges, you must cancel the inbound shipment within the specific SLAs, which vary based on the type of shipment:

  • SPD: You must cancel the inbound plan within 24 hours after shipment creation for Amazon Partnered Carriers.

  • Pallet shipments (LTL/FTL): You must cancel within 1 hour after shipment creation for Amazon Partnered Carriers.

The charge restrictions don’t apply for non-partnered carrier options.

Do you have a list of shipment statuses and their meanings?

Select to expand the answer.
StatusDescription
ABANDONEDIndicates something went wrong during the shipment creation process.
CANCELEDIndicates that the shipment was canceled.
CHECKED_INIndicates that the fulfillment center has acknowledged delivery of the shipment and has checked it in.
CLOSEDIndicates that there are no further actions to take on the shipment.
DELETEDIndicates that the shipment was deleted prior to it being shipped.
DELIVEREDIndicates that the carrier has delivered the shipment to the fulfillment center, but the fulfillment center has not yet checked it in.
IN_TRANSITIndicates that the shipment is within the carrier network and is in the process of being couriered.
MIXEDUsed for a special placement option where sellers send in a single shipment but the carrier will distribute it across Amazon fulfillment centers.
READY_TO_SHIPIndicates that shipment preparation is complete and the shipment is ready to be shipped.
RECEIVINGIndicates that the fulfillment center is receiving the shipment's contents.
SHIPPEDIndicates that the shipment was dropped off at (or picked up by) a carrier.
UNCONFIRMEDA tentative shipment exists, but it is still in the planning stage.
WORKINGThe initial status of a shipment once created.

What are the eligibility dimensions and weight requirements for SPD and LTL options?

Select to expand the answer.

To review eligibility dimensions and weight requirements for SPD, refer to Small-parcel delivery to Amazon. To review eligibility dimensions and weight requirements for LTL options, refer to Pallets (LTL/FTL) delivery.

How many SKUs and items for each SKU can I add to one inbound plan?

Select to expand the answer.

For one inbound plan, you can add a maximum of 1,500 SKUs and a maximum of 10,000 items for each SKU.