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

> Advanced: partially updates a Snapchat campaign from a raw field payload; only provided fields change and micro-currency fields are raw integers

Advanced: partially updates a Snapchat campaign from a raw field payload; only provided fields change and micro-currency fields are raw integers. Prefer the dedicated status, rename, and budget operations for simple changes.

|                       |                                |
| --------------------- | ------------------------------ |
| **App**               | Snapchat Ads                   |
| **Operation ID**      | `snapchat_ads_update_campaign` |
| **Type**              | Action                         |
| **Connection**        | `snapchat_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 Snapchat Ads account that owns the campaign.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `campaign_id`    | string or SelectItem | Yes      | -       | Snapchat campaign ID to update. Do not repeat it inside update\_payload.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `update_payload` | object or string     | Yes      | -       | Campaign fields to update as a JSON object; only the fields you include are changed (each key becomes a JSON-Patch add operation, and a null value removes an optional attribute). Editable fields per the Snapchat docs: name, status (ACTIVE/PAUSED), start\_time, end\_time (ISO 8601), daily\_budget\_micro and lifetime\_spend\_cap\_micro (raw micro-currency integers, minimum 20000000 = 20 in the account currency), pacing\_level, measurement\_spec, objective\_v2\_properties, regulations, and shared\_properties.target\_cost\_in\_micro for Smart Budget campaigns. Prefer the dedicated operations for plain changes: snapchat\_ads\_update\_campaign\_status, snapchat\_ads\_rename\_campaign, snapchat\_ads\_update\_campaign\_budget. Example: \{"end\_time": "2026-09-30T00:00:00Z", "daily\_budget\_micro": 50000000} |
| `dry_run`        | boolean              | No       | `False` | When true, do not call Snapchat. Return the resolved JSON-Patch operations 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 the updated fields and patch operations applied.

**Fields**: `campaign_id`, `updated_fields`, `operations`, `dry_run`
