---
search:
  tags:
    - Ad groups
    - PATCH
seo:
  description: >-
    Available on: Meta. Reference for the PATCH
    /mutations/{advertiserId}/ad-groups/{id}/budget endpoint in the AdCrunch
    API.
sidebar:
  label: Update an ad group’s budget
  badge: PATCH
title: Update an ad group’s budget
type: openapi-operation
---
**Available on:** [![Meta](/providers/meta.svg)](https://docs.adcrunch.dev/connect/providers)

Changes the budget of an ad group. The path names the ad group, and the body holds only the change.

It starts a Mutation of the kind `meta_update_budget`, the same change that `POST /mutations` starts with that kind. The MCP tool of the same name makes the same change.

Change the daily or the lifetime budget of a campaign with Advantage campaign budget, or of an ad set. Before you change a budget, read its live amount: GET /observe/&#123;advertiserId&#125;/campaigns and GET /observe/&#123;advertiserId&#125;/ad-groups read Meta now. A daily budget is not a hard limit for one day: Meta can spend up to 175% of it on one day, and up to 7 times it in one week.

The change does **not** happen during this request. The answer is `202`, and `Location` names the Mutation. Poll `GET /mutations/{id}` until it reports `complete` or `errored`. A Mutation is durable, so the id stays valid across retries and restarts.

A refused request starts nothing. AdCrunch refuses a body that does not match, an advertiser that is not yours, an advertiser with no usable connection, and an advertiser connected without write access before a Mutation exists. So a failed call leaves no row in the history.

**This operation checks the credential first and the body second.** A missing or unusable credential answers `401` even when the body is wrong as well.

`PATCH /mutations/{advertiserId}/ad-groups/{id}/budget`
