Google Ads Customers.custom Interests API

The customers.customInterests API from Google Ads — 1 operation(s) for customers.custominterests.

Operations 1

POST /v25/customers/{customersId}/customInterests:mutate Creates or updates custom interests #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-ads-customers-custominterests-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-ads-customers-custominterests-api-openapi.yml Raw ↑
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