# fbaOutbound_updateFulfillmentOrder (https://sellersheetai.com/docs/mcp-api/tools/fbaOutbound_updateFulfillmentOrder)

> Update or request shipment for an MCF order that has an order hold.

Access: **DESTRUCTIVE** · toolset amazon_sp · family sp.fulfillmentOutbound_2020-07-01

Amazon SP-API · updateFulfillmentOrder · PUT /fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId} Gate: approve — interactive: show the change (Amazon's preview first where one exists), wait for an explicit approve; autopilot: only when the seller's own words asked for this change; otherwise ask. Only works on orders with status that allows updates (e.g. on Hold). Pass fulfillment_action='Ship' to release a held order.

## Call it

MCP tool call:

```json
{
  "name": "fbaOutbound_updateFulfillmentOrder",
  "arguments": {
    "store": "myStore-US",
    "seller_fulfillment_order_id": "<seller_fulfillment_order_id>"
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/fbaOutbound_updateFulfillmentOrder \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","seller_fulfillment_order_id":"<seller_fulfillment_order_id>"}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `seller_fulfillment_order_id` | string | yes | the order to update. |
| `displayable_order_id` | string |  | optional displayable field updates. |
| `displayable_order_date` | string · date-time |  | optional displayable field updates. |
| `displayable_order_comment` | string |  | optional displayable field updates. |
| `shipping_speed_category` | string |  | optional new speed category. Allowed: Standard \| Expedited \| Priority \| ScheduledDelivery. Allowed: Standard \| Expedited \| Priority \| ScheduledDelivery. |
| `destination_address` | object |  | optional new Address. |
| `fulfillment_action` | string |  | optional — Ship releases a held order. Allowed: Ship \| Hold. Allowed: Ship \| Hold. |
| `fulfillment_policy` | string |  | optional — what happens to unfulfillable items: FillOrKill cancels the whole order if any item is unfulfillable; FillAll ships every fulfillable item and keeps the order open until the rest ship or are cancelled; FillAllAvailable ships what is available. Allowed: FillOrKill \| FillAll \| FillAllAvailable. |
| `ship_from_country_code` | string |  | optional ISO alpha-2 origin country. |
| `items` | object[] |  | optional list of UpdateFulfillmentOrderItem — each {sellerFulfillmentOrderItemId (REQUIRED, maxLength 50 — identifies the item to update), quantity (REQUIRED int), optional sellerSku, giftMessage (maxLength 512), displayableComment (maxLength 250), fulfillmentNetworkSku, orderItemDisposition (whether the item is sellable or unsellable — no enum in the model; Amazon's examples use 'Sellable'), perUnitDeclaredValue / perUnitPrice / perUnitTax — each a Money {currencyCode (ISO 4217), value (decimal STRING)}}. NOTE: this shape differs from create — sellerSku is optional here and sellerFulfillmentOrderItemId is the key. |
| `notification_emails` | string[] |  | optional list of addresses to notify. |
| `feature_constraints` | object[] |  | optional list of {featureName, featureFulfillmentPolicy}. featureName. Allowed: BLOCK_AMZL (block Amazon Logistics; surcharge) \| BLANK_BOX (non-branded packaging) \| OVERBOX \| PACKING_SLIP \| SIGNATURE_CONFIRMATION (US only; extra fee) \| DELIVER_TOGETHER (ship all items together). featureFulfillmentPolicy Required rejects the order when the feature is unavailable. |

## Result

- `data.sellerFulfillmentOrderId` — the updated order — re-read it with fbaOutbound_getFulfillmentOrder.

## Body (Amazon schema)

- marketplaceId: string displayableOrderId: string (max 40 chars) displayableOrderDate: string (date-time) displayableOrderComment: string (max 750 chars) shippingSpeedCategory: Standard | Expedited | Priority | ScheduledDelivery destinationAddress: {name*, addressLine1*, addressLine2, addressLine3, city, districtOrCounty, stateOrRegion, postalCode*, countryCode*, phone} fulfillmentAction: Ship | Hold fulfillmentPolicy: FillOrKill | FillAll | FillAllAvailable shipFromCountryCode: string notificationEmails: [string] (max 64 chars) featureConstraints: [{featureName, featureFulfillmentPolicy: Required | NotRequired}] items: [{sellerSku, sellerFulfillmentOrderItemId* (max 50 chars), quantity*, giftMessage (max 512 chars), displayableComment (max 250 chars), fulfillmentNetworkSku, orderItemDisposition, perUnitDeclaredValue: {currencyCode*, value*}, perUnitPrice: {currencyCode*, value*}, perUnitTax: {currencyCode*, value*}}]