Use the current Fulfillment Inbound API version `2024-03-20`; the legacy v0 API has been deprecated and migration is required for new integrations.
Call `POST /inbound/fba/2024-03-20/inboundPlans` (createInboundPlan) with the source address, destination marketplace ID, contact information for partnered carrier LTL shipments, and an items summary array (MSKU, quantity, prep and label owner).
The call returns an `operationId`; poll `getInboundOperationStatus` with that operation ID until `operationStatus` reaches `SUCCESS` to retrieve the `inboundPlanId`.
Call the placement options workflow: `generatePlacementOptions` → poll for completion → `listPlacementOptions` → `confirmPlacementOption` to get final shipment IDs.
Generate labels and packing details using `generateShippingLabels` after confirming placement; the `shipmentConfirmationId` (e.g., FBA1234ABCD) is the identifier printed on box labels, distinct from the internal shipment ID.
Track rate limits: `createInboundPlan` allows 2 requests per second with a burst of 2; build your workflow scheduler accordingly.
Known gotchas
The internal `shipmentId` generated by `createInboundPlan` is different from the `shipmentConfirmationId` generated by `confirmPlacementOption`; labels require the confirmation ID, not the plan-level ID.
Prep classification errors (missing prep type for certain ASINs) will cause `getInboundOperationStatus` to return FAILED; resolve by specifying `prepCategory` per item in the items summary.
The v0 Fulfillment Inbound API (MWS-era) is deprecated; integrations must use v2024-03-20 for new workflows, and migrating existing logic requires re-mapping several endpoint patterns and response shapes.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp