---
schema_version: "1"
id: 920a4bbb9cd488bd5984131c64c4d46bd963d1a777f4aab0f64fe79da0f57124
title: Lens
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/api/metadata_api/reference/lens.doc.md
canonical_url: https://help.tableau.com/current/api/metadata_api/en-us/reference/lens.doc.html
source_site: help.tableau.com
content_type: documentation
content_hash: 399bbbf93c3f355efb53636df3be983d904032ae2e45978a6420b29ba258f2dd
---
_menu_ Types

OBJECT

# Lens

Lenses are curated, embeddable Ask Data experiences.  
_Introduced in Tableau Cloud June 2022 / Server 2022.3._  
_Retired in Tableau Cloud February 2024 / Server 2024.2._

## [_link_](#graphql-schema-definition) GraphQL Schema definition

`   - type Lens {  - # Unique identifier used by the metadata API. Not the same as the numeric ID used - # on server - id: [ID](https://help.tableau.com/current/api/metadata_api/en-us/reference/id.doc.html)!  - # Name shown in server - name: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html)  - # Locally unique identifier used for the REST API on the Tableau Server - luid: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html)!  - # The site in which the Lens is visible and usable - site: [TableauSite](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableausite.doc.html)!  - # The list of fields - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - fields( - filter: [LensField_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfield_filter.doc.html), - orderBy: [LensFieldSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfieldsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[LensField](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfield.doc.html)!]!  - # The list of fields - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - fieldsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [LensField_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfield_filter.doc.html), - orderBy: [LensFieldSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfieldsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [LensFieldsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfieldsconnection.doc.html)  - # The ID of the project in which the Lens is visible and usable. - projectVizportalUrlId: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html)!  - # VizPortal URL ID; used for URL generation - vizportalUrlId: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html)!  - # Datasource this lens is derived from - datasource: [Datasource](https://help.tableau.com/current/api/metadata_api/en-us/reference/datasource.doc.html)!  - # User who owns this Lens - owner: [TableauUser](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauuser.doc.html)!  - # Description of the Lens - description: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html)  - # Time the Lens was created - createdAt: [DateTime](https://help.tableau.com/current/api/metadata_api/en-us/reference/datetime.doc.html)!  - # Time the Lens was last updated - updatedAt: [DateTime](https://help.tableau.com/current/api/metadata_api/en-us/reference/datetime.doc.html)!  - # "Dashboards connected to the Lens" - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - downstreamDashboards( - filter: [Dashboard_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboard_filter.doc.html), - orderBy: [DashboardSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboardsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Dashboard](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboard.doc.html)!]!  - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - downstreamDashboardsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Dashboard_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboard_filter.doc.html), - orderBy: [DashboardSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboardsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [DashboardsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboardsconnection.doc.html)  - # "Workbooks connected to the Lens" - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - downstreamWorkbooks( - filter: [Workbook_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbook_filter.doc.html), - orderBy: [WorkbookSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbooksortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Workbook](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbook.doc.html)!]!  - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - downstreamWorkbooksConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Workbook_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbook_filter.doc.html), - orderBy: [WorkbookSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbooksortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [WorkbooksConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbooksconnection.doc.html)  - # "Metrics connected to the Lens" - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - downstreamMetrics( - filter: [Metric_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/metric_filter.doc.html), - orderBy: [MetricSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/metricsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Metric](https://help.tableau.com/current/api/metadata_api/en-us/reference/metric.doc.html)!]!  - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - downstreamMetricsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Metric_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/metric_filter.doc.html), - orderBy: [MetricSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/metricsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [MetricsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/metricsconnection.doc.html)  - # Owners of contents connected to the Lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - downstreamOwners( - filter: [TableauUser_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauuser_filter.doc.html), - orderBy: [TableauUserSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauusersortorder.doc.html) - ): [[TableauUser](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauuser.doc.html)!]!  - # Owners of contents connected to the Lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - downstreamOwnersConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [TableauUser_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauuser_filter.doc.html), - orderBy: [TableauUserSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauusersortorder.doc.html) - ): [TableauUsersConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauusersconnection.doc.html)  - # Tables that are upstream of this Lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamTables( - filter: [Table_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/table_filter.doc.html), - orderBy: [TableSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/tablesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Table](https://help.tableau.com/current/api/metadata_api/en-us/reference/table.doc.html)!]!  - # Tables that are upstream of this Lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamTablesConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Table_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/table_filter.doc.html), - orderBy: [TableSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/tablesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [TablesConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/tablesconnection.doc.html)  - # The lens configured in askData extension - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - askDataExtensions( - filter: [AskDataExtension_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextension_filter.doc.html), - orderBy: [AskDataExtensionSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextensionsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[AskDataExtension](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextension.doc.html)]  - # The lens configured in askData extension - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - askDataExtensionsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [AskDataExtension_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextension_filter.doc.html), - orderBy: [AskDataExtensionSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextensionsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [AskDataExtensionsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextensionsconnection.doc.html)  - # The fields that are upstream of this lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamFields( - filter: [Field_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/field_filter.doc.html), - orderBy: [FieldSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/fieldsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Field](https://help.tableau.com/current/api/metadata_api/en-us/reference/field.doc.html)]  - # The fields that are upstream of this lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamFieldsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Field_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/field_filter.doc.html), - orderBy: [FieldSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/fieldsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [FieldsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/fieldsconnection.doc.html)  - # The Databases that are upstream to this Lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamDatabases( - filter: [Database_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/database_filter.doc.html), - orderBy: [DatabaseSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/databasesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Database](https://help.tableau.com/current/api/metadata_api/en-us/reference/database.doc.html)]  - # The Databases that are upstream to this Lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamDatabasesConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Database_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/database_filter.doc.html), - orderBy: [DatabaseSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/databasesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [DatabasesConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/databasesconnection.doc.html)  - # The datasource that are upstream of this lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamDatasources( - filter: [PublishedDatasource_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasource_filter.doc.html), - orderBy: [PublishedDatasourceSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasourcesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[PublishedDatasource](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasource.doc.html)]  - # The datasource that are upstream of this lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamDatasourcesConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [PublishedDatasource_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasource_filter.doc.html), - orderBy: [PublishedDatasourceSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasourcesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [PublishedDatasourcesConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasourcesconnection.doc.html)  - # The flows that are upstream of this Lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamFlows( - filter: [Flow_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/flow_filter.doc.html), - orderBy: [FlowSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/flowsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[Flow](https://help.tableau.com/current/api/metadata_api/en-us/reference/flow.doc.html)]  - # The flows that are upstream of this Lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamFlowsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [Flow_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/flow_filter.doc.html), - orderBy: [FlowSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/flowsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [FlowsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/flowsconnection.doc.html)  - # The virtual connection upstream to this Lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamVirtualConnections( - filter: [VirtualConnection_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnection_filter.doc.html), - orderBy: [VirtualConnectionSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectionsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[VirtualConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnection.doc.html)]  - # The virtual connection upstream to this Lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamVirtualConnectionsConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [VirtualConnection_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnection_filter.doc.html), - orderBy: [VirtualConnectionSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectionsortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [VirtualConnectionsConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectionsconnection.doc.html)  - # The virtual connection table upstream to this Lens - # - # Arguments - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamVirtualConnectionTables( - filter: [VirtualConnectionTable_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectiontable_filter.doc.html), - orderBy: [VirtualConnectionTableSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectiontablesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [[VirtualConnectionTable](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectiontable.doc.html)]  - # The virtual connection table upstream to this Lens - # - # Arguments - # **after**: The cursor to receive the next page of objects. If no - # cursor is supplied it will start at the beginning of the list. Offset can not be - # set at the same time. This is the preferred API to use if possible as it is - # faster. - # **first**: Maximum number of objects to be returned in a page. The - # default is 100 - # **offset**: The number of entries to offset the start of the page - # by. If no offset is supplied it will start at the beginning of the list. After - # can not be set at the same time. - # **filter**: Filter by GraphQL field and given value - # **orderBy**: Sort by given fields. The sort orders defined first in - # the list will take priority. If there are no given sort orders or a tie on the - # final sorted field then the resulting set will be sorted by ID in ascending - # order. - # **permissionMode**: Results filtering mode. - upstreamVirtualConnectionTablesConnection( - after: [String](https://help.tableau.com/current/api/metadata_api/en-us/reference/string.doc.html), - first: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - offset: [Int](https://help.tableau.com/current/api/metadata_api/en-us/reference/int.doc.html), - filter: [VirtualConnectionTable_Filter](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectiontable_filter.doc.html), - orderBy: [VirtualConnectionTableSortOrder](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectiontablesortorder.doc.html), - permissionMode: [PermissionMode](https://help.tableau.com/current/api/metadata_api/en-us/reference/permissionmode.doc.html) - ): [VirtualConnectionTablesConnection](https://help.tableau.com/current/api/metadata_api/en-us/reference/virtualconnectiontablesconnection.doc.html) - }   `

## [_link_](#require-by) Require by

- [AskDataExtension_AskDataExtensions to base Tableau functionality._](https://help.tableau.com/current/api/metadata_api/en-us/reference/askdataextension.doc.html "AskDataExtension - AskDataExtensions to base Tableau functionality.")

- [BinField_GraphQL type for a binned continuous measure field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/calculations\_bins.html_](https://help.tableau.com/current/api/metadata_api/en-us/reference/binfield.doc.html "BinField - GraphQL type for a binned continuous measure field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/calculations_bins.html")

- [CalculatedField_GraphQL type for a calculated field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/calculations\_calculatedfields.html_](https://help.tableau.com/current/api/metadata_api/en-us/reference/calculatedfield.doc.html "CalculatedField - GraphQL type for a calculated field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/calculations_calculatedfields.html")

- [CloudFile_A cloud file connection_](https://help.tableau.com/current/api/metadata_api/en-us/reference/cloudfile.doc.html "CloudFile - A cloud file connection")

- [Column_GraphQL type for a table column_](https://help.tableau.com/current/api/metadata_api/en-us/reference/column.doc.html "Column - GraphQL type for a table column")

- [ColumnField_ColumnFields are a type of field which directly connects to a column in some type of table._](https://help.tableau.com/current/api/metadata_api/en-us/reference/columnfield.doc.html "ColumnField - ColumnFields are a type of field which directly connects to a column in some type of table.")

- [CombinedField_GraphQL type for a combined field. Combined fields concatanate fields together into one string._](https://help.tableau.com/current/api/metadata_api/en-us/reference/combinedfield.doc.html "CombinedField - GraphQL type for a combined field. Combined fields concatanate fields together into one string.")

- [CombinedSetField_GraphQL type for a combined set field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/sortgroup\_sets\_create.html#Combine_](https://help.tableau.com/current/api/metadata_api/en-us/reference/combinedsetfield.doc.html "CombinedSetField - GraphQL type for a combined set field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/sortgroup_sets_create.html#Combine")

- [CustomSQLTable_A table that represents the result of evaluating a custom SQL query. These "tables" are owned by the Tableau data source (embedded or published) which contains the SQL query, so they only exist within that data source._](https://help.tableau.com/current/api/metadata_api/en-us/reference/customsqltable.doc.html "CustomSQLTable - A table that represents the result of evaluating a custom SQL query. These \"tables\" are owned by the Tableau data source (embedded or published) which contains the SQL query, so they only exist within that data source.")

- [Dashboard_A dashboard contained in a published workbook._](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboard.doc.html "Dashboard - A dashboard contained in a published workbook.")

- [Database_A database containing tables_](https://help.tableau.com/current/api/metadata_api/en-us/reference/database.doc.html "Database - A database containing tables")

- [DatabaseServer_A database server connection_](https://help.tableau.com/current/api/metadata_api/en-us/reference/databaseserver.doc.html "DatabaseServer - A database server connection")

- [DatabaseTable_A table that is contained in a database_](https://help.tableau.com/current/api/metadata_api/en-us/reference/databasetable.doc.html "DatabaseTable - A table that is contained in a database")

- [DataCloud_A Data Cloud connection \*Available in Tableau Cloud February 2024 / Server 2024.2 and later.\*_](datacloud.doc.html "DataCloud - A Data Cloud connection  
    *Available in Tableau Cloud February 2024 / Server 2024.2 and later.*")

- [Datasource_Root GraphQL type for embedded and published data sources Data sources are a way to represent how Tableau Desktop and Tableau Server model and connect to data. Data sources can be published separately, as a published data source, or may be contained in a workbook as an embedded data source. See https://onlinehelp.tableau.com/current/server/en-us/datasource.htm_](datasource.doc.html "Datasource - Root GraphQL type for embedded and published data sources
    Data sources are a way to represent how Tableau Desktop and Tableau Server model and connect to data. Data sources can be published separately, as a published data source, or may be contained in a workbook as an embedded data source.
    See https://onlinehelp.tableau.com/current/server/en-us/datasource.htm")

- [DatasourceField_GraphQL type for a data source field. Data source fields can only exist in embedded data sources which connect to a published data source. A data source field is an embedded data source's 'layered' representation of a field that already exists in the published data source and is mostly a copy of the field in the published data source. Data source fields can get their own descriptions and renames local to the embedded data source, but cannot otherwise be modified in the embedded data source._](https://help.tableau.com/current/api/metadata_api/en-us/reference/datasourcefield.doc.html "DatasourceField - GraphQL type for a data source field. Data source fields can only exist in embedded data sources which connect to a published data source. A data source field is an embedded data source's 'layered' representation of a field that already exists in the published data source and is mostly a copy of the field in the published data source. Data source fields can get their own descriptions and renames local to the embedded data source, but cannot otherwise be modified in the embedded data source.")

- [EmbeddedDatasource_A data source embedded in a workbook_](https://help.tableau.com/current/api/metadata_api/en-us/reference/embeddeddatasource.doc.html "EmbeddedDatasource - A data source embedded in a workbook")

- [Field_Base GraphQL type for a field_](https://help.tableau.com/current/api/metadata_api/en-us/reference/field.doc.html "Field - Base GraphQL type for a field")

- [File_A file connection_](https://help.tableau.com/current/api/metadata_api/en-us/reference/file.doc.html "File - A file connection")

- [Flow_Flows are used to prepare data, which can include aggregation, cleaning, preprocessing, etc._](https://help.tableau.com/current/api/metadata_api/en-us/reference/flow.doc.html "Flow - Flows are used to prepare data, which can include aggregation, cleaning, preprocessing, etc.")

- [FlowColumnOutputField_Column output field implementation_](https://help.tableau.com/current/api/metadata_api/en-us/reference/flowcolumnoutputfield.doc.html "FlowColumnOutputField - Column output field implementation")

- [FlowFieldOutputField_Field output field implementation_](https://help.tableau.com/current/api/metadata_api/en-us/reference/flowfieldoutputfield.doc.html "FlowFieldOutputField - Field output field implementation")

- [FlowOutputField_A wrapper for an output field contained in a published flow._](https://help.tableau.com/current/api/metadata_api/en-us/reference/flowoutputfield.doc.html "FlowOutputField - A wrapper for an output field contained in a published flow.")

- [GroupField_GraphQL type for a group field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/sortgroup\_groups\_creating.html_](https://help.tableau.com/current/api/metadata_api/en-us/reference/groupfield.doc.html "GroupField - GraphQL type for a group field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/sortgroup_groups_creating.html")

- [HierarchyField_GraphQL type for a hierarchy. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/qs\_hierarchies.html_](https://help.tableau.com/current/api/metadata_api/en-us/reference/hierarchyfield.doc.html "HierarchyField - GraphQL type for a hierarchy. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/qs_hierarchies.html")

- [LensesConnection_Connection Type for Lens_](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensesconnection.doc.html "LensesConnection - Connection Type for Lens")

- [LensField_Lens Fields contain extra information based on an underlying datasource field_](https://help.tableau.com/current/api/metadata_api/en-us/reference/lensfield.doc.html "LensField - Lens Fields contain extra information based on an underlying datasource field")

- [Metric_Metrics are time series data constructed from fields contained in views. \*Retired in Tableau Cloud February 2024 / Server 2024.2.\*_](metric.doc.html "Metric - Metrics are time series data constructed from fields contained in views.  
    *Retired in Tableau Cloud February 2024 / Server 2024.2.*")

- [PublishedDatasource_A Tableau data source that has been published separately to Tableau Server. It can be used by multiple workbooks._](https://help.tableau.com/current/api/metadata_api/en-us/reference/publisheddatasource.doc.html "PublishedDatasource - A Tableau data source that has been published separately to Tableau Server. It can be used by multiple workbooks.")

- [Query_Query root for Metadata GraphQL interface_](https://help.tableau.com/current/api/metadata_api/en-us/reference/query.doc.html "Query - Query root for Metadata GraphQL interface")

- [SetField_GraphQL type for a set field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/sortgroup\_sets\_create.html_](https://help.tableau.com/current/api/metadata_api/en-us/reference/setfield.doc.html "SetField - GraphQL type for a set field. See https://onlinehelp.tableau.com/current/pro/desktop/en-us/sortgroup_sets_create.html")

- [Table_A table containing columns_](https://help.tableau.com/current/api/metadata_api/en-us/reference/table.doc.html "Table - A table containing columns")

- [TableauSite_Site on Tableau server_](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableausite.doc.html "TableauSite - Site on Tableau server")

- [TableauUser_User on a site on Tableau server_](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauuser.doc.html "TableauUser - User on a site on Tableau server")

- [VirtualConnection_A virtual connection. \*Available in Tableau Cloud March 2022 / Server 2022.1 and later.\*_](virtualconnection.doc.html "VirtualConnection - A virtual connection.  
    *Available in Tableau Cloud March 2022 / Server 2022.1 and later.*")

- [VirtualConnectionTable_A table in a virtual connection. \*Available in Tableau Cloud March 2022 / Server 2022.1 and later.\*_](virtualconnectiontable.doc.html "VirtualConnectionTable - A table in a virtual connection.  
    *Available in Tableau Cloud March 2022 / Server 2022.1 and later.*")

- [WebDataConnector_A web data connector_](https://help.tableau.com/current/api/metadata_api/en-us/reference/webdataconnector.doc.html "WebDataConnector - A web data connector")

- [Workbook_Workbooks are used to package up Tableau visualizations (which are called "sheets" in the Metadata API) and data models (which are called "embedded data sources" when they are owned by a workbook)._](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbook.doc.html "Workbook - Workbooks are used to package up Tableau visualizations (which are called \"sheets\" in the Metadata API) and data models (which are called \"embedded data sources\" when they are owned by a workbook).")