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

> Confirm the human's placement option and, per shipment, the transport option (+ delivery window) in one call — after the human approved them from fbaInbound_generate_shipment_optio

Access: **DESTRUCTIVE** · toolset amazon_sp · family sp.fulfillmentInbound_2024-03-20

ns. Amazon SP-API · listPlacementOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions Amazon SP-API · confirmPlacementOption · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation Amazon SP-API · getInboundOperationStatus · GET /inbound/fba/2024-03-20/operations/{operationId} Amazon SP-API · confirmDeliveryWindowOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions/{deliveryWindowOptionId}/confirmation Amazon SP-API · confirmTransportationOptions · POST /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions/confirmation Amazon SP-API · getShipment · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId} Amazon SP-API · listTransportationOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/transportationOptions Amazon SP-API · listDeliveryWindowOptions · GET /inbound/fba/2024-03-20/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindowOptions Gate: commit, choice, fee-bearing — interactive: restate the option and the amount, wait for a typed CONFIRM; autopilot: only within the seller's instruction, named rule (one option, no tie) and stated limits; otherwise ask. Mode A (plan workbook): pass sta_spreadsheet_id and the server writes the chosen options (as the dropdown texts), FBA ID, Reference ID, Warehouse ID and Status into the picked STA-Options block — the sidebar's Confirm on that tab. Mode B: omit it. Server chains confirmPlacementOption → confirmDeliveryWindowOptions (only for entries that carry deliveryWindowOptionId) → confirmTransportationOptions, polling each operation to SUCCESS. All option ids are 38 chars except deliveryWindowOptionId (36-38).

## Call it

MCP tool call:

```json
{
  "name": "fbaInbound_confirm_plan_options",
  "arguments": {
    "store": "myStore-US",
    "plan_id": "<plan_id>",
    "placement_option_id": "<placement_option_id>",
    "shipment_confirmations": []
  }
}
```

Tool API (early access — contact us):

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

## 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. |
| `plan_id` | string | yes | the inboundPlanId (from fbaInbound_createInboundPlan or fbaInbound_listInboundPlans). |
| `placement_option_id` | string | yes | the placementOptionId (from fbaInbound_listPlacementOptions). One already ACCEPTED — after fbaInbound_confirmPlacementOption, or a first run whose transport step failed — is not confirmed again; the shipment steps run. |
| `shipment_confirmations` | object[] | yes | one entry per shipment in the placement option: [{shipmentId (38 chars), transportOptionId (38 chars; sent as Amazon's transportationOptionId), deliveryWindowOptionId, contactInformation}]. deliveryWindowOptionId — required when the chosen transport option's preconditions ask for a confirmed delivery window (own-carrier options do). contactInformation — {name ≤50, phoneNumber ≤20, email?}, REQUIRED for Amazon-partnered (PCP) options (Amazon: "does not support confirming PCP options without contact info"). |
| `sta_spreadsheet_id` | string |  | the plan workbook's spreadsheet id (mode A); omit for mode B. |

## Result

- `data.confirmedShipments` — [{shipmentId, shipmentConfirmationId, fbaId, referenceId, warehouseId, status}]
- `data.placementOptionId` — the confirmed option.

## Workflow

- 1. Read the human's placement pick (mode A: the "2." chip's row-6 cell — the id is the text before the first space; mode B: the handover file) and, per shipment, their transport choice (+ window) from fbaInbound_generate_shipment_options. 2. Call this tool. 3. Record data.confirmedShipments as the fba-inbound skill describes (row 12, the "4." chip, Manage Shipments, _state); shipmentConfirmationId feeds fbaInbound_get_labels.

## Params (Amazon schema; listPlacementOptions)

- inboundPlanId*: string (max 38 chars) pageSize: integer (1–20) paginationToken: string (max 1024 chars)

## Params (Amazon schema; confirmPlacementOption)

- inboundPlanId*: string (max 38 chars) placementOptionId*: string (max 38 chars)

## Params (Amazon schema; getInboundOperationStatus)

- operationId*: string (max 38 chars)

## Params (Amazon schema; confirmDeliveryWindowOptions)

- inboundPlanId*: string (max 38 chars) shipmentId*: string (max 38 chars) deliveryWindowOptionId*: string (max 38 chars)

## Params (Amazon schema; confirmTransportationOptions)

- inboundPlanId*: string (max 38 chars)

## Params (Amazon schema; getShipment)

- inboundPlanId*: string (max 38 chars) shipmentId*: string (max 38 chars)

## Params (Amazon schema; listTransportationOptions)

- … (10 more lines; the Docs link above)

## Body (Amazon schema; confirmTransportationOptions): {transportationSelections

- [TransportationSelection]} (min 1), each item: contactInformation: {email (max 1024 chars), name* (max 50 chars), phoneNumber* (max 20 chars)} shipmentId*: string (38–38 chars) transportationOptionId*: string (38–38 chars)