naftiko: 1.0.0-alpha2 info: label: Google Campaign Manager Campaign Manager 360 API — Reports description: 'Google Campaign Manager Campaign Manager 360 API — Reports. 7 operations. Lead operation: Google Campaign Manager List Reports. Self-contained Naftiko capability covering one Google Campaign Manager business surface.' tags: - Google Campaign Manager - Reports 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-reports baseUri: https://dfareporting.googleapis.com/dfareporting/v4 description: Google Campaign Manager Campaign Manager 360 API — Reports business capability. Self-contained, no shared references. resources: - name: userprofiles-profileId-reports path: /userprofiles/{profileId}/reports operations: - name: listreports method: GET description: Google Campaign Manager List Reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: scope in: query type: string description: The scope that defines which results are returned. - name: sortField in: query type: string - name: sortOrder in: query type: string - name: insertreport method: POST description: Google Campaign Manager Create a Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: userprofiles-profileId-reports-reportId path: /userprofiles/{profileId}/reports/{reportId} operations: - name: getreport method: GET description: Google Campaign Manager Get a Report outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatereport method: PUT description: Google Campaign Manager Update a Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: patchreport method: PATCH description: Google Campaign Manager Patch a Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletereport method: DELETE description: Google Campaign Manager Delete a Report outputRawFormat: json outputParameters: - name: result type: object value: $. - name: userprofiles-profileId-reports-reportId-run path: /userprofiles/{profileId}/reports/{reportId}/run operations: - name: runreport method: POST description: Google Campaign Manager Run a Report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: synchronous in: query type: boolean description: If set to true, tries to run the report synchronously. If the report is too large for synchronous processing, it runs asynchronously instead. authentication: type: bearer token: '{{env.GOOGLE_CAMPAIGN_MANAGER_API_KEY}}' exposes: - type: rest namespace: google-campaign-manager-reports-rest port: 8080 description: REST adapter for Google Campaign Manager Campaign Manager 360 API — Reports. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/userprofiles/{profileid}/reports name: userprofiles-profileid-reports description: REST surface for userprofiles-profileId-reports. operations: - method: GET name: listreports description: Google Campaign Manager List Reports call: google-campaign-manager-reports.listreports with: scope: rest.scope sortField: rest.sortField sortOrder: rest.sortOrder outputParameters: - type: object mapping: $. - method: POST name: insertreport description: Google Campaign Manager Create a Report call: google-campaign-manager-reports.insertreport with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/userprofiles/{profileid}/reports/{reportid} name: userprofiles-profileid-reports-reportid description: REST surface for userprofiles-profileId-reports-reportId. operations: - method: GET name: getreport description: Google Campaign Manager Get a Report call: google-campaign-manager-reports.getreport outputParameters: - type: object mapping: $. - method: PUT name: updatereport description: Google Campaign Manager Update a Report call: google-campaign-manager-reports.updatereport with: body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: patchreport description: Google Campaign Manager Patch a Report call: google-campaign-manager-reports.patchreport with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletereport description: Google Campaign Manager Delete a Report call: google-campaign-manager-reports.deletereport outputParameters: - type: object mapping: $. - path: /v1/userprofiles/{profileid}/reports/{reportid}/run name: userprofiles-profileid-reports-reportid-run description: REST surface for userprofiles-profileId-reports-reportId-run. operations: - method: POST name: runreport description: Google Campaign Manager Run a Report call: google-campaign-manager-reports.runreport with: synchronous: rest.synchronous outputParameters: - type: object mapping: $. - type: mcp namespace: google-campaign-manager-reports-mcp port: 9090 transport: http description: MCP adapter for Google Campaign Manager Campaign Manager 360 API — Reports. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: google-campaign-manager-list-reports description: Google Campaign Manager List Reports hints: readOnly: true destructive: false idempotent: true call: google-campaign-manager-reports.listreports with: scope: tools.scope sortField: tools.sortField sortOrder: tools.sortOrder outputParameters: - type: object mapping: $. - name: google-campaign-manager-create-report description: Google Campaign Manager Create a Report hints: readOnly: false destructive: false idempotent: false call: google-campaign-manager-reports.insertreport with: body: tools.body outputParameters: - type: object mapping: $. - name: google-campaign-manager-get-report description: Google Campaign Manager Get a Report hints: readOnly: true destructive: false idempotent: true call: google-campaign-manager-reports.getreport outputParameters: - type: object mapping: $. - name: google-campaign-manager-update-report description: Google Campaign Manager Update a Report hints: readOnly: false destructive: false idempotent: true call: google-campaign-manager-reports.updatereport with: body: tools.body outputParameters: - type: object mapping: $. - name: google-campaign-manager-patch-report description: Google Campaign Manager Patch a Report hints: readOnly: false destructive: false idempotent: true call: google-campaign-manager-reports.patchreport with: body: tools.body outputParameters: - type: object mapping: $. - name: google-campaign-manager-delete-report description: Google Campaign Manager Delete a Report hints: readOnly: false destructive: true idempotent: true call: google-campaign-manager-reports.deletereport outputParameters: - type: object mapping: $. - name: google-campaign-manager-run-report description: Google Campaign Manager Run a Report hints: readOnly: false destructive: false idempotent: false call: google-campaign-manager-reports.runreport with: synchronous: tools.synchronous outputParameters: - type: object mapping: $.