ads_update_portfolio

Update portfolios (cross-product: Sponsored Products, Brands and Display).

destructiveAmazon Adsads.portfolios

Amazon Ads API · UpdatePortfolios · PUT /portfolios Docs: https://advertising.amazon.com/API/docs/en-us/reference/portfolios#tag/Portfolios/operation/UpdatePortfolios 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": "ads_update_portfolio",
  "arguments": {
    "store": "myStore-US",
    "countryCode": "<countryCode>",
    "body": []
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_update_portfolio \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","countryCode":"<countryCode>","body":[]}'
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.
countryCoderequiredstringthe Ads profile's 2-letter country code (e.g. 'US').
bodyrequiredobject[]a bare list of {portfolioId*, ...fields to change} (1–100) — the server wraps it in {portfolios: [...]}; never send that envelope.

Result

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

  • 207, one result per item; an item whose code is not "Ok" (or that is listed under error / failures) failed — read its details.
  • data.result.portfolios.success — [{index, portfolioId, portfolio}] — each updated portfolio and its id; index is its position in your list.
  • data.result.portfolios.error — [{index, errors}] — items Amazon refused (notification.type is 'warning' when some items failed, 'error' when none succeeded).

Gotchas

  • A portfolio's state can only be ENABLED — the one value in Amazon's portfolio API (create, update and list); a portfolio cannot be paused, archived or deleted through the API — do that in the Amazon Ads console.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude