---
title: "POST /v23/customers/{+customerId}/assetGroups:mutate"
method: POST
path: "/v23/customers/{+customerId}/assetGroups:mutate"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}/assetGroups:mutate

`POST /v23/customers/{+customerId}/assetGroups:mutate`

Creates, updates or removes asset groups. Operation statuses are returned.

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateAssetGroupsRequest — Request message for AssetGroupService.MutateAssetGroups.
  - `operations` GoogleAdsSearchads360V23ServicesAssetGroupOperation[] — Required. The list of operations to perform on individual asset groups.
    - `remove` string — Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id}/assetGroups/{asset_group_id}`
    - `updateMask` string, google-fieldmask — FieldMask that determines which resource fields are modified in an update.
    - `create` GoogleAdsSearchads360V23ResourcesAssetGroup — An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group.
      - `finalMobileUrls` string[] — A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
      - `path1` string — First part of text that may appear appended to the url displayed in the ad.
      - `campaign` string — Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
      - `resourceName` string — Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
      - `assetCoverage` GoogleAdsSearchads360V23ResourcesAssetCoverage — Information about the asset coverage of an asset group.
        - `adStrengthActionItems` GoogleAdsSearchads360V23ResourcesAdStrengthActionItem[] — Output only. A list of action items to improve the ad strength of an asset group.
          - `actionItemType` 'UNSPECIFIED' | 'UNKNOWN' | 'ADD_ASSET' — Output only. The action item type.
          - `addAssetDetails` GoogleAdsSearchads360V23ResourcesAdStrengthActionItemAddAssetDetails — The details of the asset to add.
            - `assetCount` integer — Output only. The number of assets to add.
            - `videoAspectRatioRequirement` 'UNSPECIFIED' | 'UNKNOWN' | 'HORIZONTAL' | 'SQUARE' | 'VERTICAL' — Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
            - `assetFieldType` 'UNSPECIFIED' | 'UNKNOWN' | 'HEADLINE' | 'DESCRIPTION' | 'MANDATORY_AD_TEXT' | 'MARKETING_IMAGE' | 'MEDIA_BUNDLE' | 'YOUTUBE_VIDEO' | 'BOOK_ON_GOOGLE' | 'LEAD_FORM' | 'PROMOTION' | 'CALLOUT' | 'STRUCTURED_SNIPPET' | 'SITELINK' | 'MOBILE_APP' | 'HOTEL_CALLOUT' | 'CALL' | 'PRICE' | 'LONG_HEADLINE' | 'BUSINESS_NAME' | 'SQUARE_MARKETING_IMAGE' | 'PORTRAIT_MARKETING_IMAGE' | 'LOGO' | 'LANDSCAPE_LOGO' | 'VIDEO' | 'CALL_TO_ACTION_SELECTION' | 'AD_IMAGE' | 'BUSINESS_LOGO' | 'HOTEL_PROPERTY' | 'DEMAND_GEN_CAROUSEL_CARD' | 'BUSINESS_MESSAGE' | 'TALL_PORTRAIT_MARKETING_IMAGE' | 'LANDING_PAGE_PREVIEW' | 'LONG_DESCRIPTION' | 'CALL_TO_ACTION' — Output only. The asset field type of the asset(s) to add.
      - `name` string — Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
      - `path2` string — Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
      - `id` string, int64 — Output only. The ID of the asset group.
      - `primaryStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'PAUSED' | 'REMOVED' | 'NOT_ELIGIBLE' | 'LIMITED' | 'PENDING' — Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
      - `finalUrls` string[] — A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
      - `primaryStatusReasons` string[] — Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
      - `adStrength` 'UNSPECIFIED' | 'UNKNOWN' | 'PENDING' | 'NO_ADS' | 'POOR' | 'AVERAGE' | 'GOOD' | 'EXCELLENT' — Output only. Overall ad strength of this asset group.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'PAUSED' | 'REMOVED' — The status of the asset group.
    - `update` GoogleAdsSearchads360V23ResourcesAssetGroup — An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group.
      - `finalMobileUrls` string[] — A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
      - `path1` string — First part of text that may appear appended to the url displayed in the ad.
      - `campaign` string — Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
      - `resourceName` string — Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
      - `assetCoverage` GoogleAdsSearchads360V23ResourcesAssetCoverage — Information about the asset coverage of an asset group.
        - `adStrengthActionItems` GoogleAdsSearchads360V23ResourcesAdStrengthActionItem[] — Output only. A list of action items to improve the ad strength of an asset group.
          - `actionItemType` 'UNSPECIFIED' | 'UNKNOWN' | 'ADD_ASSET' — Output only. The action item type.
          - `addAssetDetails` GoogleAdsSearchads360V23ResourcesAdStrengthActionItemAddAssetDetails — The details of the asset to add.
            - `assetCount` integer — Output only. The number of assets to add.
            - `videoAspectRatioRequirement` 'UNSPECIFIED' | 'UNKNOWN' | 'HORIZONTAL' | 'SQUARE' | 'VERTICAL' — Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
            - `assetFieldType` 'UNSPECIFIED' | 'UNKNOWN' | 'HEADLINE' | 'DESCRIPTION' | 'MANDATORY_AD_TEXT' | 'MARKETING_IMAGE' | 'MEDIA_BUNDLE' | 'YOUTUBE_VIDEO' | 'BOOK_ON_GOOGLE' | 'LEAD_FORM' | 'PROMOTION' | 'CALLOUT' | 'STRUCTURED_SNIPPET' | 'SITELINK' | 'MOBILE_APP' | 'HOTEL_CALLOUT' | 'CALL' | 'PRICE' | 'LONG_HEADLINE' | 'BUSINESS_NAME' | 'SQUARE_MARKETING_IMAGE' | 'PORTRAIT_MARKETING_IMAGE' | 'LOGO' | 'LANDSCAPE_LOGO' | 'VIDEO' | 'CALL_TO_ACTION_SELECTION' | 'AD_IMAGE' | 'BUSINESS_LOGO' | 'HOTEL_PROPERTY' | 'DEMAND_GEN_CAROUSEL_CARD' | 'BUSINESS_MESSAGE' | 'TALL_PORTRAIT_MARKETING_IMAGE' | 'LANDING_PAGE_PREVIEW' | 'LONG_DESCRIPTION' | 'CALL_TO_ACTION' — Output only. The asset field type of the asset(s) to add.
      - `name` string — Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
      - `path2` string — Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
      - `id` string, int64 — Output only. The ID of the asset group.
      - `primaryStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'PAUSED' | 'REMOVED' | 'NOT_ELIGIBLE' | 'LIMITED' | 'PENDING' — Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
      - `finalUrls` string[] — A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
      - `primaryStatusReasons` string[] — Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
      - `adStrength` 'UNSPECIFIED' | 'UNKNOWN' | 'PENDING' | 'NO_ADS' | 'POOR' | 'AVERAGE' | 'GOOD' | 'EXCELLENT' — Output only. Overall ad strength of this asset group.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'PAUSED' | 'REMOVED' — The status of the asset group.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/versions/40d087435afd/schema)
