Google Data Studio Assets API

Operations for searching and listing Looker Studio assets

OpenAPI Specification

google-data-studio-assets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Data Studio Assets API
  description: The Looker Studio API (formerly Google Data Studio API) enables programmatic management of Looker Studio assets, including searching for assets and managing permissions within Google Workspace or Cloud Identity organizations. The API is only available to users that belong to an organization with Google Workspace or Cloud Identity.
  version: v1
  contact:
    name: Google
    url: https://developers.google.com/looker-studio/integrate/api
  license:
    name: Google APIs Terms of Service
    url: https://developers.google.com/terms
  x-date: '2026-03-04'
servers:
- url: https://datastudio.googleapis.com/v1
  description: Looker Studio API v1 production server
security:
- oauth2: []
tags:
- name: Assets
  description: Operations for searching and listing Looker Studio assets
paths:
  /assets:search:
    get:
      operationId: searchAssets
      summary: Google Data Studio Search Looker Studio assets
      description: Searches the authenticated user's Looker Studio assets. Supports filtering by asset type, title, owner, and trash status. Results are paginated and can be sorted by various fields. Advanced search filters can be used in the title parameter to narrow results by creator, owner, project number, parent workspace, and sharing recipients.
      tags:
      - Assets
      parameters:
      - name: assetTypes
        in: query
        required: true
        description: The asset type to search. Exactly one asset type must be specified.
        schema:
          type: string
          enum:
          - REPORT
          - DATA_SOURCE
      - name: title
        in: query
        required: false
        description: Search string checked against asset title and description. Supports advanced search syntax including creator:me, creator:user@example.com, owner:me, owner:user@example.com, projectNumber:123456789, parentWorkspace:{uuid}, from:user@example.com, to:user@example.com, and to:group@googlegroups.com.
        schema:
          type: string
      - name: includeTrashed
        in: query
        required: false
        description: When true, includes only trashed assets. When false or omitted, excludes trashed assets. Defaults to false.
        schema:
          type: boolean
          default: false
      - name: owner
        in: query
        required: false
        description: Filter by the asset owner's email address.
        schema:
          type: string
          format: email
      - name: orderBy
        in: query
        required: false
        description: Sort order for the results. Supported values are title, last_viewed_by_me, create_time, last_accessed_time, and id.
        schema:
          type: string
          enum:
          - title
          - last_viewed_by_me
          - create_time
          - last_accessed_time
          - id
      - name: pageSize
        in: query
        required: false
        description: The maximum number of results to return per page. Defaults to 1000.
        schema:
          type: integer
          default: 1000
      - name: pageToken
        in: query
        required: false
        description: Token for pagination. Use the nextPageToken or previousPageToken value from a prior response to retrieve subsequent pages.
        schema:
          type: string
      responses:
        '200':
          description: Successful response containing a list of matching assets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAssetsResponse'
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or invalid credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient permissions. The user may not belong to a Google Workspace or Cloud Identity organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Asset:
      type: object
      description: Represents a Looker Studio asset such as a report or data source.
      properties:
        assetType:
          $ref: '#/components/schemas/AssetType'
        name:
          type: string
          description: The unique name (ID) of the asset.
        title:
          type: string
          description: The display title of the asset.
        description:
          type: string
          description: Description of the asset. Only supported for REPORT asset type.
        owner:
          type: string
          description: The email address of the asset owner.
        creator:
          type: string
          description: The email address of the asset creator.
        createTime:
          type: string
          format: date-time
          description: Timestamp when the asset was created.
        updateTime:
          type: string
          format: date-time
          description: Timestamp when the asset was last modified.
        updateByMeTime:
          type: string
          format: date-time
          description: Timestamp when the asset was last modified by the user making the API call.
        lastViewByMeTime:
          type: string
          format: date-time
          description: Timestamp when the asset was last viewed by the user making the API call.
        trashed:
          type: boolean
          description: Indicates whether the asset is in the trash.
      required:
      - assetType
      - name
      - title
      - owner
      - creator
      - createTime
      - updateTime
    Error:
      type: object
      description: Error response from the API.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: The HTTP status code.
            message:
              type: string
              description: A human-readable error message.
            status:
              type: string
              description: The error status code.
    AssetType:
      type: string
      description: The type of a Looker Studio asset.
      enum:
      - REPORT
      - DATA_SOURCE
    SearchAssetsResponse:
      type: object
      description: Response from searching Looker Studio assets.
      properties:
        assets:
          type: array
          description: The list of assets matching the search criteria.
          items:
            $ref: '#/components/schemas/Asset'
        nextPageToken:
          type: string
          description: Token to retrieve the next page of results. Only present when results exceed the page size.
        previousPageToken:
          type: string
          description: Token to retrieve the previous page of results. Empty string indicates the beginning of the result set.
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication. Requires domain-wide delegation configured by a Google Workspace administrator.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/datastudio: Full read and write access to Looker Studio assets and permissions.
            https://www.googleapis.com/auth/datastudio.readonly: Read-only access to Looker Studio assets and permissions.
            https://www.googleapis.com/auth/userinfo.profile: Access to user profile information.
externalDocs:
  description: Looker Studio API Documentation
  url: https://developers.google.com/looker-studio/integrate/api