openapi: 3.1.0 info: title: Looker Studio Assets Manifest API description: The Looker Studio API enables developers to programmatically manage reports, data sources, and permissions. It provides methods for searching assets and managing asset permissions including getting, updating, adding, and removing members. The API is 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 termsOfService: https://developers.google.com/terms servers: - url: https://datastudio.googleapis.com/v1 description: Looker Studio API production server security: - oauth2: [] tags: - name: Manifest description: Operations related to the visualization manifest configuration that defines how a visualization is discovered and loaded. paths: /visualization/manifest: get: operationId: getVisualizationManifest summary: Looker Studio Get visualization manifest schema description: Returns the JSON schema definition for community visualization manifests. The manifest defines the visualization's name, description, resource locations, data configuration, and style elements. tags: - Manifest responses: '200': description: The manifest schema definition. content: application/json: schema: $ref: '#/components/schemas/VisualizationManifest' components: schemas: VisualizationConfig: type: object description: Configuration defining the visualization's data requirements and style options. properties: data: type: array description: Data configuration specifying what dimensions and metrics the visualization requires. items: $ref: '#/components/schemas/DataConfig' style: type: array description: Style configuration specifying the user-configurable style elements that appear in the Looker Studio property panel. items: $ref: '#/components/schemas/StyleConfig' interactions: type: array description: Interaction configurations defining how the visualization responds to user interactions like filtering. items: $ref: '#/components/schemas/InteractionConfig' StyleConfig: type: object description: Defines a group of style elements that appear in the Looker Studio property panel for the visualization. properties: id: type: string description: Unique identifier for this style group. label: type: string description: Display label for this style group. elements: type: array description: The individual style elements in this group. items: type: object properties: id: type: string description: Unique identifier for this style element. label: type: string description: Display label for this element. type: type: string description: The type of style input to render. enum: - FONT_COLOR - FONT_SIZE - FONT_FAMILY - FILL_COLOR - BORDER_COLOR - BORDER_WEIGHT - OPACITY - LINE_WEIGHT - LINE_STYLE - CHECKBOX - TEXTINPUT - SELECT_SINGLE - SELECT_RADIO defaultValue: type: string description: The default value for this style element. VisualizationComponent: type: object description: A single visualization component within a manifest. properties: id: type: string description: The unique identifier for this component. name: type: string description: The display name of the component. description: type: string description: A description of the component's purpose. iconUrl: type: string format: uri description: URL to the component's icon image. resource: $ref: '#/components/schemas/VisualizationResource' config: $ref: '#/components/schemas/VisualizationConfig' required: - id - name - resource DataConfig: type: object description: Defines a data source slot that the visualization requires, specifying the number and type of dimensions and metrics. properties: id: type: string description: Unique identifier for this data configuration. label: type: string description: Display label for this data source in the property panel. elements: type: array description: The dimension and metric slots for this data source. items: type: object properties: id: type: string description: Unique identifier for this element. label: type: string description: Display label for this element. type: type: string description: Whether this element accepts dimensions or metrics. enum: - DIMENSION - METRIC options: type: object properties: min: type: integer description: Minimum number of fields required. max: type: integer description: Maximum number of fields allowed. VisualizationResource: type: object description: The JavaScript and CSS resources required to render the visualization. properties: js: type: string format: uri description: URL to the visualization's JavaScript bundle. css: type: string format: uri description: URL to the visualization's CSS stylesheet. required: - js VisualizationManifest: type: object description: The manifest file that defines a community visualization's metadata, resources, data requirements, and style configuration. properties: name: type: string description: The display name of the visualization. organization: type: string description: The organization or developer that created the visualization. description: type: string description: A description of what the visualization does. logoUrl: type: string format: uri description: URL to the visualization's logo image. devMode: type: boolean description: Whether the visualization is in development mode. Development mode disables caching. components: type: array description: The list of visualization components defined in this manifest. items: $ref: '#/components/schemas/VisualizationComponent' required: - name - components InteractionConfig: type: object description: Defines an interaction type that the visualization supports, such as filter interactions. properties: id: type: string description: Unique identifier for this interaction. supportedActions: type: array description: The types of actions this interaction supports. items: type: string enum: - FILTER securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 authentication with domain-wide delegation. Requires Google Workspace or Cloud Identity organization. flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/datastudio: Full access to manage Looker Studio assets and permissions. https://www.googleapis.com/auth/datastudio.readonly: Read-only access to Looker Studio assets. https://www.googleapis.com/auth/userinfo.profile: Access to user profile information. externalDocs: description: Looker Studio API Reference url: https://developers.google.com/looker-studio/integrate/api/reference