Fulfillment Outbound Dynamic Sandbox Guide

Use the SP-API dynamic sandbox to test Fulfillment Outbound operations.

The Selling Partner API dynamic sandbox environment allows you to test your applications without affecting production data or initiating real-world events. The dynamic sandbox routes requests to a sandbox backend that can return realistic responses based on the request parameters. By sending requests to the sandbox endpoints instead of the SP-API endpoints, you can test standard workflows without impacting production data.

This guide introduces the available dynamic sandbox operations for the Multi-Channel Fulfillment Outbound sandbox environment. For more information about the Selling Partner API sandbox environments, refer to Selling Partner API sandbox.

Dynamic sandbox support for Fulfillment Outbound APIs

The dynamic sandbox is supported for the Fulfillment Outbound API v2020-07-01 and Fulfillment Outbound API v2026-07-04. Making calls to the dynamic sandbox is identical to making production API calls, except that you must direct your requests to a dynamic sandbox endpoint for your region instead of the production endpoint. Refer to Selling Partner API sandbox endpoints for the supported sandbox endpoints.

The following Fulfillment Outbound operations return dynamic responses:

Fulfillment Outbound v2020-07-01

Fulfillment Outbound v2026-07-04

📘

Static responses

The dynamic sandbox backend service doesn't return dynamic responses for all Fulfillment Outbound operations. The service returns static responses for createFulfillmentReturn, getFeatureInventory, getFeatures, getFeatureSKU, and listReturnReasonCodes. Any successful call to one of these operations always returns the same static response for that operation.

To use the dynamic sandbox, direct your calls to the appropriate sandbox endpoint instead of the production endpoint. You can test all the tutorials that are listed in the production Fulfillment Outbound Use Case Guide in the dynamic sandbox.

Test the Fulfillment Outbound sandbox with the FBA Inventory dynamic sandbox

You can use the FBA Inventory dynamic sandbox and the Fulfillment Outbound dynamic sandbox together to test with your own SKUs and observe inventory movements as orders are virtually completed.

To enable both:

  1. Create inventory items in the FBA Inventory dynamic sandbox using createInventoryItem.
  2. Add stock using addInventory.
  3. Create Fulfillment Outbound orders referencing those SKUs.

📘

Note

When you use the FBA Inventory and Fulfillment Outbound sandbox APIs together, HOLD orders are initially created in the Received state, and SHIP orders are created in the Planning state (except when INVALID).

Testing Mechanism

Use updateOrderStatus and updatePackage to manually drive orders and packages through their status life cycles.

To simulate split shipments, set item quantity greater than ten. Each ten-unit increment creates a separate package. For example, a quantity of 25 would create three packages: two of quantity ten, and one of quantity one.

Order test scenarios

ScenarioStatus transitions
Fully or partially completedPROCESSING to COMPLETE or COMPLETE_PARTIAL
UnfulfillablePROCESSING to UNFULFILLABLE
CancelledPROCESSING to CANCELLED

Package status transitions

ScenarioStatus transitions
Fully or partially completedPROCESSING to SHIPPED to IN_TRANSIT to OUT_FOR_DELIVERY to DELIVERED
UndeliverableIN_TRANSIT to DELAYED / OUT_FOR_DELIVERY to UNDELIVERABLE

Once an order or package reaches a terminal status, no further updates can be applied.

Tutorial: Create and complete a sandbox Fulfillment Outbound order

This tutorial explains how to create a sandbox order and move it through the fulfillment process.

Prerequisites

To complete this tutorial, you need:

Step 1: Choose a test scenario

Each scenario lists a sequence of changes to the order status that occur as your fulfillment outbound order is processed.

Step 2: Create a test fulfillment order

Call the createOrder operation.

Step 3: Validate order status

Call the getOrder operation and verify that the status is PROCESSING.

Step 4: Update order status

Call the updateOrderStatus operation, providing the status value as COMPLETE.

Step 5: Validate the order status

Call the getOrder operation and verify that the status is COMPLETE.

Step 6. Update individual packages once shipped

Call updatePackage with the packageId from the getOrder response to advance each package independently

Tutorial: Test a specific Fulfillment Policy

This tutorial explains how to create a sandbox order for a given Fulfillment Policy and move it through the fulfillment process. This tutorial outlines the steps for when FulfillmentPolicy is FILL_ALL_AVAILABLE, but also applies to FILL_OR_KILL and FILL_ALL policies.

Prerequisites

To complete this tutorial, you need:

Step 1: Create an inventory item

Call the createInventoryItem operation from the FBA Inventory API with your test SKU.

Step 2: Add inventory

Call the addInventory API operation. Add the required inventory to the item or product from step 1.

Step 3: Create a test fulfillment order

Call the createOrder operation. Set fulfillmentConfiguration.policy to FILL_ALL_AVAILABLE. This policy creates the order in the Planning state in the sandbox when used together with the FBA Inventory sandbox.

Step 4: Validate order status

Call the getOrder operation and verify that the status is PROCESSING.

Step 5: Validate inventory values

Call getInventorySummaries. Confirm the following:

  • fulfillableQuantity is reduced by the order quantity.
  • pendingCustomerOrderQuantity is increased by the order quantity.

Step 6: Update the order status

Call the updateOrderStatus operation. Verify that the status is COMPLETE.

Step 7: Complete the Order

Call getInventorySummaries. Confirm the following:

  • fulfillableQuantity is reduced.
  • pendingCustomerOrderQuantity is zero.

Business scenarios

Use the following business scenarios to test your Fulfillment Outbound orders. These scenarios represent the main use cases for order creation and fulfillment for seller listings.

Tip

The API scenarios listed in the following table refer to the North American (NA) dynamic sandbox endpoints. To use these examples in other regions, you must replace the endpoints with your region's SP-API sandbox endpoint.

Use caseEndpointKey responseNotes
Preview an orderPOST https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/previewsFees, ship speeds, delivery datesOptional pre-checkout step
Create an order in HOLD or SHIP status for different ship speedsPOST https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/orders200 / 202 (accepted) or 400 (rejected)HOLD to reserve and hold up to 14 days; SHIP to release the order for shipment processing
List order details for up to 50 ordersGET https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/ordersOrders with item detailsReturns the seller order ID, which you can use to call getOrder
Get order details for OrderIdGET https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/orders/{orderId}Full fulfillment details, packageId, shipment info
Update order with the specified OrderIdPUT https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/orders/{orderId}200 or 400Use when orders are in HOLD status but can be updated to SHIP status. You can update these OrderId properties in the sandbox environment: serviceTiers, action, deliveryAddress, items-quantity (quantity can only be reduced; cannot be set to 0)
Cancel an order with the specified OrderIdPUT https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/orders/{orderId}/cancel200 or 400Only succeeds when status is PROCESSING
Update the fulfillment order status for the specified order (sandbox only)PUT https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/orders/{orderId}/status200 or 400To simulate the real-time status update of an order, use this sandbox-only API to move status through state changes, such as those listed in Order test scenarios.
Update the status for a specific fulfillment order package (sandbox only)PUT https://sandbox.sellingpartnerapi-na.amazon.com/fulfillment/outbound/2026-07-04/orders/{orderId}/packages/{packageId}200 or 400To simulate the real-time status update of a specific shipment package, use this sandbox-only API to move status through state changes (SHIPPED, IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED, DELAYED)

Frequently asked questions

Do I need a new set of credentials to access the sandbox?

No. You can use your existing set of production app credentials to access the dynamic sandbox APIs.

Can I use the sandbox for load or performance testing?

No. The service is intended for developer code integration and validation testing. It's not designed for load testing.

Do I need a different catalog and inventory setup for sandbox testing?

The Fulfillment Outbound Sandbox supports developer testing with any SKU and with unlimited inventory. We highly recommend that developers use the FBA Inventory dynamic sandbox to create inventory items, so developers can test with their own SKUs while they observe inventory movements as their merchant fulfillment (MCF) test orders are virtually completed.

Why isn't my sandbox order automatically fulfilled?

In the sandbox, you must call updateOrderStatus to manually advance orders through status changes.

Can I view sandbox orders on the Seller Central portal?

No. Sandbox orders are test orders and cannot be viewed on Seller Central. Retrieve sandbox orders by calling listOrders or getOrder with the sandbox endpoint.

Can I create sandbox orders for any Amazon store?

Yes. The sandbox does not validate origin.countryCode. You can test any valid country/state/postal combination in the delivery address.

Does the sandbox support Export or Fees?

No. The sandbox doesn't support Exports or Fees.

Are all currencies and weights supported?

No. The sandbox only returns the currency in USD and the weight in pounds.

What services are available in the sandbox?

Unbranded packaging and Block AMZL services are available for all Amazon stores in the sandbox.

Does the sandbox support notifications for orders and shipments?

No. Notifications are not sent for sandbox fulfillment orders. use updateOrderStatus and updatePackage instead of relying on notifications.


Did this page help you?