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

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

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

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

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateAssetSetsRequest — Request message for AssetSetService.MutateAssetSets.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesAssetSetOperation[] — Required. The list of operations to perform on individual asset sets.
    - `create` GoogleAdsSearchads360V23ResourcesAssetSet — An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set.
      - `merchantCenterFeed` GoogleAdsSearchads360V23ResourcesAssetSetMerchantCenterFeed — Merchant ID and Feed Label from Google Merchant Center.
        - `merchantId` string, int64 — Required. Merchant ID from Google Merchant Center
        - `feedLabel` string — Optional. Feed Label from Google Merchant Center.
      - `hotelPropertyData` GoogleAdsSearchads360V23ResourcesAssetSetHotelPropertyData — For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
        - `hotelCenterId` string, int64 — Output only. The hotel center ID of the partner.
        - `partnerName` string — Output only. Name of the hotel partner.
      - `id` string, int64 — Output only. The ID of the asset set.
      - `locationSet` GoogleAdsSearchads360V23CommonLocationSet — Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified.
        - `businessProfileLocationSet` GoogleAdsSearchads360V23CommonBusinessProfileLocationSet — Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified.
          - `labelFilters` string[] — Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
          - `businessAccountId` string — Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
          - `httpAuthorizationToken` string — Required. Immutable. The HTTP authorization token used to obtain authorization.
          - `listingIdFilters` string[] — Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
          - `businessNameFilter` string — Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
          - `emailAddress` string — Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
        - `locationOwnershipType` 'UNSPECIFIED' | 'UNKNOWN' | 'BUSINESS_OWNER' | 'AFFILIATE' — Required. Immutable. Location Ownership Type (owned location or affiliate location).
        - `chainLocationSet` GoogleAdsSearchads360V23CommonChainSet — Data used to configure a location set populated with the specified chains.
          - `chains` GoogleAdsSearchads360V23CommonChainFilter[] — Required. A list of chain level filters, all filters are OR'ed together.
            - `chainId` string, int64 — Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
            - `locationAttributes` string[] — Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
          - `relationshipType` 'UNSPECIFIED' | 'UNKNOWN' | 'AUTO_DEALERS' | 'GENERAL_RETAILERS' — Required. Immutable. Relationship type the specified chains have with this advertiser.
        - `mapsLocationSet` GoogleAdsSearchads360V23CommonMapsLocationSet — Wrapper for multiple maps location sync data
          - `mapsLocations` GoogleAdsSearchads360V23CommonMapsLocationInfo[] — Required. A list of maps location info that user manually synced in.
            - `placeId` string — Place ID of the Maps location.
      - `resourceName` string — Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
      - `chainLocationGroup` GoogleAdsSearchads360V23CommonChainLocationGroup — Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
        - `dynamicChainLocationGroupFilters` GoogleAdsSearchads360V23CommonChainFilter[] — Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
          - `chainId` string, int64 — Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
          - `locationAttributes` string[] — Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
      - `locationGroupParentAssetSetId` string, int64 — Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
      - `businessProfileLocationGroup` GoogleAdsSearchads360V23CommonBusinessProfileLocationGroup — Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile.
        - `dynamicBusinessProfileLocationGroupFilter` GoogleAdsSearchads360V23CommonDynamicBusinessProfileLocationGroupFilter — Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together.
          - `listingIdFilters` string[] — Used to filter Business Profile locations by listing ids.
          - `labelFilters` string[] — Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
          - `businessNameFilter` GoogleAdsSearchads360V23CommonBusinessProfileBusinessNameFilter — Business Profile location group business name filter.
            - `businessName` string — Business name string to use for filtering.
            - `filterType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' — The type of string matching to use when filtering with business_name.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'PAGE_FEED' | 'DYNAMIC_EDUCATION' | 'MERCHANT_CENTER_FEED' | 'DYNAMIC_REAL_ESTATE' | 'DYNAMIC_CUSTOM' | 'DYNAMIC_HOTELS_AND_RENTALS' | 'DYNAMIC_FLIGHTS' | 'DYNAMIC_TRAVEL' | 'DYNAMIC_LOCAL' | 'DYNAMIC_JOBS' | 'LOCATION_SYNC' | 'BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP' | 'CHAIN_DYNAMIC_LOCATION_GROUP' | 'STATIC_LOCATION_GROUP' | 'HOTEL_PROPERTY' | 'TRAVEL_FEED' — Required. Immutable. The type of the asset set. Required.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' — Output only. The status of the asset set. Read-only.
      - `name` string — Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
    - `update` GoogleAdsSearchads360V23ResourcesAssetSet — An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set.
      - `merchantCenterFeed` GoogleAdsSearchads360V23ResourcesAssetSetMerchantCenterFeed — Merchant ID and Feed Label from Google Merchant Center.
        - `merchantId` string, int64 — Required. Merchant ID from Google Merchant Center
        - `feedLabel` string — Optional. Feed Label from Google Merchant Center.
      - `hotelPropertyData` GoogleAdsSearchads360V23ResourcesAssetSetHotelPropertyData — For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
        - `hotelCenterId` string, int64 — Output only. The hotel center ID of the partner.
        - `partnerName` string — Output only. Name of the hotel partner.
      - `id` string, int64 — Output only. The ID of the asset set.
      - `locationSet` GoogleAdsSearchads360V23CommonLocationSet — Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified.
        - `businessProfileLocationSet` GoogleAdsSearchads360V23CommonBusinessProfileLocationSet — Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified.
          - `labelFilters` string[] — Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
          - `businessAccountId` string — Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
          - `httpAuthorizationToken` string — Required. Immutable. The HTTP authorization token used to obtain authorization.
          - `listingIdFilters` string[] — Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
          - `businessNameFilter` string — Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
          - `emailAddress` string — Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
        - `locationOwnershipType` 'UNSPECIFIED' | 'UNKNOWN' | 'BUSINESS_OWNER' | 'AFFILIATE' — Required. Immutable. Location Ownership Type (owned location or affiliate location).
        - `chainLocationSet` GoogleAdsSearchads360V23CommonChainSet — Data used to configure a location set populated with the specified chains.
          - `chains` GoogleAdsSearchads360V23CommonChainFilter[] — Required. A list of chain level filters, all filters are OR'ed together.
            - `chainId` string, int64 — Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
            - `locationAttributes` string[] — Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
          - `relationshipType` 'UNSPECIFIED' | 'UNKNOWN' | 'AUTO_DEALERS' | 'GENERAL_RETAILERS' — Required. Immutable. Relationship type the specified chains have with this advertiser.
        - `mapsLocationSet` GoogleAdsSearchads360V23CommonMapsLocationSet — Wrapper for multiple maps location sync data
          - `mapsLocations` GoogleAdsSearchads360V23CommonMapsLocationInfo[] — Required. A list of maps location info that user manually synced in.
            - `placeId` string — Place ID of the Maps location.
      - `resourceName` string — Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
      - `chainLocationGroup` GoogleAdsSearchads360V23CommonChainLocationGroup — Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
        - `dynamicChainLocationGroupFilters` GoogleAdsSearchads360V23CommonChainFilter[] — Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
          - `chainId` string, int64 — Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
          - `locationAttributes` string[] — Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
      - `locationGroupParentAssetSetId` string, int64 — Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
      - `businessProfileLocationGroup` GoogleAdsSearchads360V23CommonBusinessProfileLocationGroup — Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile.
        - `dynamicBusinessProfileLocationGroupFilter` GoogleAdsSearchads360V23CommonDynamicBusinessProfileLocationGroupFilter — Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together.
          - `listingIdFilters` string[] — Used to filter Business Profile locations by listing ids.
          - `labelFilters` string[] — Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
          - `businessNameFilter` GoogleAdsSearchads360V23CommonBusinessProfileBusinessNameFilter — Business Profile location group business name filter.
            - `businessName` string — Business name string to use for filtering.
            - `filterType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' — The type of string matching to use when filtering with business_name.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'PAGE_FEED' | 'DYNAMIC_EDUCATION' | 'MERCHANT_CENTER_FEED' | 'DYNAMIC_REAL_ESTATE' | 'DYNAMIC_CUSTOM' | 'DYNAMIC_HOTELS_AND_RENTALS' | 'DYNAMIC_FLIGHTS' | 'DYNAMIC_TRAVEL' | 'DYNAMIC_LOCAL' | 'DYNAMIC_JOBS' | 'LOCATION_SYNC' | 'BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP' | 'CHAIN_DYNAMIC_LOCATION_GROUP' | 'STATIC_LOCATION_GROUP' | 'HOTEL_PROPERTY' | 'TRAVEL_FEED' — Required. Immutable. The type of the asset set. Required.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' — Output only. The status of the asset set. Read-only.
      - `name` string — Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
    - `remove` string — Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id}/assetSets/{asset_set_id}`
    - `updateMask` string, google-fieldmask — FieldMask that determines which resource fields are modified in an update.
  - `responseContentType` 'UNSPECIFIED' | 'RESOURCE_NAME_ONLY' | 'MUTABLE_RESOURCE' — The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
  - `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.

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