vendorShipments_SubmitShipmentConfirmations

Confirm vendor shipments AFTER dispatch (the advance notice before dispatch is vendorShipments_SubmitShipments).

destructiveAmazon Seller (SP-API)sp.vendorShipments

One or many confirmations per call. Amazon write; blocks until the transaction reaches Success or Failure. Amazon SP-API · SubmitShipmentConfirmations · POST /vendor/shipping/v1/shipmentConfirmations Amazon SP-API · getTransaction · GET /vendor/transactions/v1/transactions/{transactionId} 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.

Call it

In an AI client (MCP)

tools/call
{
  "name": "vendorShipments_SubmitShipmentConfirmations",
  "arguments": {
    "store": "myStore-US",
    "confirmations_payload": {}
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/vendorShipments_SubmitShipmentConfirmations \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","confirmations_payload":{}}'
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.
confirmations_payloadrequiredobject{"shipmentConfirmations": [Confirmation, …]}. Per Confirmation, required: shipmentIdentifier (unique, unused in the last 365 days), shipmentConfirmationType (Original | Replace), shipmentConfirmationDate (ISO-8601), sellingParty, shipFromParty and shipToParty (each {partyId, address}), shippedItems: [{itemSequenceNumber ('001', '002', …), amazonProductIdentifier (ASIN) or vendorProductIdentifier, shippedQuantity {amount, unitOfMeasure Cases | Eaches, unitSize, totalWeight {unitOfMeasure POUNDS | OUNCES | GRAMS | KILOGRAMS, amount}}, itemDetails {purchaseOrderNumber, lotNumber, lotNumberSourceReference, lotNumberSourceType GLN | FFRN | USDA_E | URL, countryOfOrigin (2-letter), regulationReferences (EUDR: dueDiligenceReference, dueDiligenceVerification, dueDiligenceInformation, dueDiligenceExemptionCode), expiry {manufacturerDate, expiryDate, expiryAfterDuration}, maximumRetailPrice {currencyCode, amount}, handlingCode Oversized | Fragile | Food | HandleWithCare}}]. Optional: shippedDate and estimatedDeliveryDate (ISO-8601); shipmentType and shipmentStructure (values in the Body block); transportationDetails {carrierScac, carrierShipmentReferenceNumber, transportationMode Road | Air | Ocean, billOfLadingNumber}; shipmentMeasurements {grossShipmentWeight {unitOfMeasure G | Kg | Oz | Lb, value}, shipmentVolume {unitOfMeasure CuFt | CuIn | CuM | CuY, value}, cartonCount, palletCount}; importDetails {methodOfPayment PaidByBuyer | CollectOnDelivery | DefinedByBuyerAndSeller | FOBPortOfCall | PrepaidBySeller | PaidBySeller, handlingInstructions Oversized | Fragile | Food | HandleWithCare, route, billableWeight}; cartons (a SmallParcel shipment, one entry per carton): [{cartonSequenceNumber ('001', … — pallets reference cartons by it), cartonIdentifiers: [{containerIdentificationType SSCC | AMZNCC | GTIN | BPS | CID, containerIdentificationNumber}], trackingNumber (Amazon requires one per carton), dimensions {length, width, height, unitOfMeasure In | Ft | Meter | Yard}, weight {unitOfMeasure G | Kg | Oz | Lb, value}, items: [{itemReference (the itemSequenceNumber from shippedItems), shippedQuantity {amount, unitOfMeasure, unitSize}, itemDetails}] required}]; pallets (a palletized shipment): [{palletIdentifiers: [{containerIdentificationType, containerIdentificationNumber}] required, tier (layers per pallet), block (cartons per layer), dimensions, weight, cartonReferenceDetails {cartonCount (mandatory for a single-item pallet), cartonReferenceNumbers — the cartonSequenceNumbers on this pallet}, items}]. Full tree: https://developer-docs.amazon.com/sp-api/docs/vendor-shipments-api-v1-reference

Result

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

  • data.transactionId — the transaction, already final when this returns.
  • data.status — SUCCESS, or Failure with data.errors [{code, message, details}].

Body (Amazon schema; SubmitShipmentConfirmations): {shipmentConfirmations: [ShipmentConfirmation]}, each item

shipmentIdentifier*: string
shipmentConfirmationType*: Original | Replace
shipmentConfirmationDate*: string (date-time)
sellingParty*: {address: {name*, addressLine1*, addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, countryCode*, phone}, partyId*, taxRegistrationDetails: [{taxRegistrationType*, taxRegistrationNumber*}]}
shipFromParty*: {address: {name*, addressLine1*, addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, countryCode*, phone}, partyId*, taxRegistrationDetails: [{taxRegistrationType*, taxRegistrationNumber*}]}
shipToParty*: {address: {name*, addressLine1*, addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, countryCode*, phone}, partyId*, taxRegistrationDetails: [{taxRegistrationType*, taxRegistrationNumber*}]}
shippedItems*: [{itemSequenceNumber*, amazonProductIdentifier, vendorProductIdentifier, shippedQuantity*: {amount*, unitOfMeasure*, unitSize, totalWeight}, itemDetails: {purchaseOrderNumber, lotNumber, lotNumberSourceReference, lotNumberSourceType, countryOfOrigin, regulationReferences, expiry, maximumRetailPrice, handlingCode}}]
shipmentType: TruckLoad | LessThanTruckLoad | SmallParcel
shipmentStructure: PalletizedAssortmentCase | LooseAssortmentCase | PalletOfItems | PalletizedStandardCase | LooseStandardCase | MasterPallet | MasterCase
+ 8 more: transportationDetails, amazonReferenceNumber, shippedDate, estimatedDeliveryDate,
  shipmentMeasurements, importDetails, cartons, pallets
Full schema: the Docs link above.

Gotchas

  • HTTP 502 = still Processing after 60 s; the error names the transactionId — check it with vendorTransactionStatus_getTransaction before resubmitting.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude