Fulfillment Outbound API Migration Guide
Learn how to migrate from Fulfillment Outbound v2020-07-01 to Fulfillment Outbound v2026-07-04.
The Fulfillment Outbound v2026-07-04 introduces new capabilities, including new authorization paradigms with partner account credentials and channel-based feature configuration. If you have built integrations with the previous version of the API, you can migrate to the new version by taking note of the similarities and differences between the two versions.
What's New
- Channel-based feature configuration: These are distinct channels that a merchant can create to fulfill their orders. This works with fulfillment services. For example, you can create a fulfillment service for your D2C e-commerce channel and another fulfillment service for your social commerce channels such as TikTok, Walmart, and other marketplaces. You can scope fulfillment API actions and configure defaults for each channel separately. For eligible channels, MCF will apply the optimal configurations to help merchants stay compliant with fulfillment policies in those marketplaces. Use the
channelfield to track orders by sales channel. - Granular dynamic sandbox controls: The new
updatePackageoperation allows you to simulate granular package delivery states in the Sandbox (Delivered, Delayed, In Transit etc) for orders with multiple shipments. - Multi-SKU support delivery offers: Use the
getOffersoperation with multiple products to fetch delivery options that include an estimated delivery date in a single call. - Asynchronous processing support: the
createOrderoperation may process orders asynchronously (202 Accepted) for maximum reliability. This includes the newINVALIDorder status. - Multi-tenant authorization: Interoperable use of merchant and partner account (multi-tenant) credentials for authorization enables the use of merchant credentials from your existing registration or with partner account details. ISVs building integrations for merchants with multiple accounts pass the new
x-amzn-fulfillment-service-idrequest header to scope each API call to a specific tenant. Alternatively, pass the desired account ID to thex-amzn-entity-idrequest header to scope each API call to a specific account. Single-merchant account applications do not need to change their authorization model. - API schema updates: URIs, parameters, and structure have been updated to make it easier for you to work with the API. These changes make it easier to understand how features work and improve backward compatibility.
Key Changes
- Base path changed:
/fba/outbound/2020-07-01to/fulfillment/outbound/2026-07-04 - Use request header
x‐amzn‐fulfillment‐service‐idto scope operations to a specific fulfillment service. - Deprecated operations that are still supported in previous API version:
- The
getFeaturesandgetFeatureSKUoperations are deprecated. Refer to the documentation for supported feature constraints and services. - The
getFeatureInventoryoperation is deprecated. Use thegetOrderPreviewoperation to check if products are fulfillable before placing a fulfillment order. - The
createFulfillmentReturnandlistReturnReasonCodesoperations are deprecated.
- The
This guide will detail the changes for each operation and the new tenancy operations.
Authorization
If your application uses a single authorization token for multi-site APIs, you must include the x-amzn-fulfillment-service-id request header in all non-tenancy API requests with a valid Fulfillment Service ID. This request header is optional if your application uses a regular authorization token scoped to a single merchant account. For details on how to obtain a Fulfillment Service ID, refer to New Tenancy Operations.
The following are sample getOrder requests with the auth API headers for both scenarios:
App with multi-site support:
GET /fulfillment/outbound/2026-07-04/orders/{orderId}
x-amzn-fulfillment-service-id: FS01-o8vlfw8b1tiu1
x-amz-access-token: Atza|IwEBIPmyMZBjeTaNLQtwRGwQRSBXNQG5Sl
accept: application/json
App for a single merchant account:
GET /fulfillment/outbound/2026-07-04/orders/{orderId}
x-amz-access-token: Atza|IwEBIPmyMZBjeTaNLQtwRGwQRSBXNQG5Sl
accept: application/json
Updated operations
| v2020-07-01 | v2026-07-04 |
|---|---|
deliveryOffersPOST /fba/outbound/2020-07-01/deliveryOffers | getOffersPOST /fulfillment/outbound/2026-07-04/offers |
getFulfillmentPreviewPOST /fba/outbound/2020-07-01/fulfillmentOrders/preview | getOrderPreviewPOST /fulfillment/outbound/2026-07-04/previews |
createFulfillmentOrderPOST /fba/outbound/2020-07-01/fulfillmentOrders | createOrderPOST /fulfillment/outbound/2026-07-04/orders |
listAllFulfillmentOrdersPOST /fba/outbound/2020-07-01/fulfillmentOrders | listOrdersGET /fulfillment/outbound/2026-07-04/orders |
getFulfillmentOrderGET /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId} | getOrderGET /fulfillment/outbound/2026-07-04/orders/{orderId} |
updateFulfillmentOrderPUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId} | updateOrderPUT /fulfillment/outbound/2026-07-04/orders/{orderId} |
submitFulfillmentOrderStatusUpdatePUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/status | updateOrderStatusPUT /fulfillment/outbound/2026-07-04/orders/{orderId}/status |
cancelFulfillmentOrderPUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/cancel | cancelOrderPUT /fulfillment/outbound/2026-07-04/orders/{orderId}/cancel |
deliveryOffers to getOffers
deliveryOffers to getOffersParameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /deliveryOffers | /offers |
| Body | -- | fulfillmentConfiguration.serviceLevel.serviceTiers |
| Body | Single product + amount | items array (multiple SKUs; no amount needed) |
| Response | payload wrapper | no wrapper: object returned directly |
| Response | Flat offers array | offerResults array, one entry per item |
| Response | expiresAt | expiryTime |
| Response | dateRange.earliest | deliveryInterval.startTime |
| Response | dateRange.latest | deliveryInterval.endTime |
| Response | policy.message | deprecated |
v2020-07-01 sample request:
POST /fba/outbound/2020-07-01/deliveryOffers
Content-Type: application/json
{
"product": {
"productIdentifier": { "merchantSku": "SKU1" },
"amount": { "unitOfMeasure": "Eaches", "value": "1.0" }
},
"terms": {
"origin": { "countryCode": "US" },
"destination": { "ipAddress": "192.168.0.1" }
}
}
v2026-07-04 sample request:
POST /fulfillment/outbound/2026-07-04/offers
Content-Type: application/json
{
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["STANDARD"] }
},
"origin": { "countryCode": "US" },
"destination": { "ipAddress": "192.168.0.1" },
"items": [
{ "productIdentifier": { "amazonSku": "SKU1" } },
{ "productIdentifier": { "amazonSku": "SKU2" } }
]
}
v2020-07-01 sample response:
{
"payload": {
"deliveryOffers": [{
"expiresAt": "2025-08-08T00:29:07.351Z",
"dateRange": {
"earliest": "2025-08-08T00:29:07.351Z",
"latest": "2025-08-08T00:29:07.351Z"
},
"policy": {
"message": {
"text": "Standard Delivery Sunday, Sep 14",
"locale": "en-US"
}
}
}]
}
}
v2026-07-04 sample response:
{
"offerResults": [
{
"item": { "productIdentifier": { "amazonSku": "SKU1" } },
"offers": [{
"fulfillmentConfiguration": {
"serviceLevel": {
"serviceTier": "STANDARD",
"deliveryInterval": { "startTime": "2026-07-11T12:00:00Z", "endTime": "2026-07-12T23:59:00Z" }
}
},
"expiryTime": "2026-07-09T20:00:00Z"
}]
},
{
"item": { "productIdentifier": { "amazonSku": "SKU2" } },
"offers": [],
"constraints": [{ "code": "ItemQuantityNotAvailable", "type": "ValidationError", "message": "SKU2 is out of stock." }]
}
]
}
getFulfillmentPreview to getOrderPreview
getFulfillmentPreview to getOrderPreviewParameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /fulfillmentOrders/preview | /previews |
| Body | shippingSpeedCategories | fulfillmentConfiguration.serviceLevel.serviceTiers |
| Body | address | destination.deliveryAddress |
| Body | featureConstraints | fulfillmentConfiguration.services |
| Body | marketplaceId | origin.countryCode |
| Body | items | lineItems |
| Body | includeDeliveryWindows | deprecated |
| Body | -- | excludeEstimatedFees (true/false exclude fee estimates) |
| Response | payload wrapper | no wrapper; object returned directly |
| Response | fulfillmentPreviews | plannedShipments |
| Response | fulfillmentPreviewShipments | offers |
| Response | earliestArrivalDate / latestArrivalDate | offers[].fulfillmentConfiguration.serviceLevel.deliveryInterval |
| Response | earliestShipDate / latestShipDate | offers[].fulfillmentConfiguration.serviceLevel.shipInterval |
| Response | estimatedFees[] with name | estimatedPrice.rollupPrices[] with type |
v2020-07-01 sample request:
POST /fba/outbound/2020-07-01/fulfillmentOrders/preview
Content-Type: application/json
{
"marketplaceId": "ATVPDKIKX0DER",
"address": {
"name": "Shopper Name",
"addressLine1": "1000 Winthrop Ave N",
"addressLine2": "Floor 19",
"city": "Seattle",
"districtOrCounty": "None",
"countryCode": "US",
"phone": "123-456-7890",
"postalCode": "98103",
"stateOrRegion": "WA"
},
"items": [{
"sellerSku": "SKU1",
"quantity": 1,
"perUnitDeclaredValue": {
"currencyCode": "USD",
"value": "10.98"
},
"sellerFulfillmentOrderItemId": "item1"
}],
"shippingSpeedCategories": ["Expedited"],
"featureConstraints": [{ "featureName": "BLANK_BOX", "featureFulfillmentPolicy": "Required" }]
}
v2026-07-04 sample request:
POST /fulfillment/outbound/2026-07-04/previews
Content-Type: application/json
{
"channel": "SHOPIFY",
"fulfillmentConfiguration": {
"serviceLevel": {
"serviceTiers": ["EXPEDITED"]
},
"services": {
"packaging": {
"packagingOption": "UNBRANDED"
}
}
},
"destination": {
"deliveryAddress": {
"name": "Shopper Name",
"addressLine1": "1000 Winthrop Ave N",
"addressLine2": "Floor 19",
"city": "Seattle",
"districtOrCounty": "None",
"countryCode": "US",
"phone": "123-456-7890",
"postalCode": "98103",
"stateOrRegion": "WA"
}
},
"origin": {
"countryCode": "US"
},
"excludeEstimatedFees": true,
"lineItems": [{
"product": {
"productIdentifier": {
"amazonSku": "SKU1"
},
"perUnitDeclaredValue": {
"currencyCode": "USD",
"amount": "10.00"
}
},
"amount": {
"unit": "EACHES",
"value": "1"
}
}]
}
v2020-07-01 sample response:
{
"payload": {
"fulfillmentPreviews": [{
"estimatedFees": [
{ "amount": { "currencyCode": "USD", "value": "0.0" }, "name": "FBAPerOrderFulfillmentFee" },
{ "amount": { "currencyCode": "USD", "value": "0.0" }, "name": "FBATransportationFee" },
{ "amount": { "currencyCode": "USD", "value": "12.5" }, "name": "FBAPerUnitFulfillmentFee" }
],
"estimatedShippingWeight": { "unit": "POUNDS", "value": "0.789" },
"featureConstraints": [{ "featureFulfillmentPolicy": "Required", "featureName": "BLANK_BOX" }],
"fulfillmentPreviewShipments": [{
"earliestArrivalDate": "2025-09-15T07:00:00Z",
"earliestShipDate": "2025-09-13T07:00:00Z",
"fulfillmentPreviewItems": [{
"estimatedShippingWeight": { "unit": "POUNDS", "value": "0.789" },
"quantity": 1,
"sellerFulfillmentOrderItemId": "Item1",
"sellerSku": "SKU1",
"shippingWeightCalculationMethod": "Package"
}],
"latestArrivalDate": "2025-09-16T06:59:59Z",
"latestShipDate": "2025-09-14T06:59:59Z"
}],
"isFulfillable": true,
"marketplaceId": "ATVPDKIKX0DER",
"shippingSpeedCategory": "Expedited",
"unfulfillablePreviewItems": []
}]
}
}
v2026-07-04 sample response:
{
"plannedShipments": [{
"estimatedShippingWeight": {
"unit": "POUNDS",
"value": "0.789"
},
"items": [{ "productIdentifier": { "amazonSku": "SKU1" }, "amount": { "unit": "EACHES", "value": "1" } }],
"offers": [{
"fulfillmentConfiguration": {
"serviceLevel": {
"serviceTier": "EXPEDITED",
"deliveryInterval": {
"startTime": "2025-09-15T07:00:00Z",
"endTime": "2025-09-16T06:59:59Z"
},
"shipInterval": {
"startTime": "2025-09-13T07:00:00Z",
"endTime": "2025-09-14T06:59:59Z"
}
},
"services": {
"packaging": { "packagingOption": "UNBRANDED" }
}
},
"estimatedPrice": {
"rollupPrices": [
{ "type": "FBAPerOrderFulfillmentFee", "value": { "currencyCode": "USD", "amount": "0.0" } },
{ "type": "FBATransportationFee", "value": { "currencyCode": "USD", "amount": "0.0" } },
{ "type": "FBAPerUnitFulfillmentFee", "value": { "currencyCode": "USD", "amount": "12.5" } }
],
"totalPrice": { "currencyCode": "USD", "amount": "12.5" }
}
}]
}]
}
createFulfillmentOrder to createOrder
createFulfillmentOrder to createOrderParameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /fulfillmentOrders | /orders |
| Body | sellerFulfillmentOrderId | orderId |
| Body | shippingSpeedCategory: "STANDARD" | fulfillmentConfiguration.serviceLevel.serviceTiers: ["STANDARD"] |
| Body | fulfillmentAction: "SHIP" | fulfillmentConfiguration.action: "SHIP" |
| Body | fulfillmentPolicy: "FillAllAvailable" | fulfillmentConfiguration.policy: "FILL_ALL_AVAILABLE" |
| Body | destinationAddress | destination.deliveryAddress |
| Body | marketplaceId | origin.countryCode |
| Body | items | lineItems |
| Body | featureConstraints | fulfillmentConfiguration.services |
| Body | deliveryPreferences | destination.deliveryNotes / destination.dropOffLocation |
| Body | codSettings | fulfillmentConfiguration.services.delivery.paymentOnDelivery |
| Body | -- | channel (new) |
| Body.items | sellerSKU | product.productIdentifier.amazonSku |
| Body.items | sellerFulfillmentOrderItemId | lineItemId |
| Body.items | quantity | amount.value (with amount.unit: "EACHES") |
v2020-07-01 sample request:
POST /fba/outbound/2020-07-01/fulfillmentOrders
Content-Type: application/json
{
"sellerFulfillmentOrderId": "ABC123",
"shippingSpeedCategory": "Standard",
"fulfillmentAction": "Ship",
"fulfillmentPolicy": "FillAllAvailable",
"destinationAddress": {
"name": "Recipient Name", "addressLine1": "1000 Winthrop Ave N",
"city": "Seattle", "countryCode": "US",
"postalCode": "98103", "stateOrRegion": "WA", "email": "[email protected]"
},
"marketplaceId": "ATVPDKIKX0DER",
"items": [{ "sellerFulfillmentOrderItemId": "item1", "sellerSKU": "SKU1", "quantity": 2 }],
"featureConstraints": [{ "featureName": "BLANK_BOX", "featureFulfillmentPolicy": "Required" }]
}
v2026-07-04 sample request:
POST /fulfillment/outbound/2026-07-04/orders
Content-Type: application/json
{
"orderId": "ABC123",
"channel": "SHOPIFY",
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["STANDARD"] },
"action": "SHIP",
"policy": "FILL_ALL_AVAILABLE",
"services": {
"packaging": { "packagingOption": "UNBRANDED" }
}
},
"destination": {
"deliveryAddress": {
"name": "Recipient Name", "addressLine1": "1000 Winthrop Ave N",
"city": "Seattle", "countryCode": "US",
"postalCode": "98103", "stateOrRegion": "WA", "email": "[email protected]"
}
},
"origin": { "countryCode": "US" },
"lineItems": [{
"lineItemId": "item1",
"product": { "productIdentifier": { "amazonSku": "SKU1" } },
"amount": { "unit": "EACHES", "value": "2.0" }
}]
}
listAllFulfillmentOrders to listOrders
listAllFulfillmentOrders to listOrdersParameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /fulfillmentOrders | /orders |
| Query Params | queryStartDate | updatedAfter |
| Query Params | nextToken | pageToken |
| Query Params | -- | shipments=EXCLUDE/INCLUDE |
| Response | payload wrapper | no wrapper; object returned directly |
| Response | nextToken | pagination.nextToken |
v2020-07-01 sample response:
{
"payload": {
"fulfillmentOrders": [{
"sellerFulfillmentOrderId": "ORDER1",
"marketplaceId": "31060",
"shippingSpeedCategory": "Expedited",
"destinationAddress": {
"name": "Recipient Name",
"addressLine1": "1000 Winthrop Ave N",
"addressLine2": "Floor 19",
"city": "Seattle",
"countryCode": "US",
"phone": "123-456-7890",
"postalCode": "98103",
"stateOrRegion": "WA"
},
"fulfillmentPolicy": "FillAllAvailable",
"receivedDate": "2025-09-02T17:34:18Z",
"fulfillmentOrderStatus": "Unfulfillable",
"statusUpdatedDate": "2025-09-03T18:13:44Z",
"featureConstraints": [{
"featureName": "BLANK_BOX",
"featureFulfillmentPolicy": "Required"
}]
}],
"nextToken": "nextPageToken"
}
}
v2026-07-04 sample response:
{
"orders": [{
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["EXPEDITED"] },
"action": "SHIP",
"policy": "FILL_ALL_AVAILABLE"
},
"destination": {
"deliveryAddress": {
"name": "Recipient Name",
"addressLine1": "1000 Winthrop Ave N",
"addressLine2": "Floor 19",
"city": "Seattle",
"countryCode": "US",
"phone": "123-456-7890",
"postalCode": "98103",
"stateOrRegion": "WA"
}
},
"orderId": "ORDER1",
"origin": { "countryCode": "US" },
"receiveTime": "2025-09-02T17:34:18Z",
"status": "UNFULFILLABLE",
"statusUpdateTime": "2025-09-03T18:13:44Z"
}],
"pagination": {
"nextToken": "nextPageToken"
}
}
getFulfillmentOrder to getOrder
getFulfillmentOrder to getOrderParameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /fulfillmentOrders/{sellerFulfillmentOrderId} | /orders/{orderId} |
| Query Params | -- | shipments=EXCLUDE/INCLUDE |
| Response | payload wrapper | no wrapper; object returned directly |
| Response | fulfillmentOrderStatus | status |
| Response | statusUpdatedDate | statusUpdateTime |
| Response | receivedDate | receiveTime |
| Response | fulfillmentShipments | shipments |
| Response | fulfillmentShipmentPackage | packages |
| Response | packageNumber: "1" | packageId: "PKG-abc123def456" |
| Response | -- | packages[].status (new) |
| Response | serialNumber | unitIdentifiers |
| Response | fulfillmentCenterId (e.g., "PAE2") | amazonFacility.facilityId + amazonFacility.address (name, addressLine1, city, stateOrRegion, postalCode, countryCode) |
| Response | carrierCode + trackingNumber | tracking.carrier (carrierCode, trackingNumber, trackingUrl) + tracking.amazon (trackingNumber, trackingUrl) |
| Response | deliveryPhotoUrl | tracking.proofOfDelivery.deliveryPhotoUrl |
| Response | deliveryInformation.dropOffLocation | tracking.dropOffLocation |
v2020-07-01 sample response:
{
"payload": {
"fulfillmentOrder": {
"sellerFulfillmentOrderId": "ABC123",
"marketplaceId": "ATVPDKIKX0DER",
"shippingSpeedCategory": "Expedited",
"destinationAddress": {
"name": "Recipient Name", "addressLine1": "1000 Winthrop Ave N",
"city": "Seattle", "countryCode": "US",
"postalCode": "98103", "stateOrRegion": "WA"
},
"fulfillmentAction": "Ship",
"fulfillmentPolicy": "FillAllAvailable",
"receivedDate": "2025-08-28T23:39:38Z",
"fulfillmentOrderStatus": "Complete",
"statusUpdatedDate": "2025-08-29T08:29:05Z"
},
"fulfillmentOrderItems": [{
"sellerFulfillmentOrderItemId": "item1", "sellerSku": "SKU1",
"quantity": "2", "cancelledQuantity": "0", "unfulfillableQuantity": "0",
"estimatedShipDate": "2025-08-30T06:59:59Z",
"estimatedArrivalDate": "2025-08-31T06:59:59Z"
}],
"fulfillmentShipments": [{
"amazonShipmentId": "shipmentID",
"fulfillmentCenterId": "PSP1",
"fulfillmentShipmentStatus": "SHIPPED",
"shippingDate": "2025-08-29T08:23:44Z",
"estimatedArrivalDate": "2025-08-31T06:59:59Z",
"fulfillmentShipmentItem": [{
"sellerSku": "SKU1", "sellerFulfillmentOrderItemId": "item1",
"quantity": "2", "packageNumber": "1341598491"
}],
"fulfillmentShipmentPackage": [{
"packageNumber": "1341598491",
"carrierCode": "Amazon Logistics",
"trackingNumber": "TBA32397232322",
"estimatedArrivalDate": "2025-08-30T03:00:00Z"
}]
}]
}
}
v2026-07-04 sample response:
{
"order": {
"orderId": "ABC123",
"receiveTime": "2025-08-28T23:39:38Z",
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["EXPEDITED"] },
"action": "SHIP",
"policy": "FILL_ALL_AVAILABLE"
},
"status": "COMPLETE",
"statusUpdateTime": "2025-08-29T08:29:05Z",
"destination": {
"deliveryAddress": {
"name": "Recipient Name", "addressLine1": "1000 Winthrop Ave N",
"city": "Seattle", "countryCode": "US",
"postalCode": "98103", "stateOrRegion": "WA"
}
},
"lineItems": [{
"lineItemId": "item1",
"product": { "productIdentifier": { "amazonSku": "SKU1" } },
"amount": { "unit": "EACHES", "value": "1" },
"cancelledAmount": { "unit": "EACHES", "value": "0" },
"unfulfillableAmount": { "unit": "EACHES", "value": "0" }
}],
"shipments": [{
"amazonShipmentId": "shipmentID",
"amazonFacility": {
"facilityId": "PSP1",
"address": {
"name": "PSP1", "addressLine1": "1010 W 4th Street",
"postalCode": "92223-2684", "countryCode": "US",
"stateOrRegion": "CA", "city": "BEAUMONT"
}
},
"status": "SHIPPED",
"shipTime": "2025-08-29T08:23:44Z",
"deliveryTime": "2025-08-31T06:59:59Z",
"items": [{
"productIdentifier": { "amazonSku": "SKU1" },
"lineItemId": "item1",
"amount": { "value": "2", "unit": "EACHES" }
}],
"packages": [{
"packageId": "PKG-abc123def456",
"status": "IN_TRANSIT",
"tracking": {
"carrier": {
"carrierCode": "Amazon Logistics",
"trackingNumber": "TBA32397232322",
"trackingUrl": "https://www.swiship.com/track?id=TBA32397232322"
}
},
"deliveryTime": "2025-08-29T20:00:00Z"
}]
}]
}
}
updateFulfillmentOrder to updateOrder
updateFulfillmentOrder to updateOrderParameters and structure:
| Location | v2020-07-01 | v2026-07-04 | Notes |
|---|---|---|---|
| Path | /fulfillmentOrders/{sellerFulfillmentOrderId} | /orders/{orderId} | - |
| Body Params | Full order object with fulfillmentAction | fulfillmentConfiguration.action | Only fulfillmentConfiguration.action is needed in v2026-07-04 |
v2020-07-01 sample request:
PUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}
Content-Type: application/json
{
"sellerFulfillmentOrderId": "ABC123",
"shippingSpeedCategory": "Standard",
"fulfillmentAction": "Ship",
"fulfillmentPolicy": "FillAllAvailable",
"destinationAddress": {
"name": "Recipient Name",
"addressLine1": "1000 Winthrop Ave N",
"addressLine2": "Floor 19",
"city": "Seattle",
"stateOrRegion": "WA",
"postalCode": "98103",
"countryCode": "US",
"phone": "123-456-7890"
},
"items": [{ "sellerFulfillmentOrderItemId": "item1", "sellerSKU": "SKU1", "quantity": 2 }],
"featureConstraints": [{ "featureName": "BLANK_BOX", "featureFulfillmentPolicy": "Required" }]
}
v2026-07-04 sample request:
PUT /fulfillment/outbound/2026-07-04/orders/{orderId}
Content-Type: application/json
{
"fulfillmentConfiguration": {
"action": "SHIP"
}
}
submitFulfillmentOrderStatusUpdate to updateOrderStatus (sandbox only)
submitFulfillmentOrderStatusUpdate to updateOrderStatus (sandbox only)Parameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /fulfillmentOrders/{sellerFulfillmentOrderId}/status | /orders/{orderId}/status |
| Body Params | fulfillmentOrderStatus | status |
v2020-07-01 sample request:
PUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/status
Content-Type: application/json
{
"fulfillmentOrderStatus": "New"
}
v2026-07-04 sample request:
PUT /fulfillment/outbound/2026-07-04/orders/{orderId}/status
Content-Type: application/json
{
"status": "PROCESSING"
}
cancelFulfillmentOrder to cancelOrder
cancelFulfillmentOrder to cancelOrderParameters and structure:
| Location | v2020-07-01 | v2026-07-04 |
|---|---|---|
| Path | /fulfillmentOrders/{sellerFulfillmentOrderId}/cancel | /orders/{orderId}/cancel |
v2020-07-01 sample request:
PUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/cancel
Content-Type: application/json
v2026-07-04 sample request:
PUT /fulfillment/outbound/2026-07-04/orders/{orderId}/cancel
Content-Type: application/json
New sandbox-only operation updatePackage
updatePackageupdatePackage is new in v2026-07-04 and has no equivalent in v2020-07-01. Use it to simulate granular package delivery states in the dynamic sandbox environment. Unlike updateOrderStatus, which sets order-level status, updatePackage lets you advance individual packages through their delivery lifecycle independently, which is useful for testing multi-shipment order scenarios. Supported statuses: IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED, DELAYED, UNDELIVERABLE. This operation must be directed to a sandbox endpoint.
Endpoint: PUT /fulfillment/outbound/2026-07-04/orders/{orderId}/packages/{packageId}/status
Sample request:
PUT /fulfillment/outbound/2026-07-04/orders/{orderId}/packages/{packageId}/status
Content-Type: application/json
{
"status": "IN_TRANSIT"
}
New Tenancy Operations
Fulfillment Service ID (FSID)
Each merchant account has one Fulfillment Service identified by a unique FSID that is formatted like this:
FS01-9rxx11t193fb1
This ID can be passed in the header of non-tenancy API operations to list orders for a specific tenant. The request should have the following header:
x-amzn-fulfillment-service-id: FS01-9rxx11t193fb1
This header is required if your application uses a single authorization token for multi-site APIs, otherwise it's optional.
Create a fulfillment service
The createFulfillmentService operation sets up a fulfillment service. The ID it returns is your FSID. Default fulfillment settings are applied by default to createOrder and preview.
Endpoint: POST /fulfillment/outbound/2026-07-04/services
Sample request:
{
"fulfillmentService": {
"merchantAccountId": "amzn1.merchant.o.A17KH38GVBK888",
"description": "Fulfillment Service 1",
"fulfillmentConfiguration": {
"serviceLevel": {
"serviceTiers": ["STANDARD", "EXPEDITED"]
},
"policy": "FILL_ALL_AVAILABLE",
"services": {
"packaging": { "packagingOption": "UNBRANDED" }
}
}
}
}
Sample response:
{
"id": "FS01-o8vlfw8b1tiu1",
"status": "ACTIVE"
}
List fulfillment services
The listFulfillmentServices operation lists all fulfillment services associated with your merchant account or partner account.
Endpoint: GET /fulfillment/outbound/2026-07-04/services
Sample response:
{
"fulfillmentServices": [
{
"id": "FS01-a9bk3m7np2qrs",
"description": "Fulfillment service for TikTok Shop US orders with unbranded packaging.",
"merchantAccountId": "amzn1.merchant.o.A17KH38GVBK888",
"status": "ACTIVE",
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["STANDARD", "EXPEDITED"] },
"action": "SHIP",
"policy": "FILL_ALL_AVAILABLE",
"services": { "packaging": { "packagingOption": "UNBRANDED" }, "additional": {} }
}
},
{
"id": "FS01-o8vlfw8b1tiu1",
"description": "Primary Shopify fulfillment channel with branded packaging.",
"merchantAccountId": "amzn1.merchant.o.A17KH38GVBK888",
"status": "ACTIVE",
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["STANDARD", "EXPEDITED", "PRIORITY"] },
"action": "SHIP",
"policy": "FILL_ALL_AVAILABLE",
"services": { "packaging": { "packagingOption": "UNBRANDED" }, "additional": {} }
}
}
],
"pagination": {
"nextToken": "eyJwYWdlIjoyfQ=="
}
}
Retrieve a fulfillment service
The getFulfillmentService operation returns metadata for a specific fulfillment service.
Endpoint: GET /fulfillment/outbound/2026-07-04/services/{id}
Sample response:
{
"fulfillmentService": {
"id": "FS01-a9bk3m7np2qrs",
"description": "Fulfillment service for TikTok Shop US orders with unbranded packaging.",
"merchantAccountId": "amzn1.merchant.o.A3TK7X1B2CD9EF",
"status": "ACTIVE",
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["STANDARD", "EXPEDITED"] },
"action": "SHIP",
"policy": "FILL_ALL_AVAILABLE",
"services": { "packaging": { "packagingOption": "UNBRANDED" } }
}
}
}
Update a fulfillment service
The updateFulfillmentService operation updates a service. It can update metadata such as description or display name, or de-activate an existing service.
Endpoint: PUT /fulfillment/outbound/2026-07-04/services/{fulfillmentServiceId}
Sample request:
{
"fulfillmentService": {
"description": "Updated fulfillment service with overbox packaging.",
"status": "ACTIVE",
"fulfillmentConfiguration": {
"serviceLevel": { "serviceTiers": ["STANDARD"] },
"action": "SHIP",
"policy": "FILL_OR_KILL",
"services": {
"packaging": {
"packagingOption": "ANY",
"overbox": "REQUIRED"
}
}
}
}
}
Updated about 4 hours ago

