Looker Studio · Capability

Looker Studio Linking API — Reports

Looker Studio Linking API — Reports. 1 operations. Lead operation: Looker Studio Create a linked report. Self-contained Naftiko capability covering one Looker Studio business surface.

Run with Naftiko Looker StudioReports

What You Can Do

GET
Createlinkedreport — Looker Studio Create a linked report
/v1/reporting/create

MCP Tools

looker-studio-create-linked-report

Looker Studio Create a linked report

read-only idempotent

Capability Spec

linking-reports.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Looker Studio Linking API — Reports
  description: 'Looker Studio Linking API — Reports. 1 operations. Lead operation: Looker Studio Create a linked report. Self-contained
    Naftiko capability covering one Looker Studio business surface.'
  tags:
  - Looker Studio
  - Reports
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LOOKER_STUDIO_API_KEY: LOOKER_STUDIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: linking-reports
    baseUri: https://lookerstudio.google.com
    description: Looker Studio Linking API — Reports business capability. Self-contained, no shared references.
    resources:
    - name: reporting-create
      path: /reporting/create
      operations:
      - name: createlinkedreport
        method: GET
        description: Looker Studio Create a linked report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: c.reportId
          in: query
          type: string
          description: The template report ID. If omitted, a blank report is used as the template.
        - name: c.pageId
          in: query
          type: string
          description: The page ID to display when the report loads. If omitted, the first page is shown.
        - name: c.mode
          in: query
          type: string
          description: The initial mode for the report. Use 'view' for view mode or 'edit' for edit mode.
        - name: c.explain
          in: query
          type: boolean
          description: When set to true, enables a debug dialog that shows how the Linking API parameters are being interpreted.
        - name: r.reportName
          in: query
          type: string
          description: Sets the name for the new report.
        - name: r.measurementId
          in: query
          type: string
          description: Configures Google Analytics measurement IDs for the report.
        - name: r.keepMeasurementId
          in: query
          type: boolean
          description: When set to true, preserves the template report's measurement IDs.
        - name: ds.ds0.connector
          in: query
          type: string
          description: 'Specifies the connector type for data source ds0. When set, the template data source configuration
            is completely replaced and all required connector parameters '
        - name: ds.ds0.datasourceName
          in: query
          type: string
          description: Sets a custom name for data source ds0.
        - name: ds.ds0.refreshFields
          in: query
          type: boolean
          description: When set to true, refreshes the field definitions for data source ds0 after configuration.
        - name: ds.ds0.projectId
          in: query
          type: string
          description: The Google Cloud project ID for data source ds0. Used with BigQuery, Cloud Spanner, and Google Cloud
            Storage connectors.
        - name: ds.ds0.datasetId
          in: query
          type: string
          description: The BigQuery dataset ID for data source ds0. Used with the BigQuery connector.
        - name: ds.ds0.tableId
          in: query
          type: string
          description: The BigQuery table ID for data source ds0. Used with the BigQuery TABLE connector type.
        - name: ds.ds0.type
          in: query
          type: string
          description: The BigQuery query type. Use TABLE for standard table access or CUSTOM_QUERY for SQL queries.
        - name: ds.ds0.sql
          in: query
          type: string
          description: The SQL query for BigQuery CUSTOM_QUERY type data sources.
        - name: ds.ds0.spreadsheetId
          in: query
          type: string
          description: The Google Sheets spreadsheet ID for data source ds0.
        - name: ds.ds0.worksheetId
          in: query
          type: string
          description: The worksheet ID within a Google Sheets spreadsheet.
        - name: ds.ds0.hasHeader
          in: query
          type: boolean
          description: Whether the Google Sheets data source has a header row.
        - name: ds.ds0.includeHiddenCells
          in: query
          type: boolean
          description: Whether to include hidden and filtered cells from Google Sheets.
        - name: ds.ds0.accountId
          in: query
          type: string
          description: The Google Analytics account ID for data source ds0.
        - name: ds.ds0.propertyId
          in: query
          type: string
          description: The Google Analytics property ID for data source ds0.
        - name: ds.ds0.viewId
          in: query
          type: string
          description: The Google Analytics view ID for data source ds0.
  exposes:
  - type: rest
    namespace: linking-reports-rest
    port: 8080
    description: REST adapter for Looker Studio Linking API — Reports. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/reporting/create
      name: reporting-create
      description: REST surface for reporting-create.
      operations:
      - method: GET
        name: createlinkedreport
        description: Looker Studio Create a linked report
        call: linking-reports.createlinkedreport
        with:
          c.reportId: rest.c.reportId
          c.pageId: rest.c.pageId
          c.mode: rest.c.mode
          c.explain: rest.c.explain
          r.reportName: rest.r.reportName
          r.measurementId: rest.r.measurementId
          r.keepMeasurementId: rest.r.keepMeasurementId
          ds.ds0.connector: rest.ds.ds0.connector
          ds.ds0.datasourceName: rest.ds.ds0.datasourceName
          ds.ds0.refreshFields: rest.ds.ds0.refreshFields
          ds.ds0.projectId: rest.ds.ds0.projectId
          ds.ds0.datasetId: rest.ds.ds0.datasetId
          ds.ds0.tableId: rest.ds.ds0.tableId
          ds.ds0.type: rest.ds.ds0.type
          ds.ds0.sql: rest.ds.ds0.sql
          ds.ds0.spreadsheetId: rest.ds.ds0.spreadsheetId
          ds.ds0.worksheetId: rest.ds.ds0.worksheetId
          ds.ds0.hasHeader: rest.ds.ds0.hasHeader
          ds.ds0.includeHiddenCells: rest.ds.ds0.includeHiddenCells
          ds.ds0.accountId: rest.ds.ds0.accountId
          ds.ds0.propertyId: rest.ds.ds0.propertyId
          ds.ds0.viewId: rest.ds.ds0.viewId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: linking-reports-mcp
    port: 9090
    transport: http
    description: MCP adapter for Looker Studio Linking API — Reports. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: looker-studio-create-linked-report
      description: Looker Studio Create a linked report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: linking-reports.createlinkedreport
      with:
        c.reportId: tools.c.reportId
        c.pageId: tools.c.pageId
        c.mode: tools.c.mode
        c.explain: tools.c.explain
        r.reportName: tools.r.reportName
        r.measurementId: tools.r.measurementId
        r.keepMeasurementId: tools.r.keepMeasurementId
        ds.ds0.connector: tools.ds.ds0.connector
        ds.ds0.datasourceName: tools.ds.ds0.datasourceName
        ds.ds0.refreshFields: tools.ds.ds0.refreshFields
        ds.ds0.projectId: tools.ds.ds0.projectId
        ds.ds0.datasetId: tools.ds.ds0.datasetId
        ds.ds0.tableId: tools.ds.ds0.tableId
        ds.ds0.type: tools.ds.ds0.type
        ds.ds0.sql: tools.ds.ds0.sql
        ds.ds0.spreadsheetId: tools.ds.ds0.spreadsheetId
        ds.ds0.worksheetId: tools.ds.ds0.worksheetId
        ds.ds0.hasHeader: tools.ds.ds0.hasHeader
        ds.ds0.includeHiddenCells: tools.ds.ds0.includeHiddenCells
        ds.ds0.accountId: tools.ds.ds0.accountId
        ds.ds0.propertyId: tools.ds.ds0.propertyId
        ds.ds0.viewId: tools.ds.ds0.viewId
      outputParameters:
      - type: object
        mapping: $.