> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Portfolio

> Updates Amazon Ads portfolios with a raw payload; only the provided fields are changed

Updates Amazon Ads portfolios with a raw payload; only the provided fields are changed. Supports dry\_run.

|                       |                               |
| --------------------- | ----------------------------- |
| **App**               | Amazon Ads                    |
| **Operation ID**      | `amazon_ads_update_portfolio` |
| **Type**              | Action                        |
| **Connection**        | `amazon_ads` (required)       |
| **Credits per run**   | 1                             |
| **Agent / MCP tool**  | Yes                           |
| **Requires approval** | Yes (write operation)         |

## Inputs

| Field            | Type                 | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                               |
| ---------------- | -------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`        | DynamicAccount       | Yes      | -       | Select the Amazon Ads profile that owns the portfolio.                                                                                                                                                                                                                                                                                                                    |
| `portfolio_id`   | string or SelectItem | Yes      | -       | Amazon Ads portfolio ID to update. Markifact sends it as portfolioId; do not repeat it inside update\_payload.                                                                                                                                                                                                                                                            |
| `update_payload` | object or string     | Yes      | -       | Portfolio fields to update as a JSON object in raw Portfolios v3 format (camelCase), sent as-is; only the fields you include are changed. Fields: name, budget (policy DATE\_RANGE/MONTHLY\_RECURRING/NO\_CAP, amount in the profile's currency, startDate/endDate as YYYY-MM-DD), budgetControls. Example: \{"budget": \{"policy": "MONTHLY\_RECURRING", "amount": 500}} |
| `dry_run`        | boolean              | No       | `False` | When true, do not call Amazon. Return the final payload for review.                                                                                                                                                                                                                                                                                                       |

### SelectItem

| Field   | Type   | Required | Default | Description                                                                                          |
| ------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------- |
| `value` | string | Yes      | -       | The value of the selectable item.                                                                    |
| `label` | string | Yes      | -       | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns portfolio\_id, updated\_fields, final payload, and dry\_run status.

**Fields**: `portfolio_id`, `updated_fields`, `endpoint`, `payload`, `dry_run`
