fbaInbound_generatePlacementOptions

Start generating placement options for a plan (async).

writeAmazon Seller (SP-API)sp.fulfillmentInbound_2024-03-20

Amazon SP-API · generatePlacementOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions 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. Where this sits depends on the workflow (Amazon's guides agree on both): Box First (pack first) — call AFTER fbaInbound_setPackingInformation completes; Split First (pack later) — call straight after fbaInbound_createInboundPlan, BEFORE fbaInbound_setPackingInformation. In both, the placement option is confirmed BEFORE transportation options are confirmed. Poll until SUCCESS, then call fbaInbound_get_plan_status to list the placement options. India: plans destined to the IN marketplace REQUIRE custom_placement — Amazon refuses the call without it ("CustomPlacement details are required for inbound plans with destinations in IN"). IN also has no packing-options step (generatePackingOptions is not supported there); generate placement first, then fbaInbound_setPackingInformation.

Call it

In an AI client (MCP)

tools/call
{
  "name": "fbaInbound_generatePlacementOptions",
  "arguments": {
    "store": "myStore-US",
    "plan_id": "<plan_id>"
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/fbaInbound_generatePlacementOptions \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","plan_id":"<plan_id>"}'
Early access — the Tool API is open on request, contact us.

Arguments

NameTypeDescription
storerequiredstringthe store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim.
plan_idrequiredstringthe inboundPlanId (from fbaInbound_createInboundPlan or fbaInbound_listInboundPlans).
custom_placementobject[]optional list of custom placements, REQUIRED for IN-destined plans. Each: {warehouseId (e.g. 'JPX1'), items: [{msku, quantity, labelOwner, prepOwner, expiration?, manufacturingLotCode?}]}. labelOwner/prepOwner Allowed: AMAZON | SELLER | NONE.

Result

Every tool answers {notification, data, human_action}; data carries:

  • data.operationId — poll with fbaInbound_getInboundOperationStatus until SUCCESS.
  • data.status — 'IN_PROGRESS'.

Body (Amazon schema): {customPlacement: [CustomPlacementInput]}, each item

items*: [{expiration, labelOwner*: AMAZON | SELLER | NONE, manufacturingLotCode (max 256 chars), msku* (max 255 chars), prepOwner*: AMAZON | SELLER | NONE, quantity* (1–500000)}] (1–2000)
warehouseId*: string (max 1024 chars)

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude