vendorOrders_submitAcknowledgement

Acknowledge (accept, backorder or reject) one or more purchase orders.

destructiveAmazon Seller (SP-API)sp.vendorOrders

Blocks until the transaction reaches SUCCESS or FAILURE — no separate polling. Build one acknowledgement per purchaseOrderNumber from vendorOrders_getPurchaseOrder, one item per PO line. Amazon SP-API · submitAcknowledgement · POST /vendor/orders/v1/acknowledgements 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": "vendorOrders_submitAcknowledgement",
  "arguments": {
    "store": "myStore-US",
    "acknowledgement_payload": {}
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/vendorOrders_submitAcknowledgement \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","acknowledgement_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.
acknowledgement_payloadrequiredobject{"acknowledgements": [Acknowledgement, …]}. Per Acknowledgement, required: purchaseOrderNumber (8-char alphanumeric), acknowledgementDate (ISO-8601), sellingParty {partyId (the vendor or warehouse code) required; address: {name, addressLine1, countryCode (2 chars) required; addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, phone}; taxInfo: {taxRegistrationType VAT | GST, taxRegistrationNumber}}, items: [{itemSequenceNumber (the PO line), amazonProductIdentifier (ASIN) or vendorProductIdentifier (one, so Amazon matches the line), orderedQuantity {amount (non-zero int), unitOfMeasure Cases | Eaches, unitSize} required, netCost (Money {currencyCode ISO-4217, amount as a decimal string, unitOfMeasure POUNDS | OUNCES | GRAMS | KILOGRAMS for items priced by weight}) required — Amazon rejects the file without it; acknowledge at a CORRECTED cost when the PO price is wrong; listPrice (Money), discountMultiplier (decimal string), itemAcknowledgements required: [{acknowledgementCode Accepted | Backordered | Rejected, acknowledgedQuantity {amount, unitOfMeasure, unitSize}, scheduledShipDate, scheduledDeliveryDate (ISO-8601), rejectionReason (required when Rejected: TemporarilyUnavailable | InvalidProductIdentifier | ObsoleteProduct)}]}]. Split a line across codes with several itemAcknowledgements whose amounts sum to orderedQuantity. Full tree: https://developer-docs.amazon.com/sp-api/docs/vendor-orders-api-v1-reference

Result

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

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

Body (Amazon schema; submitAcknowledgement): {acknowledgements: [OrderAcknowledgement]}, each item

purchaseOrderNumber*: string
sellingParty*: {partyId*, address: {name*, addressLine1*, addressLine2, addressLine3, city, county, district, stateOrRegion, postalCode, countryCode*, phone}, taxInfo: {taxRegistrationType*, taxRegistrationNumber*}}
sellingParty.taxInfo.taxRegistrationType: VAT | GST
acknowledgementDate*: string (date-time)
items*: [{itemSequenceNumber, amazonProductIdentifier, vendorProductIdentifier, orderedQuantity*: {amount, unitOfMeasure, unitSize}, netCost: {currencyCode, amount, unitOfMeasure}, listPrice: {currencyCode, amount, unitOfMeasure}, discountMultiplier, itemAcknowledgements*: [{acknowledgementCode*, acknowledgedQuantity*, scheduledShipDate, scheduledDeliveryDate, rejectionReason}]}]
items.orderedQuantity.unitOfMeasure: Cases | Eaches
items.netCost.unitOfMeasure: POUNDS | OUNCES | GRAMS | KILOGRAMS
items.listPrice.unitOfMeasure: POUNDS | OUNCES | GRAMS | KILOGRAMS
items.itemAcknowledgements.acknowledgementCode: Accepted | Backordered | Rejected
items.itemAcknowledgements.acknowledgedQuantity.unitOfMeasure: Cases | Eaches
items.itemAcknowledgements.rejectionReason: TemporarilyUnavailable | InvalidProductIdentifier | ObsoleteProduct

Gotchas

  • Backordered is accepted only on a PO line whose isBackOrderAllowed is true (vendorOrders_getPurchaseOrder). An HTTP 502 means Amazon was still Processing after 60 s — the error names the transactionId; check it with vendorTransactionStatus_getTransaction before acknowledging again.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude