---
title: "List Google Sheets syncs as code"
method: GET
path: "/api/v1/projects/{projectUuid}/code/googleSheets"
tags: ["Projects"]
---

# List Google Sheets syncs as code

`GET /api/v1/projects/{projectUuid}/code/googleSheets`

Get Google Sheets syncs in code representation

## Path parameters

- `projectUuid` string, required

## Query parameters

- `slugs` string[]

## Response `200`

Success

- ApiGoogleSheetsSyncAsCodeListResponse
  - `results` object, required
    - `skipped` ScheduledDeliveryAsCodeSkip[], required
      - `reason` string, required
      - `name` string, required
    - `googleSheetsSyncs` GoogleSheetsSyncAsCode[], required
      - union
        - ChartGoogleSheetsSyncAsCode
          - `downloadedAt` string, date-time
          - `destination` object, required
            - `tabName` string, nullable, required
            - `url` string, required
            - `organizationName` string, required
            - `spreadsheetName` string, required
            - `spreadsheetId` string, required
          - `includeLinks` boolean, required
          - `enabled` boolean, required
          - `timezone` string, nullable, required
          - `cron` string, required
          - `message` string, nullable, required
          - `name` string, required
          - `slug` string, required
          - `version` number, double, required
          - `contentType` 'google_sheets_sync', required
          - `selectedTabs` null, nullable, required
          - `customViewportWidth` null, nullable, required
          - `parameters` ParametersValuesMap, required — Construct a type with a set of properties K of type T
          - `filters` FiltersInput, required
            - `tableCalculations` union
              - …
            - `metrics` union
              - …
            - `dimensions` union
              - …
          - `resource` object, required
            - `slug` string, required
            - `type` 'chart', required
        - DashboardGoogleSheetsSyncAsCode
          - `downloadedAt` string, date-time
          - `destination` object, required
            - `tabName` string, nullable, required
            - `url` string, required
            - `organizationName` string, required
            - `spreadsheetName` string, required
            - `spreadsheetId` string, required
          - `includeLinks` boolean, required
          - `enabled` boolean, required
          - `timezone` string, nullable, required
          - `cron` string, required
          - `message` string, nullable, required
          - `name` string, required
          - `slug` string, required
          - `version` number, double, required
          - `contentType` 'google_sheets_sync', required
          - `selectedTabs` string[], nullable, required
          - `customViewportWidth` number, double, nullable, required
          - `parameters` ParametersValuesMap, required — Construct a type with a set of properties K of type T
          - `filters` OmitDashboardFilterRuleId[], nullable, required
            - `label` string
            - `target` DashboardFieldTarget, required
              - …
            - `settings` unknown
            - `disabled` boolean — Whether this filter is disabled
            - `required` boolean — Whether this filter is required
            - `caseSensitive` boolean — Overrides the field/explore case-sensitivity for this rule only. Used by internal features like autocomplete search that must always match case-insensitively regardless of the field's configured setting.
            - `operator` 'isNull' | 'notNull' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'include' | 'doesNotInclude' | 'lessThan' | 'lessThanOrEqual' | 'greaterThan' | 'greaterThanOrEqual' | 'inThePast' | 'notInThePast' | 'inTheNext' | 'inTheCurrent' | 'notInTheCurrent' | 'inBetween' | 'notInBetween' | 'inPeriodToDate', required
            - `values` unknown[] — Values to filter by
              - …
            - `includeNull` boolean — For the `equals` operator on string fields, also match rows where the field is null (compiles to `field IN (...) OR field IS NULL`). Lets users combine null with selected values in a single "is" rule.
            - `tileTargets` DashboardTileTargets — Deliberately an index-signature literal, not `Record<string, ...>`. When TSOA first resolves `Record<string, DashboardTileTarget>` inside a mapped type (e.g. `Omit<DashboardFilterRule, 'id'>` in content-as-code types), it caches an EMPTY model under the shared `Record_string.DashboardTileTarget_` name, and request validation then strips every tileTargets entry from bodies — silently breaking dashboard filters on SQL chart tiles. The index-signature form resolves correctly in every context.
            - `singleValue` boolean
            - `requiredGroupId` string — Dashboard filters sharing a requiredGroupId form an "any-one required" group: the dashboard is locked until at least one member has a value.
            - `lockedTabUuids` string[] — Tab UUIDs where this filter is locked. When the active tab is in this list, viewers see the filter but cannot change it, and URL / embed filter overrides targeting the same field are ignored on that tab. Empty or omitted means the filter is not locked anywhere.
          - `resource` object, required
            - `slug` string, required
            - `type` 'dashboard', required
  - `status` 'ok', required

## Other responses

- `default` — Error

---

[API](https://skmtc.net/lightdash/apis/lightdash-api.md) · [All operations](https://skmtc.net/lightdash/apis/lightdash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightdash/lightdash-api/versions/40c933755c9a/schema)
