openapi: 3.2.0 info: title: Google Ads Customers.custom Interests API description: Manage your Google Ads accounts, campaigns, and reports with this API. version: v25 x-discovery-revision: '20260721' contact: name: Google url: https://developers.google.com/google-ads/api/ termsOfService: https://developers.google.com/terms servers: - url: https://googleads.googleapis.com description: Google Ads API production server security: - oauth2: - https://www.googleapis.com/auth/adwords tags: - name: customers.customInterests paths: /v25/customers/{customersId}/customInterests:mutate: parameters: - name: upload_protocol in: query required: false schema: type: string description: Upload protocol for media (e.g. "raw", "multipart"). - name: quotaUser in: query required: false schema: type: string description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. - name: fields in: query required: false schema: type: string description: Selector specifying which fields to include in a partial response. - name: $.xgafv in: query required: false schema: type: string enum: - '1' - '2' x-enumDescriptions: - v1 error format - v2 error format description: V1 error format. - name: callback in: query required: false schema: type: string description: JSONP - name: prettyPrint in: query required: false schema: type: boolean default: 'true' description: Returns response with indentations and line breaks. - name: access_token in: query required: false schema: type: string description: OAuth access token. - name: uploadType in: query required: false schema: type: string description: Legacy upload protocol for media (e.g. "media", "multipart"). - name: key in: query required: false schema: type: string description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. - name: oauth_token in: query required: false schema: type: string description: OAuth 2.0 token for the current user. - name: alt in: query required: false schema: x-enumDescriptions: - Responses with Content-Type of application/json - Media download with context-dependent Content-Type - Responses with Content-Type of application/x-protobuf type: string default: json enum: - json - media - proto description: Data format for response. post: operationId: googleads_customers_customInterests_mutate summary: Creates or updates custom interests tags: - customers.customInterests description: 'Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()' parameters: - name: customerId in: path required: true schema: pattern: ^[^/]+$ type: string description: Required. The ID of the customer whose custom interests are being modified. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCustomInterestsRequest' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCustomInterestsResponse' security: - oauth2: - https://www.googleapis.com/auth/adwords components: schemas: GoogleAdsGoogleadsV25Resources__CustomInterest: type: object properties: type: type: string description: Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY. x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - Allows brand advertisers to define custom affinity audience lists. - Allows advertisers to define custom intent audience lists. enum: - UNSPECIFIED - UNKNOWN - CUSTOM_AFFINITY - CUSTOM_INTENT id: format: int64 type: string description: Output only. Id of the custom interest. status: description: Status of this custom interest. Indicates whether the custom interest is enabled or removed. type: string x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - Enabled status - custom interest is enabled and can be targeted to. - Removed status - custom interest is removed and cannot be used for targeting. enum: - UNSPECIFIED - UNKNOWN - ENABLED - REMOVED description: type: string description: Description of this custom interest audience. resourceName: type: string description: 'Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`' members: type: array description: 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. items: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__CustomInterestMember' name: type: string description: Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations. description: A custom interest. This is a list of users by interest. GoogleAdsGoogleadsV25Services__MutateCustomInterestResult: type: object properties: resourceName: description: Returned for successful operations. type: string description: The result for the custom interest mutate. GoogleAdsGoogleadsV25Services__CustomInterestOperation: type: object properties: updateMask: format: google-fieldmask description: FieldMask that determines which resource fields are modified in an update. type: string create: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__CustomInterest' description: 'Create operation: No resource name is expected for the new custom interest.' update: description: 'Update operation: The custom interest is expected to have a valid resource name.' $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__CustomInterest' description: A single operation (create, update) on a custom interest. GoogleAdsGoogleadsV25Services__MutateCustomInterestsRequest: type: object properties: operations: description: Required. The list of operations to perform on individual custom interests. items: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__CustomInterestOperation' type: array validateOnly: description: If true, the request is validated but not executed. Only errors are returned, not results. type: boolean description: Request message for CustomInterestService.MutateCustomInterests. GoogleAdsGoogleadsV25Resources__CustomInterestMember: description: A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed. type: object properties: parameter: type: string description: Keyword text when member_type is KEYWORD or URL string when member_type is URL. memberType: x-enumDescriptions: - Not specified. - Used for return value only. Represents value unknown in this version. - Custom interest member type KEYWORD. - Custom interest member type URL. enum: - UNSPECIFIED - UNKNOWN - KEYWORD - URL description: The type of custom interest member, KEYWORD or URL. type: string GoogleAdsGoogleadsV25Services__MutateCustomInterestsResponse: description: Response message for custom interest mutate. type: object properties: results: type: array description: All results for the mutate. items: $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCustomInterestResult' securitySchemes: oauth2: type: oauth2 description: Google OAuth 2.0. Google Ads API additionally requires a developer token in the developer-token header. flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/adwords: See, edit, create, and delete your Google Ads accounts and data. externalDocs: url: https://developers.google.com/google-ads/api/ x-source: https://googleads.googleapis.com/$discovery/rest?version=v25 x-generated-by: API Evangelist enrichment pipeline — mechanical conversion of the first-party Google API Discovery Document