Tableau Permissions API

Query and set permissions on content items including workbooks, data sources, projects, views, and flows.

Operations 5

GET /sites/{site-id}/workbooks/{workbook-id}/permissions Tableau Query Workbook Permissions #
PUT /sites/{site-id}/workbooks/{workbook-id}/permissions Tableau Add Workbook Permissions #
GET /sites/{site-id}/datasources/{datasource-id}/permissions Tableau Query Data Source Permissions #
PUT /sites/{site-id}/datasources/{datasource-id}/permissions Tableau Add Data Source Permissions #
GET /sites/{site-id}/projects/{project-id}/default-permissions/workbooks Tableau Query Default Permissions for Workbooks #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tableau-permissions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tableau-permissions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.24.0
  title: Tableau REST Authentication Permissions 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'
security:
- TableauAuth: []
tags:
- name: Permissions
  description: Query and set permissions on content items including workbooks, data sources, projects, views, and flows.
paths:
  /sites/{site-id}/workbooks/{workbook-id}/permissions:
    get:
      operationId: queryWorkbookPermissions
      summary: Tableau Query Workbook Permissions
      description: Returns a list of permissions for the specified workbook.
      tags:
      - Permissions
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      responses:
        '200':
          description: A list of permissions on the workbook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionListResponse'
              examples:
                Queryworkbookpermissions200Example:
                  summary: Default queryWorkbookPermissions 200 response
                  x-microcks-default: true
                  value:
                    permissions:
                      granteeCapabilities:
                      - {}
                    parent:
                      project:
                        id: abc123
                        name: Example Title
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: addWorkbookPermissions
      summary: Tableau Add Workbook Permissions
      description: Adds permissions to the specified workbook for a user or group.
      tags:
      - Permissions
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/WorkbookId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPermissionsRequest'
            examples:
              AddworkbookpermissionsRequestExample:
                summary: Default addWorkbookPermissions request
                x-microcks-default: true
                value:
                  permissions:
                    granteeCapabilities:
                    - {}
      responses:
        '200':
          description: Permissions were added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionListResponse'
              examples:
                Addworkbookpermissions200Example:
                  summary: Default addWorkbookPermissions 200 response
                  x-microcks-default: true
                  value:
                    permissions:
                      granteeCapabilities:
                      - {}
                    parent:
                      project:
                        id: abc123
                        name: Example Title
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/datasources/{datasource-id}/permissions:
    get:
      operationId: queryDataSourcePermissions
      summary: Tableau Query Data Source Permissions
      description: Returns a list of permissions for the specified data source.
      tags:
      - Permissions
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/DataSourceId'
      responses:
        '200':
          description: A list of permissions on the data source.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionListResponse'
              examples:
                Querydatasourcepermissions200Example:
                  summary: Default queryDataSourcePermissions 200 response
                  x-microcks-default: true
                  value:
                    permissions:
                      granteeCapabilities:
                      - {}
                    parent:
                      project:
                        id: abc123
                        name: Example Title
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: addDataSourcePermissions
      summary: Tableau Add Data Source Permissions
      description: Adds permissions to the specified data source for a user or group.
      tags:
      - Permissions
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/DataSourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddPermissionsRequest'
            examples:
              AdddatasourcepermissionsRequestExample:
                summary: Default addDataSourcePermissions request
                x-microcks-default: true
                value:
                  permissions:
                    granteeCapabilities:
                    - {}
      responses:
        '200':
          description: Permissions were added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionListResponse'
              examples:
                Adddatasourcepermissions200Example:
                  summary: Default addDataSourcePermissions 200 response
                  x-microcks-default: true
                  value:
                    permissions:
                      granteeCapabilities:
                      - {}
                    parent:
                      project:
                        id: abc123
                        name: Example Title
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /sites/{site-id}/projects/{project-id}/default-permissions/workbooks:
    get:
      operationId: queryDefaultWorkbookPermissions
      summary: Tableau Query Default Permissions for Workbooks
      description: Returns the default permissions for workbooks in the specified project.
      tags:
      - Permissions
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - $ref: '#/components/parameters/ProjectId'
      responses:
        '200':
          description: Default workbook permissions for the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionListResponse'
              examples:
                Querydefaultworkbookpermissions200Example:
                  summary: Default queryDefaultWorkbookPermissions 200 response
                  x-microcks-default: true
                  value:
                    permissions:
                      granteeCapabilities:
                      - {}
                    parent:
                      project:
                        id: abc123
                        name: Example Title
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    WorkbookId:
      name: workbook-id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the workbook.
    ProjectId:
      name: project-id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the project.
    DataSourceId:
      name: datasource-id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the data source.
    SiteId:
      name: site-id
      in: path
      required: true
      schema:
        type: string
      description: The ID of the site. You can get the site ID from the response to the Sign In method.
  schemas:
    AddPermissionsRequest:
      type: object
      properties:
        permissions:
          $ref: '#/components/schemas/Permission'
    Permission:
      type: object
      properties:
        granteeCapabilities:
          type: array
          items:
            type: object
            properties:
              user:
                type: object
                properties:
                  id:
                    type: string
              group:
                type: object
                properties:
                  id:
                    type: string
              capabilities:
                type: object
                properties:
                  capability:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: The name of the capability (e.g., Read, Write, ChangePermissions, Delete, Filter, ViewComments, AddComment, ExportData, ExportImage, ShareView, ViewUnderlyingData, WebAuthoring, RunExplainData).
                        mode:
                          type: string
                          enum:
                          - Allow
                          - Deny
                          description: Whether the capability is allowed or denied.
          example: []
    PermissionListResponse:
      type: object
      properties:
        permissions:
          $ref: '#/components/schemas/Permission'
        parent:
          type: object
          properties:
            project:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
          example: example_value
  securitySchemes:
    TableauAuth:
      type: apiKey
      in: header
      name: X-Tableau-Auth
      description: The authentication token obtained from the Sign In method. Include this token in the X-Tableau-Auth header of all subsequent requests.
externalDocs:
  description: Tableau REST API Reference
  url: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm