Back

Tableau API Essential Guide

Aug 3, 20246 minute read

What type of API does Tableau provide?

Based on the search results, Tableau supports multiple types of APIs:

  1. REST API: Tableau has a REST API that allows programmatic access to manage users, workbooks, data connections and other resources on Tableau Server. The REST API uses standard HTTP verbs like GET, POST, PUT and DELETE to interact with resources.

  2. GraphQL API: Tableau also has a Metadata API that uses GraphQL. The Metadata API allows querying metadata about content published to Tableau Cloud or Tableau Server. It uses a single GraphQL endpoint rather than multiple REST endpoints.

  3. SOAP API: There is no mention of a SOAP API for Tableau in the search results.

Key points:

  • The REST API provides more granular control for interacting with Tableau Server resources.
  • The GraphQL-based Metadata API is used specifically for querying metadata about Tableau content.
  • The Metadata API requires authentication using the same process as the REST API.
  • Tableau Server administrators need to explicitly enable the Metadata API, as it is disabled by default.

In summary, Tableau primarily supports REST and GraphQL APIs, with REST used for general server management and GraphQL used specifically for metadata queries. There is no evidence of a SOAP API based on the provided search results.

Does the Tableau API have webhooks?

Yes, the official Tableau API does have webhooks. Here are the key points about Tableau webhooks:

Webhook Support

  • Tableau introduced webhooks in version 2019.4.
  • Webhooks allow you to build custom applications or workflows that react to events that happen in Tableau.

Event Types

You can subscribe to the following types of events with Tableau webhooks:

  • Workbook events:
    • Workbook created
    • Workbook updated
    • Workbook deleted
  • Datasource events:
    • Datasource created
    • Datasource updated
    • Datasource deleted
  • Extract refresh events:
    • Extract refresh succeeded
    • Extract refresh failed
  • User events:
    • User added to site
    • User removed from site
  • Admin events:
    • Admin promoted
    • Admin demoted

Key Considerations

  • Webhooks are managed through the Tableau REST API.
  • You need to be authenticated as a site administrator to create and manage webhooks.
  • The webhook destination URL must use HTTPS and have a valid certificate.
  • Webhooks will retry failed requests up to 3 times before disabling.

Use Cases

Some example use cases for Tableau webhooks include:

  • Sending Slack notifications when extract refreshes fail
  • Automatically filing tickets in ServiceNow for failed refreshes
  • Notifying data stewards when new datasources are published
  • Generating PDFs and posting to SharePoint when workbooks are updated

Overall, webhooks provide a flexible way to integrate Tableau events with external systems and automate workflows based on Tableau activities.

Rate Limits and other limitations

Based on the search results provided, here are the key points about API rate limits for the Tableau API:

Request Limits on Tableau Cloud

  • There are limits on how frequently requests for extract refreshes and scheduled tasks can be made on Tableau Cloud [3].
  • These limits have quotas that are refreshed periodically (one or more times per day) [3].
  • If you hit these limits, you will encounter errors and need to try again later [3].

No Specific Rate Limit Numbers

  • The search results do not provide specific numbers for API rate limits, such as requests per second or per day.

Other API Considerations

  • The Tableau REST API uses standard HTTP verbs like GET, POST, PUT, DELETE for different operations [3].
  • Responses include standard HTTP status codes and usually return JSON or XML [3].
  • CORS (Cross-Origin Resource Sharing) can be enabled on Tableau Server for the REST API to allow browser-based API calls [3].
  • Some API methods require multipart form-data requests for uploading files [3].
  • The API supports both XML and JSON formats [3].
  • Query string parameters can be used for pagination, filtering, sorting, and specifying fields [3].

Key Takeaways

  1. There are rate limits in place for certain types of requests on Tableau Cloud, but specific numbers are not provided.

  2. The limits are based on quotas that refresh periodically.

  3. If you hit a limit, you'll need to wait and try again later.

  4. For more detailed information on rate limits, it would be best to consult Tableau's official documentation or contact their support directly, as the provided search results do not contain comprehensive rate limit details.

