---
title: "Update a Performance Max asset group"
method: PATCH
path: "/v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}"
tags: ["Ad Campaigns"]
---

# Update a Performance Max asset group

`PATCH /v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}`

Change the name, status (ENABLED or PAUSED), final URLs or display paths. Only the fields sent are written; null on path1 or path2 clears it. Change assets with the /assets endpoint and product targeting with /listing-group-filters. validateOnly: true validates without writing.

## Path parameters

- `campaignId` string, required
- `assetGroupId` string, required

## Request body

- object
  - `name` string
  - `status` 'ENABLED' | 'PAUSED'
  - `finalUrls` string[]
  - `finalMobileUrls` string[]
  - `path1` string, nullable
  - `path2` string, nullable
  - `validateOnly` boolean

## Response `200`

Updated (or validated).

- object
  - `assetGroupId` string
  - `updated` string[]
  - `validateOnly` boolean

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — Resource not found
- `422` — Google Ads connection needs reconnecting.
- `429` — Google quota or the Zernio Google operations burst limit is exhausted.
- `501` — Campaign is not on Google Ads.

## Changes

- **2026-09-28** `1c23a639830f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/ads/campaigns/:campaignId/asset-groups/:assetGroupId/patch.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/1c23a639830f?raw)
