meta_ads_ad_rules_update
Update fields on an existing Meta Ads automated rule; only supplied fields change, and the updated rule is returned.
Instructions
Updates fields on an existing Automated Rule. Partial update — only supplied fields are changed. Returns the updated rule. Mutating — not automatically reversible; record before-state with mureo_state_action_log_append if you may need to roll back. Changes take effect on the next scheduled evaluation. To temporarily suspend a rule, set status=DISABLED rather than deleting it so history is preserved.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New rule name. | |
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| status | No | New status. DISABLED pauses evaluation without deleting history. | |
| rule_id | Yes | Rule ID to update. | |
| approval | No | External approval this change carries out (recorded and shown, never verified) | |
| expected | No | Expected effects [{metric, direction, target?, horizon_days?, primary?}], exactly one primary:true when several; metric cpa/cpc/cpl/cpm/conversions/cvr/ctr/roas/cost/spend/clicks/impressions; direction up/down/hold. | |
| account_id | No | Meta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required. | |
| decision_id | No | A proposed decision this change carries out. | |
| replace_specs | No | When true, supplied spec objects replace the whole spec instead of merging onto the current one. Default false (safe merge). | |
| schedule_spec | No | Schedule changes. Merged onto the current spec by default; set replace_specs=true to replace it. | |
| execution_spec | No | Action changes. Merged onto the current spec by default; array values are replaced wholesale. Set replace_specs=true to replace it. | |
| evaluation_spec | No | Trigger changes. Merged onto the current spec by default (top-level keys you omit are kept), so you can change one facet without dropping the rest. Note: array values such as `filters` are replaced wholesale — include every condition you want to keep. Set replace_specs=true to replace the whole spec. |