Latest API Version

Based on the search results provided, here is the answer to your question about the most recent version of the Tableau API:

The most recent version of the Tableau REST API is 3.23, which corresponds to Tableau Cloud June 2024 / Tableau Server 2024.2.

Key points to consider:

  1. Tableau has different types of APIs, including the REST API, JavaScript API, and Metadata API.

  2. The REST API versions are tied to Tableau Server and Tableau Cloud releases.

  3. The REST API uses a versioning system with major and minor version numbers (e.g., 3.23).

  4. Tableau Cloud typically receives updates more frequently than Tableau Server.

It's important to note that different Tableau products may have different API versions. For example:

  • The JavaScript API version that ships with Tableau 2022.1 is tableau-2.9.1.min.js.
  • The Metadata API has its own versioning system, with changes tracked starting from 2021.4.

Best practices:

  1. Always check the official Tableau documentation for the most up-to-date information on API versions.
  2. When developing applications using Tableau APIs, ensure compatibility with the specific version of Tableau Server or Tableau Cloud you're targeting.
  3. Be aware of any deprecated methods or changes in newer API versions that might affect your existing implementations.

How to get a Tableau developer account and API Keys?

  1. Sign up for a Tableau account if you don't already have one. You can do this at tableau.com.

  2. Go to the Tableau Developer Program page.

  3. Under the "Developer Sandbox" dropdown, select "New Developer Sandbox".

  4. This will create a free Tableau Online environment for you to experiment with developer tools and APIs.

  5. Once your sandbox is set up, you'll have access to various developer resources including:

    • REST API
    • JavaScript API
    • Metadata API
    • Web Data Connector
    • Hyper API
    • Other SDKs and tools
  6. Review the documentation for the specific API you want to use (e.g. REST API docs).

  7. Generate API credentials within your sandbox environment to authenticate your API requests.

  8. Start building your integration using the API of your choice.

What can you do with the Tableau API?

Based on the search results provided, here is a list of data models you can interact with using the Tableau API, along with what is possible for each:

Data Sources

  • Publish, update metadata, delete, or refresh the extract of a data source on a site [3]
  • Add and delete tags of a data source [3]
  • Get a list of data sources and the details of each [3]
  • Get and update the connection information for a data source [3]
  • Get the revision history of a data source or remove specific revisions [3]
  • Download the current data source or one of its past revisions [3]
  • Incrementally update specified portions of data from a live-to-Hyper connection [3]

Logical Tables

  • Create relationships between logical tables [4]
  • Logical tables remain separate and maintain their native level of detail [4]
  • Organize fields and calculated fields by their native level of detail in the Data pane [4]

Physical Tables

  • Join or union physical tables within a logical table [4]
  • Use the physical layer of the Data Source page canvas to work with physical tables [4]

Multi-table Data Sources

  • Create normalized data sources with multiple tables at different levels of detail [4]
  • Build multi-fact data models using relationships [4]
  • Perform analysis across multiple related tables [4]

Data Model Features

  • Use relationships as a flexible way to combine data from multiple tables [4]
  • Support for many-to-many relationships and full outer joins [4]
  • Automatic selection of join types based on the context of analysis [4]
  • Ability to see aggregations at the level of detail of the fields in your visualization [4]

Additional Capabilities

  • Use calculated fields to define relationships (Tableau 2020.3 and later) [4]
  • Compare fields used for relationships using operators in the relationship definition [4]
  • Support for Ask Data with multi-table, normalized data sources [4]
  • Performance recording to view queries generated for relationships [4]

Limitations

  • Cube data sources appear as single-table data sources and cannot create relationships [4]
  • Some connectors do not support inequality operators for relationships (e.g., Google BigQuery, MapR, Salesforce) [4]

It's important to note that the Tableau API's interaction with these data models may vary depending on the specific version of Tableau being used, as some features were introduced or enhanced in later versions.