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.
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
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: $.