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

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

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

Creates, updates or removes asset group assets. Operation statuses are returned.

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateAssetGroupAssetsRequest — Request message for AssetGroupAssetService.MutateAssetGroupAssets.
  - `partialFailure` boolean — If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesAssetGroupAssetOperation[] — Required. The list of operations to perform on individual asset group assets.
    - `create` GoogleAdsSearchads360V23ResourcesAssetGroupAsset — AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group.
      - `resourceName` string — Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
      - `primaryStatusReasons` string[] — Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
      - `source` 'UNSPECIFIED' | 'UNKNOWN' | 'ADVERTISER' | 'AUTOMATICALLY_CREATED' — Output only. Source of the asset group asset.
      - `asset` string — Immutable. The asset which this asset group asset is linking.
      - `primaryStatusDetails` GoogleAdsSearchads360V23CommonAssetLinkPrimaryStatusDetails[] — Output only. Provides the details of the primary status and its associated reasons.
        - `reason` 'UNSPECIFIED' | 'UNKNOWN' | 'ASSET_LINK_PAUSED' | 'ASSET_LINK_REMOVED' | 'ASSET_DISAPPROVED' | 'ASSET_UNDER_REVIEW' | 'ASSET_APPROVED_LABELED' — Provides the reason of this PrimaryStatus.
        - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'PAUSED' | 'REMOVED' | 'PENDING' | 'LIMITED' | 'NOT_ELIGIBLE' — Provides the PrimaryStatus of this status detail.
        - `assetDisapproved` GoogleAdsSearchads360V23CommonAssetDisapproved — Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED
          - `offlineEvaluationErrorReasons` string[] — Provides the quality evaluation disapproval reason of an asset.
      - `primaryStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'PAUSED' | 'REMOVED' | 'PENDING' | 'LIMITED' | 'NOT_ELIGIBLE' — Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
      - `policySummary` GoogleAdsSearchads360V23CommonPolicySummary — Contains policy summary information.
        - `policyTopicEntries` GoogleAdsSearchads360V23CommonPolicyTopicEntry[] — The list of policy findings.
          - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'PROHIBITED' | 'LIMITED' | 'FULLY_LIMITED' | 'DESCRIPTIVE' | 'BROADENING' | 'AREA_OF_INTEREST_ONLY' — Describes the negative or positive effect this policy will have on serving.
          - `evidences` GoogleAdsSearchads360V23CommonPolicyTopicEvidence[] — Additional information that explains policy finding (for example, the brand name for a trademark finding).
            - `destinationNotWorking` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationNotWorking — Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
              - …
            - `textList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceTextList — A list of fragments of text that violated a policy.
              - …
            - `languageCode` string — The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
            - `destinationTextList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationTextList — A list of strings found in a destination page that caused a policy finding.
              - …
            - `destinationMismatch` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationMismatch — Evidence of mismatches between the URLs of a resource.
              - …
            - `websiteList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceWebsiteList — A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here.
              - …
          - `topic` string — Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
          - `constraints` GoogleAdsSearchads360V23CommonPolicyTopicConstraint[] — Indicates how serving of this resource may be affected (for example, not serving in a country).
            - `resellerConstraint` GoogleAdsSearchads360V23CommonPolicyTopicConstraintResellerConstraint — Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.
            - `certificateDomainMismatchInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList — A list of countries where a resource's serving is constrained.
              - …
            - `certificateMissingInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList — A list of countries where a resource's serving is constrained.
              - …
            - `countryConstraintList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList — A list of countries where a resource's serving is constrained.
              - …
        - `reviewStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'REVIEW_IN_PROGRESS' | 'REVIEWED' | 'UNDER_APPEAL' | 'ELIGIBLE_MAY_SERVE' — Where in the review process the resource is.
        - `approvalStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'DISAPPROVED' | 'APPROVED_LIMITED' | 'APPROVED' | 'AREA_OF_INTEREST_ONLY' — The overall approval status, which is calculated based on the status of its individual policy topic entries.
      - `assetGroup` string — Immutable. The asset group which this asset group asset is linking.
      - `fieldType` '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' — The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' | 'PAUSED' — The status of the link between an asset and asset group.
    - `update` GoogleAdsSearchads360V23ResourcesAssetGroupAsset — AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group.
      - `resourceName` string — Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
      - `primaryStatusReasons` string[] — Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
      - `source` 'UNSPECIFIED' | 'UNKNOWN' | 'ADVERTISER' | 'AUTOMATICALLY_CREATED' — Output only. Source of the asset group asset.
      - `asset` string — Immutable. The asset which this asset group asset is linking.
      - `primaryStatusDetails` GoogleAdsSearchads360V23CommonAssetLinkPrimaryStatusDetails[] — Output only. Provides the details of the primary status and its associated reasons.
        - `reason` 'UNSPECIFIED' | 'UNKNOWN' | 'ASSET_LINK_PAUSED' | 'ASSET_LINK_REMOVED' | 'ASSET_DISAPPROVED' | 'ASSET_UNDER_REVIEW' | 'ASSET_APPROVED_LABELED' — Provides the reason of this PrimaryStatus.
        - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'PAUSED' | 'REMOVED' | 'PENDING' | 'LIMITED' | 'NOT_ELIGIBLE' — Provides the PrimaryStatus of this status detail.
        - `assetDisapproved` GoogleAdsSearchads360V23CommonAssetDisapproved — Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED
          - `offlineEvaluationErrorReasons` string[] — Provides the quality evaluation disapproval reason of an asset.
      - `primaryStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'ELIGIBLE' | 'PAUSED' | 'REMOVED' | 'PENDING' | 'LIMITED' | 'NOT_ELIGIBLE' — Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
      - `policySummary` GoogleAdsSearchads360V23CommonPolicySummary — Contains policy summary information.
        - `policyTopicEntries` GoogleAdsSearchads360V23CommonPolicyTopicEntry[] — The list of policy findings.
          - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'PROHIBITED' | 'LIMITED' | 'FULLY_LIMITED' | 'DESCRIPTIVE' | 'BROADENING' | 'AREA_OF_INTEREST_ONLY' — Describes the negative or positive effect this policy will have on serving.
          - `evidences` GoogleAdsSearchads360V23CommonPolicyTopicEvidence[] — Additional information that explains policy finding (for example, the brand name for a trademark finding).
            - `destinationNotWorking` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationNotWorking — Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
              - …
            - `textList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceTextList — A list of fragments of text that violated a policy.
              - …
            - `languageCode` string — The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
            - `destinationTextList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationTextList — A list of strings found in a destination page that caused a policy finding.
              - …
            - `destinationMismatch` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceDestinationMismatch — Evidence of mismatches between the URLs of a resource.
              - …
            - `websiteList` GoogleAdsSearchads360V23CommonPolicyTopicEvidenceWebsiteList — A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here.
              - …
          - `topic` string — Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
          - `constraints` GoogleAdsSearchads360V23CommonPolicyTopicConstraint[] — Indicates how serving of this resource may be affected (for example, not serving in a country).
            - `resellerConstraint` GoogleAdsSearchads360V23CommonPolicyTopicConstraintResellerConstraint — Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.
            - `certificateDomainMismatchInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList — A list of countries where a resource's serving is constrained.
              - …
            - `certificateMissingInCountryList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList — A list of countries where a resource's serving is constrained.
              - …
            - `countryConstraintList` GoogleAdsSearchads360V23CommonPolicyTopicConstraintCountryConstraintList — A list of countries where a resource's serving is constrained.
              - …
        - `reviewStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'REVIEW_IN_PROGRESS' | 'REVIEWED' | 'UNDER_APPEAL' | 'ELIGIBLE_MAY_SERVE' — Where in the review process the resource is.
        - `approvalStatus` 'UNSPECIFIED' | 'UNKNOWN' | 'DISAPPROVED' | 'APPROVED_LIMITED' | 'APPROVED' | 'AREA_OF_INTEREST_ONLY' — The overall approval status, which is calculated based on the status of its individual policy topic entries.
      - `assetGroup` string — Immutable. The asset group which this asset group asset is linking.
      - `fieldType` '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' — The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' | 'PAUSED' — The status of the link between an asset and asset group.
    - `remove` string — Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
    - `updateMask` string, google-fieldmask — FieldMask that determines which resource fields are modified in an update.

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