Tableau Desktop Projects API

Manage projects on a site.

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-desktop-projects-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 email required.

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

OpenAPI Specification

tableau-desktop-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Tableau REST Authentication Projects API
  version: '3.22'
  description: The Tableau REST API enables programmatic management of Tableau Server and Tableau Cloud resources, including authentication, sites, users, projects, workbooks, and data sources. This minimal specification captures a representative subset of endpoints documented in the Tableau REST API Reference.
  contact:
    name: Tableau Developer Program
    url: https://www.tableau.com/developer
servers:
- url: https://{tableau-server}/api/3.22
  description: Tableau Server / Tableau Cloud REST API
  variables:
    tableau-server:
      default: 10ay.online.tableau.com
      description: Hostname of the Tableau Server or Tableau Cloud pod.
security:
- tableauAuth: []
tags:
- name: Projects
  description: Manage projects on a site.
paths:
  /sites/{siteId}/projects:
    parameters:
    - $ref: '#/components/parameters/SiteId'
    get:
      operationId: queryProjects
      summary: Query Projects
      description: Returns a list of projects on the specified site.
      tags:
      - Projects
      responses:
        '200':
          description: A list of projects.
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/Response'
    post:
      operationId: createProject
      summary: Create Project
      description: Creates a project on the specified site.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/Request'
      responses:
        '201':
          description: Project created.
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/Response'
  /sites/{siteId}/projects/{projectId}:
    parameters:
    - $ref: '#/components/parameters/SiteId'
    - $ref: '#/components/parameters/ProjectId'
    put:
      operationId: updateProject
      summary: Update Project
      description: Updates the specified project.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/Request'
      responses:
        '200':
          description: Project updated.
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/Response'
    delete:
      operationId: deleteProject
      summary: Delete Project
      description: Deletes the specified project.
      tags:
      - Projects
      responses:
        '204':
          description: Project deleted.
components:
  schemas:
    Request:
      type: object
      description: Generic Tableau REST API request envelope (tsRequest).
      additionalProperties: true
    Response:
      type: object
      description: Generic Tableau REST API response envelope (tsResponse).
      additionalProperties: true
  parameters:
    SiteId:
      name: siteId
      in: path
      required: true
      description: The LUID of the site.
      schema:
        type: string
    ProjectId:
      name: projectId
      in: path
      required: true
      description: The LUID of the project.
      schema:
        type: string
  securitySchemes:
    tableauAuth:
      type: apiKey
      in: header
      name: X-Tableau-Auth
      description: Authentication token returned by the Sign In endpoint.
x-generated-from: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm
x-generated-by: claude-crawl-2026-05-08