Tableau REST API

The Tableau REST API allows you to manage and change Tableau Server, Tableau Cloud site, and Tableau Prep Conductor resources programmatically, using HTTP.

Documentation

Specifications

SDKs

Code Examples

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/json-ld/tableau-context.jsonld
🔗
Versioning
https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm
🔗
ChangeLog
https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_whats_new.htm
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-authentication.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-data-sources.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-favorites.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-groups.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-jobs.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-permissions.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-projects.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-schedules.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-sites.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-subscriptions.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-users.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-views.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/capabilities/rest-workbooks.yaml

OpenAPI Specification

tableau-rest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 3.24.0
  title: Tableau REST API
  description: >-
    The Tableau REST API allows you to manage and change Tableau Server
    and Tableau Cloud resources programmatically using HTTP. You can use
    the REST API to manage sites, projects, workbooks, views, data sources,
    users, groups, permissions, schedules, subscriptions, and more.
  license:
    name: Proprietary
    url: https://www.tableau.com/legal
  termsOfService: https://www.tableau.com/legal
  contact:
    name: Tableau Developer Support
    url: https://www.tableau.com/support

servers:
- url: https://{server}/api/{api-version}
  description: Tableau Server or Tableau Cloud
  variables:
    server:
      default: 10ax.online.tableau.com
      description: >-
        The hostname of your Tableau Server or Tableau Cloud site.
        For Tableau Cloud, use the pod URL (e.g., 10ax.online.tableau.com).
        For Tableau Server, use your server hostname.
    api-version:
      default: '3.24'
      description: >-
        The version of the REST API to use. The API version corresponds
        to the version of Tableau Server or Tableau Cloud.
      enum:
      - '3.24'
      - '3.23'
      - '3.22'
      - '3.21'
      - '3.20'
      - '3.19'

externalDocs:
  description: Tableau REST API Reference
  url: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm

tags:
- name: Authentication
  description: >-
    Sign in and sign out of Tableau Server or Tableau Cloud. You must
    sign in to obtain an authentication token before calling other methods.
- name: Data Sources
  description: >-
    Publish, query, update, delete, and download data sources. Data
    sources define the connection to data and can be shared across
    multiple workbooks.
- name: Favorites
  description: >-
    Add and remove content items from a user's list of favorites,
    including workbooks, views, data sources, projects, and flows.

- name: Groups
  description: >-
    Create, update, delete, and query groups. Groups are collections
    of users that simplify permission management.
- name: Jobs
  description: >-
    Query and cancel background jobs on a site, including extract
    refreshes, subscriptions, and flow runs.
- name: Permissions
  description: >-
    Query and set permissions on content items including workbooks,
    data sources, projects, views, and flows.
- name: Projects
  description: >-
    Create, update, delete, and query projects. Projects are containers
    for organizing workbooks, data sources, and other content on a site.
- name: Schedules
  description: >-
    Create, update, delete, and query schedules for extract refreshes
    and subscriptions on Tableau Server.
- name: Sites
  description: >-
    Manage sites on Tableau Server. A site is a collection of users,
    groups, projects, workbooks, data sources, and other resources.
- name: Subscriptions
  description: >-
    Create, update, delete, and query subscriptions. Subscriptions
    deliver snapshots of views to users on a schedule.
- name: Users
  description: >-
    Add, update, remove, and query users on a site. Users are
    individuals who can sign in to Tableau Server or Tableau Cloud.
- name: Views
  description: >-
    Query views and download view images or data. Views are the
    individual sheets, dashboards, or stories within a workbook.
- name: Workbooks
  description: >-
    Publish, query, update, delete, and download workbooks. Workbooks
    contain one or more views (sheets, dashboards, or stories) and can
    connect to one or more data sources.
security:
- TableauAuth: []

