> ## 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 Campaign

> Low-level operation to update Pinterest Ads campaigns with a raw PATCH payload; only the provided fields are changed

Low-level operation to update Pinterest Ads campaigns with a raw PATCH payload; only the provided fields are changed. Use focused operations first when available, for example pinterest\_ads\_update\_campaign\_status or pinterest\_ads\_rename\_campaign. Use pinterest\_ads\_list\_campaigns first to inspect the current payload. Supports dry\_run to preview the final payload without calling Pinterest.

|                       |                                 |
| --------------------- | ------------------------------- |
| **App**               | Pinterest Ads                   |
| **Operation ID**      | `pinterest_ads_update_campaign` |
| **Type**              | Action                          |
| **Connection**        | `pinterest_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 Pinterest Ads account that owns the campaign.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `campaign_id`    | string or SelectItem | Yes      | -       | Pinterest campaign ID to update. Markifact sends it as id; do not repeat it inside update\_payload.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `update_payload` | object or string     | Yes      | -       | Campaign fields to update as a JSON object, sent to Pinterest as-is in a PATCH request; only the fields you include are changed. Common fields: name, status (ACTIVE/PAUSED/ARCHIVED), start\_time and end\_time (Unix seconds), tracking\_urls, order\_line\_id, is\_flexible\_daily\_budgets, is\_automated\_campaign. Budget fields are raw Pinterest microcurrency integers: daily\_spend\_cap, lifetime\_spend\_cap, and default\_ad\_group\_budget\_in\_micro\_currency (multiply the currency amount by 1,000,000, so \$50 is 50000000). Draft campaigns only: objective\_type, is\_campaign\_budget\_optimization. Prefer pinterest\_ads\_update\_campaign\_status and pinterest\_ads\_rename\_campaign for plain status or name changes. Example: \{"daily\_spend\_cap": 50000000, "end\_time": 1798761600} |
| `dry_run`        | boolean              | No       | `False` | When true, do not call Pinterest. Return the resolved endpoint and 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 campaign\_id, updated\_fields, endpoint, final payload, and dry\_run status.

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