naftiko: 1.0.0-alpha2 info: label: Tableau REST API — Views description: 'Tableau REST API — Views. 8 operations. Lead operation: Tableau Query Views for Site. Self-contained Naftiko capability covering one Tableau business surface.' tags: - Tableau - Views created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TABLEAU_API_KEY: TABLEAU_API_KEY capability: consumes: - type: http namespace: rest-views baseUri: https://{server}/api/{api-version} description: Tableau REST API — Views business capability. Self-contained, no shared references. resources: - name: sites-site-id-views path: /sites/{site-id}/views operations: - name: queryviewsforsite method: GET description: Tableau Query Views for Site outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: includeUsageStatistics in: query type: boolean description: If true, returns usage statistics for each view. - name: sites-site-id-views-view-id path: /sites/{site-id}/views/{view-id} operations: - name: queryviewbyid method: GET description: Tableau Query View by Id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sites-site-id-views-view-id-data path: /sites/{site-id}/views/{view-id}/data operations: - name: queryviewdata method: GET description: Tableau Query View Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: maxAge in: query type: integer description: The maximum number of minutes a view can be cached before being refreshed. - name: vf_ in: query type: string description: Apply a filter to the view. Replace with the name of the filter field. - name: sites-site-id-views-view-id-image path: /sites/{site-id}/views/{view-id}/image operations: - name: queryviewimage method: GET description: Tableau Query View Image outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resolution in: query type: string description: The resolution of the image (standard or high). - name: maxAge in: query type: integer description: The maximum number of minutes a view image can be cached before being refreshed. - name: vf_ in: query type: string description: Apply a filter to the view. Replace with the name of the filter field. - name: sites-site-id-views-view-id-pdf path: /sites/{site-id}/views/{view-id}/pdf operations: - name: queryviewpdf method: GET description: Tableau Query View Pdf outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: query type: string description: The paper size for the PDF. - name: orientation in: query type: string description: The orientation of the PDF. - name: sites-site-id-views-view-id-previewImage path: /sites/{site-id}/views/{view-id}/previewImage operations: - name: queryviewpreviewimage method: GET description: Tableau Query View Preview Image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sites-site-id-views-view-id-recommendations path: /sites/{site-id}/views/{view-id}/recommendations operations: - name: getrecommendationsforviews method: GET description: Tableau Get Recommendations for Views outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sites-site-id-workbooks-workbook-id-views path: /sites/{site-id}/workbooks/{workbook-id}/views operations: - name: queryviewsforworkbook method: GET description: Tableau Query Views for Workbook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: includeUsageStatistics in: query type: boolean description: If true, returns usage statistics for each view. authentication: type: apikey key: X-Tableau-Auth value: '{{env.TABLEAU_API_KEY}}' placement: header exposes: - type: rest namespace: rest-views-rest port: 8080 description: REST adapter for Tableau REST API — Views. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sites/{site-id}/views name: sites-site-id-views description: REST surface for sites-site-id-views. operations: - method: GET name: queryviewsforsite description: Tableau Query Views for Site call: rest-views.queryviewsforsite with: includeUsageStatistics: rest.includeUsageStatistics outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/views/{view-id} name: sites-site-id-views-view-id description: REST surface for sites-site-id-views-view-id. operations: - method: GET name: queryviewbyid description: Tableau Query View by Id call: rest-views.queryviewbyid outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/views/{view-id}/data name: sites-site-id-views-view-id-data description: REST surface for sites-site-id-views-view-id-data. operations: - method: GET name: queryviewdata description: Tableau Query View Data call: rest-views.queryviewdata with: maxAge: rest.maxAge vf_: rest.vf_ outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/views/{view-id}/image name: sites-site-id-views-view-id-image description: REST surface for sites-site-id-views-view-id-image. operations: - method: GET name: queryviewimage description: Tableau Query View Image call: rest-views.queryviewimage with: resolution: rest.resolution maxAge: rest.maxAge vf_: rest.vf_ outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/views/{view-id}/pdf name: sites-site-id-views-view-id-pdf description: REST surface for sites-site-id-views-view-id-pdf. operations: - method: GET name: queryviewpdf description: Tableau Query View Pdf call: rest-views.queryviewpdf with: type: rest.type orientation: rest.orientation outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/views/{view-id}/previewimage name: sites-site-id-views-view-id-previewimage description: REST surface for sites-site-id-views-view-id-previewImage. operations: - method: GET name: queryviewpreviewimage description: Tableau Query View Preview Image call: rest-views.queryviewpreviewimage outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/views/{view-id}/recommendations name: sites-site-id-views-view-id-recommendations description: REST surface for sites-site-id-views-view-id-recommendations. operations: - method: GET name: getrecommendationsforviews description: Tableau Get Recommendations for Views call: rest-views.getrecommendationsforviews outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/workbooks/{workbook-id}/views name: sites-site-id-workbooks-workbook-id-views description: REST surface for sites-site-id-workbooks-workbook-id-views. operations: - method: GET name: queryviewsforworkbook description: Tableau Query Views for Workbook call: rest-views.queryviewsforworkbook with: includeUsageStatistics: rest.includeUsageStatistics outputParameters: - type: object mapping: $. - type: mcp namespace: rest-views-mcp port: 9090 transport: http description: MCP adapter for Tableau REST API — Views. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: tableau-query-views-site description: Tableau Query Views for Site hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewsforsite with: includeUsageStatistics: tools.includeUsageStatistics outputParameters: - type: object mapping: $. - name: tableau-query-view-id description: Tableau Query View by Id hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewbyid outputParameters: - type: object mapping: $. - name: tableau-query-view-data description: Tableau Query View Data hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewdata with: maxAge: tools.maxAge vf_: tools.vf_ outputParameters: - type: object mapping: $. - name: tableau-query-view-image description: Tableau Query View Image hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewimage with: resolution: tools.resolution maxAge: tools.maxAge vf_: tools.vf_ outputParameters: - type: object mapping: $. - name: tableau-query-view-pdf description: Tableau Query View Pdf hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewpdf with: type: tools.type orientation: tools.orientation outputParameters: - type: object mapping: $. - name: tableau-query-view-preview-image description: Tableau Query View Preview Image hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewpreviewimage outputParameters: - type: object mapping: $. - name: tableau-get-recommendations-views description: Tableau Get Recommendations for Views hints: readOnly: true destructive: false idempotent: true call: rest-views.getrecommendationsforviews outputParameters: - type: object mapping: $. - name: tableau-query-views-workbook description: Tableau Query Views for Workbook hints: readOnly: true destructive: false idempotent: true call: rest-views.queryviewsforworkbook with: includeUsageStatistics: tools.includeUsageStatistics outputParameters: - type: object mapping: $.