---
title: "POST /v23/customers/{customersId}/customAudiences:mutate"
method: POST
path: "/v23/customers/{customersId}/customAudiences:mutate"
tags: ["customers"]
---

# POST /v23/customers/{customersId}/customAudiences:mutate

`POST /v23/customers/{customersId}/customAudiences:mutate`

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}/customAudiences:mutate`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/doubleclicksearch`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/doubleclicksearch`
- TypeScript: <https://skmtc.dev/google/apis/searchads360/docs/v23/customers/:customersId/customAudiences:mutate/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]()

## Path parameters

- `customersId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateCustomAudiencesRequest: Request message for CustomAudienceService.MutateCustomAudiences.
  - `operations` GoogleAdsSearchads360V23ServicesCustomAudienceOperation[]: Required. The list of operations to perform on individual custom audiences.
    - `create` GoogleAdsSearchads360V23ResourcesCustomAudience: A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED
      - `description` string: Description of this custom audience.
      - `id` string, int64: Output only. ID of the custom audience.
      - `members` GoogleAdsSearchads360V23ResourcesCustomAudienceMember[]: List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
        - `app` string: A package name of Android apps which users installed such as com.google.example.
        - `keyword` string: A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
        - `memberType` 'UNSPECIFIED' | 'UNKNOWN' | 'KEYWORD' | 'URL' | 'PLACE_CATEGORY' | 'APP': The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
        - `placeCategory` string, int64: A place type described by a place category users visit.
        - `url` string: An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
      - `name` string: Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
      - `resourceName` string: Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED': Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'AUTO' | 'INTEREST' | 'PURCHASE_INTENT' | 'SEARCH': Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
    - `remove` string: Remove operation: A resource name for the removed custom audience is expected, in this format: `customers/{customer_id}/customAudiences/{custom_audience_id}`
    - `update` GoogleAdsSearchads360V23ResourcesCustomAudience: A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED
      - `description` string: Description of this custom audience.
      - `id` string, int64: Output only. ID of the custom audience.
      - `members` GoogleAdsSearchads360V23ResourcesCustomAudienceMember[]: List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
        - `app` string: A package name of Android apps which users installed such as com.google.example.
        - `keyword` string: A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
        - `memberType` 'UNSPECIFIED' | 'UNKNOWN' | 'KEYWORD' | 'URL' | 'PLACE_CATEGORY' | 'APP': The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
        - `placeCategory` string, int64: A place type described by a place category users visit.
        - `url` string: An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
      - `name` string: Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
      - `resourceName` string: Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED': Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'AUTO' | 'INTEREST' | 'PURCHASE_INTENT' | 'SEARCH': Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
    - `updateMask` string, google-fieldmask: FieldMask that determines which resource fields are modified in an update.
  - `validateOnly` boolean: If true, the request is validated but not executed. Only errors are returned, not results.

## Response `200`

Successful response

- GoogleAdsSearchads360V23ServicesMutateCustomAudiencesResponse: Response message for custom audience mutate.
  - `results` GoogleAdsSearchads360V23ServicesMutateCustomAudienceResult[]: All results for the mutate.
    - `resourceName` string: Returned for successful operations.

---

[API](https://skmtc.dev/google/apis/searchads360.md) - [All operations](https://skmtc.dev/google/apis/searchads360/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/searchads360/revisions/4a4511f84b18?raw)
