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

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

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

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}/customInterests: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/customInterests:mutate/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()

## Path parameters

- `customersId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateCustomInterestsRequest: Request message for CustomInterestService.MutateCustomInterests.
  - `operations` GoogleAdsSearchads360V23ServicesCustomInterestOperation[]: Required. The list of operations to perform on individual custom interests.
    - `create` GoogleAdsSearchads360V23ResourcesCustomInterest: A custom interest. This is a list of users by interest.
      - `description` string: Description of this custom interest audience.
      - `id` string, int64: Output only. Id of the custom interest.
      - `members` GoogleAdsSearchads360V23ResourcesCustomInterestMember[]: List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
        - `memberType` 'UNSPECIFIED' | 'UNKNOWN' | 'KEYWORD' | 'URL': The type of custom interest member, KEYWORD or URL.
        - `parameter` string: Keyword text when member_type is KEYWORD or URL string when member_type is URL.
      - `name` string: Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
      - `resourceName` string: Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED': Status of this custom interest. Indicates whether the custom interest is enabled or removed.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'CUSTOM_AFFINITY' | 'CUSTOM_INTENT': Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
    - `update` GoogleAdsSearchads360V23ResourcesCustomInterest: A custom interest. This is a list of users by interest.
      - `description` string: Description of this custom interest audience.
      - `id` string, int64: Output only. Id of the custom interest.
      - `members` GoogleAdsSearchads360V23ResourcesCustomInterestMember[]: List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
        - `memberType` 'UNSPECIFIED' | 'UNKNOWN' | 'KEYWORD' | 'URL': The type of custom interest member, KEYWORD or URL.
        - `parameter` string: Keyword text when member_type is KEYWORD or URL string when member_type is URL.
      - `name` string: Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
      - `resourceName` string: Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED': Status of this custom interest. Indicates whether the custom interest is enabled or removed.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'CUSTOM_AFFINITY' | 'CUSTOM_INTENT': Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
    - `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

- GoogleAdsSearchads360V23ServicesMutateCustomInterestsResponse: Response message for custom interest mutate.
  - `results` GoogleAdsSearchads360V23ServicesMutateCustomInterestResult[]: 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)
