ads_create_portfolio
Create portfolios (cross-product: Sponsored Products, Brands and Display).
writeAmazon Adsads.portfolios
Amazon Ads API · CreatePortfolios · POST /portfolios Docs: https://advertising.amazon.com/API/docs/en-us/reference/portfolios#tag/Portfolios/operation/CreatePortfolios 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)
{
"name": "ads_create_portfolio",
"arguments": {
"store": "myStore-US",
"countryCode": "<countryCode>",
"body": []
}
}From code (Tool API)
curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_create_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
| Name | Type | Description |
|---|---|---|
storerequired | string | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
countryCoderequired | string | the Ads profile's 2-letter country code (e.g. 'US'). |
bodyrequired | object[] | a bare list of portfolio objects (1–100) — the server wraps it in {portfolios: [...]}, so never send that envelope. name* and state* ('ENABLED') are required; budget is optional ({amount, currencyCode, policy, startDate, endDate}; dates YYYY-MM-DD). |
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 created 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.
- Check existing names with ads_list_portfolios first; put campaigns in the new portfolio by setting portfolioId with ads_create_campaign or ads_update_campaign.