paths:

  # ── Authentication ──────────────────────────────────────────

  /auth/signin:
    post:
      operationId: signIn
      summary: Tableau Sign in
      description: >-
        Signs you in as a user on the specified site on Tableau Server or
        Tableau Cloud. This call returns an authentication token that you
        use in subsequent calls to the server. Typically, a credentials
        token is valid for 240 minutes.
      tags:
      - Authentication
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignInRequest'
            examples:
              SigninRequestExample:
                summary: Default signIn request
                x-microcks-default: true
                value:
                  credentials:
                    name: Example Title
                    password: example_value
                    personalAccessTokenName: example_value
                    personalAccessTokenSecret: example_value
                    site:
                      contentUrl: https://www.example.com
      responses:
        '200':
          description: Successfully signed in.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignInResponse'
              examples:
                Signin200Example:
                  summary: Default signIn 200 response
                  x-microcks-default: true
                  value:
                    credentials:
                      token: example_value
                      site:
                        id: abc123
                        contentUrl: https://www.example.com
                      user:
                        id: abc123
        '401':
          $ref: '#/components/responses/Unauthorized'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /auth/signout:
    post:
      operationId: signOut
      summary: Tableau Sign Out
      description: >-
        Signs you out of the current session. This invalidates the
        authentication token.
      tags:
      - Authentication
      responses:
        '204':
          description: Successfully signed out.
        '401':
          $ref: '#/components/responses/Unauthorized'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /auth/switchSite:
    post:
      operationId: switchSite
      summary: Tableau Switch Site
      description: >-
        Switches you to the specified site without having to provide a
        user name and password again. The new site must be on the same
        server.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                site:
                  type: object
                  properties:
                    contentUrl:
                      type: string
                      description: The URL namespace of the site to switch to.
            examples:
              SwitchsiteRequestExample:
                summary: Default switchSite request
                x-microcks-default: true
                value:
                  site:
                    contentUrl: https://www.example.com
      responses:
        '200':
          description: Successfully switched to the specified site.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignInResponse'

  # ── Sites ───────────────────────────────────────────────────

              examples:
                Switchsite200Example:
                  summary: Default switchSite 200 response
                  x-microcks-default: true
                  value:
                    credentials:
                      token: example_value
                      site:
                        id: abc123
                        contentUrl: https://www.example.com
                      user:
                        id: abc123
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites:
    get:
      operationId: querySites
      summary: Tableau Query Sites
      description: >-
        Returns a list of the sites on the server that the caller has
        access to. This method is available to Tableau Server administrators.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      responses:
        '200':
          description: A paginated list of sites.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteListResponse'
              examples:
                Querysites200Example:
                  summary: Default querySites 200 response
                  x-microcks-default: true
                  value:
                    pagination:
                      pageNumber: 10
                      pageSize: 10
                      totalAvailable: 10
                    sites:
                      site:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createSite
      summary: Tableau Create Site
      description: >-
        Creates a site on Tableau Server. To create a site, you must be
        a server administrator. Not available for Tableau Cloud.
      tags:
      - Sites
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSiteRequest'
            examples:
              CreatesiteRequestExample:
                summary: Default createSite request
                x-microcks-default: true
                value:
                  site:
                    name: Example Title
                    contentUrl: https://www.example.com
                    adminMode: ContentAndUsers
                    userQuota: 10
                    storageQuota: 10
                    disableSubscriptions: true
      responses:
        '201':
          description: Site was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResponse'
              examples:
                Createsite201Example:
                  summary: Default createSite 201 response
                  x-microcks-default: true
                  value:
                    site:
                      id: abc123
                      name: Example Title
                      contentUrl: https://www.example.com
                      adminMode: ContentAndUsers
                      state: Active
                      storageQuota: 10
                      userQuota: 10
                      numCreators: 10
                      numExplorers: 10
                      numViewers: 10
                      disableSubscriptions: true
                      revision: example_value
                      usage:
                        numUsers: 10
                        storage: 10
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}:
    get:
      operationId: querySite
      summary: Tableau Query Site
      description: >-
        Returns information about the specified site, with the option to
        return information about the storage space and the number of users.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - name: includeUsageStatistics
        in: query
        schema:
          type: boolean
          default: false
        description: If true, returns usage statistics for the site.
        example: true
      responses:
        '200':
          description: Site details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResponse'
              examples:
                Querysite200Example:
                  summary: Default querySite 200 response
                  x-microcks-default: true
                  value:
                    site:
                      id: abc123
                      name: Example Title
                      contentUrl: https://www.example.com
                      adminMode: ContentAndUsers
                      state: Active
                      storageQuota: 10
                      userQuota: 10
                      numCreators: 10
                      numExplorers: 10
                      numViewers: 10
                      disableSubscriptions: true
                      revision: example_value
                      usage:
                        numUsers: 10
                        storage: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateSite
      summary: Tableau Update Site
      description: >-
        Updates the settings for the specified site, including the name,
        URL namespace, storage quota, and other settings.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/SiteId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSiteRequest'
            examples:
              UpdatesiteRequestExample:
                summary: Default updateSite request
                x-microcks-default: true
                value:
                  site:
                    name: Example Title
                    contentUrl: https://www.example.com
                    adminMode: ContentAndUsers
                    state: Active
                    storageQuota: 10
                    userQuota: 10
                    disableSubscriptions: true
                    revision: example_value
      responses:
        '200':
          description: Site was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteResponse'
              examples:
                Updatesite200Example:
                  summary: Default updateSite 200 response
                  x-microcks-default: true
                  value:
                    site:
                      id: abc123
                      name: Example Title
                      contentUrl: https://www.example.com
                      adminMode: ContentAndUsers
                      state: Active
                      storageQuota: 10
                      userQuota: 10
                      numCreators: 10
                      numExplorers: 10
                      numViewers: 10
                      disableSubscriptions: true
                      revision: example_value
                      usage:
                        numUsers: 10
                        storage: 10
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteSite
      summary: Tableau Delete Site
      description: >-
        Deletes the specified site. Deleting a site also deletes all
        content on the site including workbooks, data sources, users, etc.
      tags:
      - Sites
      parameters:
      - $ref: '#/components/parameters/SiteId'
      responses:
        '204':
          description: Site was deleted successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'

  # ── Projects ────────────────────────────────────────────────

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/projects:
    get:
      operationId: queryProjects
      summary: Tableau Query Projects
      description: >-
        Returns a list of projects on the specified site, with optional
        pagination. You can filter and sort the list of projects.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Sort'
      responses:
        '200':
          description: A paginated list of projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
              examples:
                Queryprojects200Example:
                  summary: Default queryProjects 200 response
                  x-microcks-default: true
                  value:
                    pagination:
                      pageNumber: 10
                      pageSize: 10
                      totalAvailable: 10
                    projects:
                      project:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createProject
      summary: Tableau Create Project
      description: >-
        Creates a project on the specified site. You can also create
        project hierarchies by setting a parent project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/SiteId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
            examples:
              CreateprojectRequestExample:
                summary: Default createProject request
                x-microcks-default: true
                value:
                  project:
                    name: Example Title
                    description: A sample description.
                    parentProjectId: '500123'
                    contentPermissions: LockedToProject
      responses:
        '201':
          description: Project was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              examples:
                Createproject201Example:
                  summary: Default createProject 201 response
                  x-microcks-default: true
                  value:
                    project:
                      id: abc123
                      name: Example Title
                      description: A sample description.
                      parentProjectId: '500123'
                      contentPermissions: LockedToProject
                      createdAt: '2026-01-15T10:30:00Z'
                      updatedAt: '2026-01-15T10:30:00Z'
                      owner:
                        id: abc123
                      topLevelProject: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/projects/{project-id}:
    put:
      operationId: updateProject
      summary: Tableau Update Project
      description: >-
        Updates the name, description, or project hierarchy of the specified project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/ProjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
            examples:
              UpdateprojectRequestExample:
                summary: Default updateProject request
                x-microcks-default: true
                value:
                  project:
                    name: Example Title
                    description: A sample description.
                    parentProjectId: '500123'
                    contentPermissions: LockedToProject
      responses:
        '200':
          description: Project was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              examples:
                Updateproject200Example:
                  summary: Default updateProject 200 response
                  x-microcks-default: true
                  value:
                    project:
                      id: abc123
                      name: Example Title
                      description: A sample description.
                      parentProjectId: '500123'
                      contentPermissions: LockedToProject
                      createdAt: '2026-01-15T10:30:00Z'
                      updatedAt: '2026-01-15T10:30:00Z'
                      owner:
                        id: abc123
                      topLevelProject: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteProject
      summary: Tableau Delete Project
      description: >-
        Deletes the specified project on a site. When you delete a
        project, all Tableau assets inside the project are also deleted.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/ProjectId'
      responses:
        '204':
          description: Project was deleted successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'

  # ── Workbooks ───────────────────────────────────────────────

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/workbooks:
    get:
      operationId: queryWorkbooksForSite
      summary: Tableau Query Workbooks for Site
      description: >-
        Returns the workbooks on a site. If the user is not an
        administrator, the method returns just the workbooks that the
        user has permissions to view.
      tags:
      - Workbooks
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          description: A paginated list of workbooks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkbookListResponse'
              examples:
                Queryworkbooksforsite200Example:
                  summary: Default queryWorkbooksForSite 200 response
                  x-microcks-default: true
                  value:
                    pagination:
                      pageNumber: 10
                      pageSize: 10
                      totalAvailable: 10
                    workbooks:
                      workbook:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/workbooks/{workbook-id}:
    get:
      operationId: queryWorkbook
      summary: Tableau Query Workbook
      description: >-
        Returns information about the specified workbook, including
        information about views and tags.
      tags:
      - Workbooks
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      responses:
        '200':
          description: Workbook details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkbookResponse'
              examples:
                Queryworkbook200Example:
                  summary: Default queryWorkbook 200 response
                  x-microcks-default: true
                  value:
                    workbook:
                      id: abc123
                      name: Example Title
                      description: A sample description.
                      contentUrl: https://www.example.com
                      webpageUrl: https://www.example.com
                      showTabs: true
                      size: 10
                      createdAt: '2026-01-15T10:30:00Z'
                      updatedAt: '2026-01-15T10:30:00Z'
                      encryptExtracts: example_value
                      defaultViewId: '500123'
                      project:
                        id: abc123
                        name: Example Title
                      owner:
                        id: abc123
                        name: Example Title
                      tags:
                        tag: {}
                      views:
                        view: {}
                      usage:
                        totalViewCount: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateWorkbook
      summary: Tableau Update Workbook
      description: >-
        Modifies an existing workbook, allowing you to change the owner,
        project, or other properties.
      tags:
      - Workbooks
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWorkbookRequest'
            examples:
              UpdateworkbookRequestExample:
                summary: Default updateWorkbook request
                x-microcks-default: true
                value:
                  workbook:
                    name: Example Title
                    showTabs: true
                    project:
                      id: abc123
                    owner:
                      id: abc123
                    encryptExtracts: example_value
      responses:
        '200':
          description: Workbook was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkbookResponse'
              examples:
                Updateworkbook200Example:
                  summary: Default updateWorkbook 200 response
                  x-microcks-default: true
                  value:
                    workbook:
                      id: abc123
                      name: Example Title
                      description: A sample description.
                      contentUrl: https://www.example.com
                      webpageUrl: https://www.example.com
                      showTabs: true
                      size: 10
                      createdAt: '2026-01-15T10:30:00Z'
                      updatedAt: '2026-01-15T10:30:00Z'
                      encryptExtracts: example_value
                      defaultViewId: '500123'
                      project:
                        id: abc123
                        name: Example Title
                      owner:
                        id: abc123
                        name: Example Title
                      tags:
                        tag: {}
                      views:
                        view: {}
                      usage:
                        totalViewCount: 10
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteWorkbook
      summary: Tableau Delete Workbook
      description: >-
        Deletes a workbook. When a workbook is deleted, all of its assets
        are also deleted, including associated views.
      tags:
      - Workbooks
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      responses:
        '204':
          description: Workbook was deleted successfully.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/workbooks/{workbook-id}/connections:
    get:
      operationId: queryWorkbookConnections
      summary: Tableau Query Workbook Connections
      description: >-
        Returns a list of data connections for the specified workbook.
      tags:
      - Workbooks
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      responses:
        '200':
          description: A list of data connections for the workbook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionListResponse'
              examples:
                Queryworkbookconnections200Example:
                  summary: Default queryWorkbookConnections 200 response
                  x-microcks-default: true
                  value:
                    connections:
                      connection:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/workbooks/{workbook-id}/content:
    get:
      operationId: downloadWorkbook
      summary: Tableau Download Workbook
      description: >-
        Downloads a workbook in .twb or .twbx format. If the workbook
        contains extracts, the download is in .twbx format.
      tags:
      - Workbooks
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      - name: extractValue
        in: query
        schema:
          type: boolean
          default: true
        description: >-
          If true, and the workbook contains extracts, the download
          includes the extracts.
        example: true
      responses:
        '200':
          description: The workbook file.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
              examples:
                Downloadworkbook200Example:
                  summary: Default downloadWorkbook 200 response
                  x-microcks-default: true
                  value: example_value
        '401':
          $ref: '#/components/responses/Unauthorized

# --- truncated at 32 KB (156 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tableau/refs/heads/main/openapi/tableau-rest-api-openapi.yml