Google Campaign Manager · Capability

Google Campaign Manager Campaign Manager 360 API — Ads

Google Campaign Manager Campaign Manager 360 API — Ads. 5 operations. Lead operation: Google Campaign Manager List Ads. Self-contained Naftiko capability covering one Google Campaign Manager business surface.

Run with Naftiko Google Campaign ManagerAds

What You Can Do

GET
Listads — Google Campaign Manager List Ads
/v1/userprofiles/{profileid}/ads
POST
Insertad — Google Campaign Manager Create an Ad
/v1/userprofiles/{profileid}/ads
GET
Getad — Google Campaign Manager Get an Ad
/v1/userprofiles/{profileid}/ads/{adid}
PUT
Updatead — Google Campaign Manager Update an Ad
/v1/userprofiles/{profileid}/ads/{adid}
PATCH
Patchad — Google Campaign Manager Patch an Ad
/v1/userprofiles/{profileid}/ads/{adid}

MCP Tools

google-campaign-manager-list-ads

Google Campaign Manager List Ads

read-only idempotent
google-campaign-manager-create-ad

Google Campaign Manager Create an Ad

google-campaign-manager-get-ad

Google Campaign Manager Get an Ad

read-only idempotent
google-campaign-manager-update-ad

Google Campaign Manager Update an Ad

idempotent
google-campaign-manager-patch-ad

Google Campaign Manager Patch an Ad

idempotent

Capability Spec

google-campaign-manager-ads.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Campaign Manager Campaign Manager 360 API — Ads
  description: 'Google Campaign Manager Campaign Manager 360 API — Ads. 5 operations. Lead operation: Google Campaign Manager
    List Ads. Self-contained Naftiko capability covering one Google Campaign Manager business surface.'
  tags:
  - Google Campaign Manager
  - Ads
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_CAMPAIGN_MANAGER_API_KEY: GOOGLE_CAMPAIGN_MANAGER_API_KEY
capability:
  consumes:
  - type: http
    namespace: google-campaign-manager-ads
    baseUri: https://dfareporting.googleapis.com/dfareporting/v4
    description: Google Campaign Manager Campaign Manager 360 API — Ads business capability. Self-contained, no shared references.
    resources:
    - name: userprofiles-profileId-ads
      path: /userprofiles/{profileId}/ads
      operations:
      - name: listads
        method: GET
        description: Google Campaign Manager List Ads
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: campaignIds
          in: query
          type: array
          description: Select only ads belonging to these campaigns.
        - name: advertiserIds
          in: query
          type: array
          description: Select only ads belonging to these advertisers.
        - name: ids
          in: query
          type: array
          description: Select only ads with these IDs.
        - name: placementIds
          in: query
          type: array
          description: Select only ads with these placement IDs assigned.
        - name: type
          in: query
          type: string
          description: Select only ads with the specified type.
        - name: active
          in: query
          type: boolean
          description: Select only active ads.
        - name: archived
          in: query
          type: boolean
          description: Select only archived ads.
        - name: searchString
          in: query
          type: string
          description: Search string for filtering results. Matches against ad name and ID fields.
        - name: sortField
          in: query
          type: string
        - name: sortOrder
          in: query
          type: string
      - name: insertad
        method: POST
        description: Google Campaign Manager Create an Ad
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: userprofiles-profileId-ads-adId
      path: /userprofiles/{profileId}/ads/{adId}
      operations:
      - name: getad
        method: GET
        description: Google Campaign Manager Get an Ad
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatead
        method: PUT
        description: Google Campaign Manager Update an Ad
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: patchad
        method: PATCH
        description: Google Campaign Manager Patch an Ad
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.GOOGLE_CAMPAIGN_MANAGER_API_KEY}}'
  exposes:
  - type: rest
    namespace: google-campaign-manager-ads-rest
    port: 8080
    description: REST adapter for Google Campaign Manager Campaign Manager 360 API — Ads. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/userprofiles/{profileid}/ads
      name: userprofiles-profileid-ads
      description: REST surface for userprofiles-profileId-ads.
      operations:
      - method: GET
        name: listads
        description: Google Campaign Manager List Ads
        call: google-campaign-manager-ads.listads
        with:
          campaignIds: rest.campaignIds
          advertiserIds: rest.advertiserIds
          ids: rest.ids
          placementIds: rest.placementIds
          type: rest.type
          active: rest.active
          archived: rest.archived
          searchString: rest.searchString
          sortField: rest.sortField
          sortOrder: rest.sortOrder
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: insertad
        description: Google Campaign Manager Create an Ad
        call: google-campaign-manager-ads.insertad
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/userprofiles/{profileid}/ads/{adid}
      name: userprofiles-profileid-ads-adid
      description: REST surface for userprofiles-profileId-ads-adId.
      operations:
      - method: GET
        name: getad
        description: Google Campaign Manager Get an Ad
        call: google-campaign-manager-ads.getad
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatead
        description: Google Campaign Manager Update an Ad
        call: google-campaign-manager-ads.updatead
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchad
        description: Google Campaign Manager Patch an Ad
        call: google-campaign-manager-ads.patchad
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: google-campaign-manager-ads-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Campaign Manager Campaign Manager 360 API — Ads. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: google-campaign-manager-list-ads
      description: Google Campaign Manager List Ads
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-campaign-manager-ads.listads
      with:
        campaignIds: tools.campaignIds
        advertiserIds: tools.advertiserIds
        ids: tools.ids
        placementIds: tools.placementIds
        type: tools.type
        active: tools.active
        archived: tools.archived
        searchString: tools.searchString
        sortField: tools.sortField
        sortOrder: tools.sortOrder
      outputParameters:
      - type: object
        mapping: $.
    - name: google-campaign-manager-create-ad
      description: Google Campaign Manager Create an Ad
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-campaign-manager-ads.insertad
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-campaign-manager-get-ad
      description: Google Campaign Manager Get an Ad
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-campaign-manager-ads.getad
      outputParameters:
      - type: object
        mapping: $.
    - name: google-campaign-manager-update-ad
      description: Google Campaign Manager Update an Ad
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: google-campaign-manager-ads.updatead
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-campaign-manager-patch-ad
      description: Google Campaign Manager Patch an Ad
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: google-campaign-manager-ads.patchad
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.