Metadata methods have been released incrementally beginning with Tableau version 2019.3.
Using the metadata methods of the Tableau REST API, you can do the following tasks with Tableau metadata. Some methods require Data Management and are noted where this applies.
Database, including files (external asset type)
Table (external asset type)
Column (external asset type)
Label (a common interface for managing certifications, data quality warnings, sensitivity labels, and other data labels)
Quality warning trigger (enables monitoring of content and displays alerts when extract refresh and flow run failures occur)
Tag (keywords that helps users find, filter, and categorize external assets and Tableau content)
Data quality warning (DQW) (conveys data quality warning information about databases, tables, published data sources, and flows)
Note: Both data quality warnings and certifications can be more generally managed through the newerLabel methods. Tableau recommends using them instead.
Data quality certification (conveys data quality certification information for databases, tables, and data sources)
Note: Both data quality certifications and warnings can be more generally managed through the newerLabel methods. Tableau recommends using them instead.
The above functionality relates to metadata concepts and Data Catalog UI elements described at: About Tableau Catalog(Link opens in a new window).
For deeper and more comprehensive API functionality for querying metadata and schema information for Tableau content, seeTableau Metadata API(Link opens in a new window) Help.
Postman is a free, comprehensive API platform that simplifies the entire API lifecycle, providing a collaborative environment for designing, testing, and managing APIs. Postman allows you to construct, send, and examine HTTP requests to the Tableau Server or Tableau Cloud API without writing initial code.
Add permissions to a database asset.
To add permissions, the database asset must be associated with a published data source.
Version:Available in API 3.5 (Tableau Cloud and Tableau Server) and later. Version Overview
License:Available withTableau Data Management(Link opens in a new window).
Permissions:Users that are grantedChangePermissions capabilities for the asset metadata and all administrators can add database permissions. Permissions Overview
JWT Access Scope:Not available.
PUT api/api-version/sites/site-luid/databases/database-luid/permissions
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset. |
<tsRequest> <permissions> <database /> <granteeCapabilities> <user /> <capabilities> <capability name="ChangePermissions" mode="allow" /> <!-- ... additional capabilities ... --> </capabilities> </granteeCapabilities> <granteeCapabilities> <group /> <capabilities> <capability name="Read" mode="Allow" /> <!-- ... additional capabilities ... --> </capabilities></granteeCapabilities> <!-- ... additional grantee capability sets ... --> </permissions></tsRequest>{ "permissions": { "database": { "id": "1d4aa9f-3d1a-4b49-8d6d-27f113cbd25e" }, "granteeCapabilities": [ { "user": { "@id": "2d4aa9f-3d1a-4b49-8d6d-27f113cbd25e" }, "capabilities": { "capability": { "name": "ChangePermissions", "mode": "allow" } } }, { "group": { "id": "3d4aa9f-3d1a-4b49-8d6d-27f113cbd25e" }, "capabilities": { "capability": { "name": "Read", "mode": "Allow" } } } ] }}database | The LUID of the database asset you want to add permissions to. |
user id | The LUID of the user to add permissions for. |
capability name | The capability to assign. If any capability has been granted or denied for a specified user or group, that capability is ignored. Valid capabilities for a database are:
These values are case sensitive. |
capability mode | Use one of the following capabilities:
These values are case sensitive. |
group id | The LUID of the group to add permissions for. |
200
<tsResponse> <permissions><database name="oracle.test.tsi.lan:1521"/><granteeCapabilities> <user/> <capabilities><capability name="Read" mode="Allow"/> </capabilities></granteeCapabilities> </permissions></tsResponse>{ "permissions": { "database": { "id": "e8d4aa9f-3d1a-4b49-8d6d-27f113cbd25e", "name": "oracle.test.tsi.lan:1521" }, "granteeCapabilities": { "user": { " id": "6265b714-7533-465d-b6db-6d0be92bfd07" }, "capabilities": { "capability": { "name": "Read", "mode": "Allow" } } } }}| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400120 | Bad request | Permissions could not be added because support for explicit permissions is available for database assets associated with published data sources only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 405 | 405000 | Invalid request method | Request type was notPUT. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409050 | Database update error | An unknown error occurred and the database asset could not be updated. |
| 409 | 409051 | Database update forbidden | A user without "write" permissions to the database asset attempted an update. |
Adds default permission capabilities to a user or group for table resources in that database.
Default permissions function as a permissions template for the database's table assets.
Note: If a database is in a project, default database permissions are not evaluated to determine table permissions. Use theAdd Default Permissions method to control default permission capabilities on tables through projects instead.
How default permissions are enforced depends on whether the database is locked or unlocked.
Locked to the database: If the permissions on a database are locked orLocked to the database, existing child table assets and new child table assets that get indexed by Catalog will inherit the default permissions applied to the parent database asset.Note: If the database is locked, explicit permissions cannot be made for individual tables.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT /api/api-version/sites/site-luid/databases/database-luid/default-permissions/tables
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset to set default permissions for. |
<tsRequest> <permissions> <granteeCapabilities> <userapi-placeholder">user-luid" /> <capabilities> <capability name="capability-name" mode="capability-mode" /> <!-- ... additional capabilities ... --> </capabilities> </granteeCapabilities> <granteeCapabilities> <groupapi-placeholder">group-luid" /> <capabilities> <capability name="capability-name" mode="capability-mode" /> <!-- ... additional capabilities ... --> </capabilities> </granteeCapabilities> <!-- ... additional grantee capability sets ... --> </permissions></tsRequest>| user-luid | The LUID of the user to add default permissions for. |
| group-luid | The LUID of the group to add permissions for. |
| capability-name | The capability to assign. If any capability has been granted or denied for a specified user or group, that capability is ignored. Valid capabilities for a databases are the following:
These values are case sensitive. |
| capability-mode | Use one of the following capabilities:
These values are case sensitive. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following authorized users set default permissions for the database asset:
200
<tsResponse> <permissions><database name="oracle.test.tsi.lan:1521"/><granteeCapabilities> <user/> <capabilities><capability name="Read" mode="Allow"/> </capabilities></granteeCapabilities> </permissions></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Permissions setting forbidden | A non-administrator user called this method but doesn't have permission to add permissions on the project. |
| 403 | 403114 | Permissions setting forbidden | Default permissions cannot be added because the database asset is locked. |
| 404 | 404000 | Site not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404003 | Resource not found | The database LUID in the URI doesn't correspond to a database asset on the site. |
| 404 | 404002 | User not found | A user LUID in the request body as the grantee doesn't correspond to an existing user. |
| 404 | 404012 | Group not found | A group LUID in the request body doesn't correspond to an existing group. |
| 404 | 404013 | Capability not found | The capability in the request body doesn't correspond to a defined capability. This can apply to either an invalid capability name or to a capability other thanAllow orDeny for any mode value. |
| 405 | 405000 | Invalid request method | Request type was notPUT. |
Add a data quality warning to a database, table, column, published data source, flow, virtual connection, or virtual connection table.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theUpdate Labels method instead.
The Add Data Quality Warning method adds a data quality warning to an asset. (An automatically-generated monitoring warning does not count towards this limit.) In Tableau Cloud February 2024 and Tableau Server 2024.2 and earlier, adding a data quality warning to an asset that already has one causes an error.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
POST api/api-version/sites/site-id/dataQualityWarnings/content-type/content-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of asset that the data quality warning is being attached to. To specify the type, use:
These values are not case sensitive. |
| content-luid | The unique ID of the asset (database, table, column, published data source, flow, virtual connection, or virtual connection table). This is the same as the content ID. |
<tsRequest> <dataQualityWarning type="type" isActive="state" message="message" isSevere="severity"/></tsRequest>Any combination of attributes inside the<dataQualityWarning> element is valid, but the data quality warning type is required. If the data quality warning type is not included, an error is thrown.
| type | Type of data quality warning to apply to the asset. To specify the type, use one of the following values:
These values are case sensitive. |
| state | (Optional) Controls whether the data quality warning displays. Value can be "true" or "false". If the state is not specified, the data quality warning is set to "true" and is visible by default. For more information about data quality warnings, see "Set a Data Quality Warning" in theServer Help orCloud Help. |
| message | (Optional. Was required in Tableau Server 2023.3 and earlier.) A custom message to accompany the data quality warning. |
| severity | (Optional) Enables high visibility for the data quality warning when set to "true". Value can be "true" or "false". For more information, see the "Visibility" section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add the data quality warning:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
201
Example response:
<tsResponse> <dataQualityWarning userDisplayName="Steve Nguyen"contentId="0d7465f2-4989-417e-b88d-f787359edc63" contentType="DATABASE" message="Delayed"type="WARNING" isActive="true" createdAt="2020-10-08T00:00:35Z" isSevere="false"><site/><owner/> </dataQualityWarning></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400108 | Generic add data quality warning error | The data quality warning could not be added for some other reason than those specified in this table. |
| 400 | 400109 | Bad request | The request body is missing the data quality warning type. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404029 | Content not found | The requested asset could not be found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Add or update multiple data quality warnings on assets.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theUpdate Labels method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
POST api/api-version/sites/site-id/dataQualityWarnings/createOrUpdate
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
<tsRequest> <contentList><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /> </contentList> <dataQualityWarning type="type" message="message" isActive="state" isSevere="severity" /></tsRequest>| content | The type of content or asset the data quality warning is attached to. To specify type, use one of the following values:
|
| database-id | The unique ID of the database asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
| datasource-id | The unique ID of the data source content. |
| flow-id | The unique ID of the flow content. |
| virtualconnection-id | The unique ID of the virtual connection. |
| virtualconnectiontable-id | The unique ID of the virtual connection table. |
| type | The type of data quality warning to apply to the content or asset. To specify type, use one of the following values:
|
| message | (Optional) A custom message to accompany the data quality warning. |
| state | (Optional) Controls whether the data quality warning displays. Value can be "true" or "false". If the state is not specified, the data quality warning is set to "true" and is visible by default. For more information about data quality warnings, see "Set a Data Quality Warning" in theServer Help orCloud Help. |
| severity | (Optional) Enables high visibility for when the data quality warning is set to "true". Value can be "true" or "false". For more information, see the "Visibility" section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to batch add or update data quality warnings:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsRequest> <dataQualityWarningList><dataQualityWarning userDisplayName="Mark Nguyen" contentId="7cfd2ac8-a934-4aa8-bf24-96bff08a019c" contentType="DATABASE" message="Contact admin with questions" type="WARNING" isActive="true" createdAt="2021-06-26T21:34:46Z" updatedAt="2021-06-26T21:34:46Z" isSevere="true"> <site /> <owner /></dataQualityWarning><dataQualityWarning userDisplayName="Mark Nguyen" contentId="f6dcfd24-7c65-40f4-a3f3-c29f91b7731e" contentType="DATASOURCE" message="Contact admin with questions" type="WARNING" isActive="true" createdAt="2021-06-26T21:34:46Z" updatedAt="2021-06-26T21:34:46Z" isSevere="true"> <site /> <owner /><dataQualityWarning> </dataQualityWarningList></tsRequest>Version 3.12 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400109 | Bad request | The content of the request body (content type, content id, or dataQualityWarning attributes) is missing, incomplete, or contains malformed XML. |
| 400 | 400108 | Generic add data quality warning error | The data quality warning could not be added for some other reason than those specified in this table. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404029 | Content not found | The content does not exist. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Create or update one or more data quality certifications for different content and asset items.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theUpdate Labels method instead.
A content or asset item can only have up to one data quality certification applied to it. Adding a data quality certification to an item that already has one will update the data quality certification with the latest specified values.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
POST api/api-version/sites/site-id/dataQualityCertifications
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
<tsRequest> <contentList><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /> </contentList> <dataQualityIndicator type="type" message="message"active="state" elevated="severity" /></tsRequest>Any combination of attributes inside the<dataQualityIndicator> element is valid, howevertype andmessage attributes are required.
| content | The type of content or asset the data quality warning is attached to. To specify type, use one of the following values:
|
| database-id | The unique ID of the database asset. |
| table-id | The unique ID of the table asset. |
| datasource-id | The unique ID of the data source content. |
| virtualconnection-id | The unique ID of the virtual connection asset. |
| virtualconnectiontable-id | The unique ID of the virtual connection table asset. |
| type | Use the following value to apply a data quality certification: CERTIFIED. |
| message | A custom message to accompany the data quality certification. |
| state | (Optional) Controls whether the data quality certification displays. Value can be "true" or "false". If the state is not specified, the data quality certification is set to "true" and is visible by default. For more information about data quality certifications, see "Set a Data Quality Certification" in theServer Help orCloud Help. |
| severity | (Optional) Enables high visibility for when the data quality certification is set to "true". Value can be "true" or "false". If the severity is not specified, the data quality certification is set to "false." This setting is available only through the REST API. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add or update data quality certifications:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
201
Example response
<tsRequest> <dataQualityIndicatorList><dataQualityIndicator userDisplayName="Mark Nguyen" contentId="7cfd2ac8-a934-4aa8-bf24-96bff08a019c" contentType="DATABASE" message="Marketing approved" type="CERTIFIED" active="true" createdAt="2021-09-26T21:34:46Z" updatedAt="2021-09-26T21:34:46Z" elevated="true"> <site /> <owner /></dataQualityIndicator><dataQualityIndicator userDisplayName="Mark Nguyen" contentId="f6dcfd24-7c65-40f4-a3f3-c29f91b7731e" contentType="DATASOURCE" message="Marketing approved" type="CERTIFIED" active="true" createdAt="2021-09-26T21:34:46Z" updatedAt="2021-09-26T21:34:46Z" elevated="true"> <site /> <owner /><dataQualityIndicator> </dataQualityIndicatorList></tsRequest>Version 3.13 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400108 | Generic data quality certification error | The data quality certification could not be added for some reason other than those specified in this table. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404029 | Content not found | The content does not exist. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Create or update one or more monitoring quality warnings.
You can monitor for extract refresh failures on extract data sources or flow run failures on flows. An asset can only have one instance of monitoring. Adding monitoring to an asset that already has it will update it to use the latest specified values.
Note: An asset can have one monitoring warning in addition to otherdata quality warnings.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
Add or update a monitoring quality warning for an asset
POST api/api-version/sites/site-id/dataQualityTriggers/content-type/contentIds?filter=contentId:in:[content-luid]
Add or update a monitoring quality warning for multiple assets
POST api/api-version/sites/site-id/dataQualityTriggers/content-type/contentIds?filter=contentId:in:[content-luid1,content-luid2,content-luid3,...]
Note: The square brackets are required around the single LUID or comma-separated list of LUIDs.
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of content the monitoring is being applied to. Use one of the following values:
These values are not case sensitive. |
| content-luid | The LUID of the asset. This is the same as the content ID. The square brackets are required around the single LUID or comma-separated list of LUIDs. |
<tsRequest> <dataQualityTrigger type="type" active="status" message="message" severe="severity"/></tsRequest>| type | Type of monitoring quality warning. To specify the type, use one of the following values:
These values are not case sensitive. |
| status | Monitoring status. Values can be "true" or "false". If set to "true", the data source is monitored for extract refresh failures or the flow is monitored for flow run failures). If an extract refresh or flow run failure occurs, the specified data quality warning is attached to the data source or flow (depending ontype). The data quality warning is removed when the extract refresh or flow run is successful. For more information about monitoring quality warnings, see the monitoring quality warning section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
| message | (Optional) A custom message for the data quality warning. |
| severity | High visibility status of the data quality warning. Values can be "true" or "false". For more information, see the "Visibility" section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add a monitoring quality warning:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <dataQualityTriggerList><dataQualityTrigger siteId="{site-luid}"userId="{user-luid}" userDisplayName="Joe Nguyen" contentId="{content-luid}"contentType="DATASOURCE" message=" This message is specified by the user."type="EXTRACT_REFRESH" active="true" createdAt="Wed Sep 22 05:49:52 UTC 2020"updatedAt="Wed Sep 22 05:49:52 UTC 2020" severe="false"/> </dataQualityTriggerList></tsResponse>Version 3.11 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400136 | Generic quality warning trigger error | The monitoring quality warning could not be added or updated for some other reason than those specified below. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Add permissions to a table asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT api/api-version/sites/site-luid/tables/table-luid/permissions
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| table-luid | The LUID of the table asset. |
<tsRequest> <permissions> <table /> <granteeCapabilities> <user /> <capabilities> <capability name="capability-name" mode="capability-mode" /> <!-- ... additional capabilities ... --> </capabilities> </granteeCapabilities> <granteeCapabilities> <group /> <capabilities> <capability name="capability-name" mode="capability-mode" /> <!-- ... additional capabilities ... --> </capabilities> </granteeCapabilities> <!-- ... additional grantee capability sets ... --> </permissions></tsRequest>| table-luid | The LUID for the table asset you want to add permissions to. |
| user-luid | The LUID of the user to add permissions for. |
| capability-name | The capability to assign. If any capability has been granted or denied for a specified user or group, that capability is ignored. Valid capabilities for a database are:
These values are case sensitive. |
| capability-mode | Use one of the following capabilities:
These values are case sensitive. |
| group-id | The LUID of the group to add permissions for. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add table asset permissions:
200
Example response:
<tsResponse> <permissions><table name="_WarehouseConfig"/><granteeCapabilities> <user/> <capabilities><capability name="Read" mode="Allow"/> </capabilities></granteeCapabilities> </permissions></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400120 | Bad request | Permissions could not be added because support for explicit permissions is available for table assets associated with published data sources only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 403 | 403117 | Database locked | Permissions for the table asset cannot be deleted because the database asset is locked. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table asset could not be found. |
| 409 | 409052 | Table error | An unknown table asset error occurred. |
| 409 | 409057 | Table update error | An unknown error occurred and the table asset could not be updated. |
| 409 | 409058 | Table update forbidden | A user without "write" permissions to the table asset attempted an update. |
Add one or more tags to a column.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
PUT api/api-version/sites/site-id/columns/column-id/tags
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| column-id | The unique ID of the column asset. |
<tsRequest> <tags><tag label="tag-value1" /><tag label="tag-value2" /> </tags></tsRequest>| tag-value1 | Keyword text you want to add to the asset. |
| tag-value2 | Keyword text you want to add to the asset. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:column_tags:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <tags><tag label="Noteworthy" /><tag label="PII" /> </tags></tsResponse>Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 409 | 409062 | Generic column tag error | The tag or tags could not be added (or deleted) for some other reason than those specified above. |
| 409 | 409066 | Column not found | The column asset does not exist. |
Add one or more tags to a database.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
PUT api/api-version/sites/site-id/databases/database-id/tags
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| database-id | The unique ID of the database asset. |
<tsRequest> <tags><tag label="tag-value1" /><tag label="tag-value2" /> </tags></tsRequest>| tag-value1 | Keyword text you want to add to the asset. |
| tag-value2 | Keyword text you want to add to the asset. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:database_tags:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <tags><tag label="Noteworthy" /><tag label="PII" /> </tags></tsResponse>Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404031 | Database not found | The database asset does not exist. |
| 409 | 409048 | Generic database tag error | The tag or tags could not be added (or deleted) for some other reason than those specified above. |
Add one or more tags to a table.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
PUT api/api-version/sites/site-id/tables/table-id/tags
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the column asset. |
<tsRequest> <tags><tag label="tag-value1" /><tag label="tag-value2" /> </tags></tsRequest>| tag-value1 | Keyword text you want to add to the asset. |
| tag-value2 | Keyword text you want to add to the asset. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:table_tags:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <tags><tag label="Noteworthy" /><tag label="PII" /> </tags></tsResponse>Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404032 | Table not found | The table asset does not exist. |
| 409 | 409055 | Generic table tag error | The tag or tags could not be added (or deleted) for some other reason than those specified above. |
Add multiple tags to items that are different content and asset types.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
PUT api/api-version/sites/site-id/tags:batchCreate
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
<tsRequest> <tagBatch><tags> <tag label="tag-value1"></tag> <tag label="tag-value2"></tag></tags><contents> <content></content> <content></content> <content></content> <content></content> <content></content> <content></content></contents> </tagBatch></tsRequest>| tag-value1 | Keyword text you want to add to item. |
| tag-value2 | Keyword text you want to add to item. |
| database-id | The unique ID of the database asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
| datasource-id | The unique ID of the data source content. |
| workbook-id | The unique ID of the workbook content. |
| flow-id | The unique ID of the flow content. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to add tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:tags:batch_createFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsRequest> <tagBatch><tags> <tag label="PII"></tag> <tag label="Noteworthy"></tag></tags><contents> <content contentType="Database"></content> <content contentType="Table"></content> <content contentType="Column"></content> <content contentType="Datasource"></content> <content contentType="Workbook"></content> <content contentType="Flow"></content></contents> </tagBatch></tsRequest>Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404029 | Content not found | The content does not exist. |
| 404 | 404031 | Database not found | The database asset does not exist. |
| 404 | 404032 | Table not found | The table asset does not exist. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
| 409 | 409066 | Column not found | The column asset does not exist. |
Adds tags to a virtual connection.
Version:Available in API 3.23 (Tableau Cloud June 2024 / Tableau Server 2024.2) and later.Version Overview(Link opens in a new window)
License:RequiresTableau Data Management(Link opens in a new window).
Permissions:You must have theView permission for the virtual connection and your site role must be at leastExplorer. Permissions Overview(Link opens in a new window)
JWT Access Scope:tableau:virtual_connection_tags:update
For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
PUT /api/api-version/sites/site-id/virtualconnections/virtualconnection-id/tags
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID for the site. |
| virtualconnection-luid | The LUID for the virtual connection. |
<tsRequest> <tags> <tag label="tag" /> <!-- ...additional tag elements... --> </tags></tsRequest>| tag | The text of the tag. |
curl --location --request PUT 'http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/virtualconnections/12ab34cd-56ef-78ab-90cd-12ef34ab56cd/tags' --header 'Content-Type: application/xml' --header 'X-Tableau-Auth: HvZMqFFfQQmOM4L-AZNIQA|5fI6T54OPK1Gn1p4w0RtHv6EkojWRTwq|a946d998-2ead-4894-bb50-1054a91dcab3' --data @data.xml
Contents of data.xml.
<tsRequest> <tags> <tag label="Office" /> <!-- ...additional tag elements... --> </tags></tsRequest>200
<tsResponse> <tags> <tag label="tag"/> <!-- ...additional tags... --> </tags></tsResponse>| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400049 | Error adding tags | There was a problem adding tags to the specified virtual connection. |
| 403 | 403004 | Adding tags forbidden | The user doesn't have permissions to add tags to the virtual connection. |
| 404 | 404000 | Site not found | The site ID in the URI is not for an existing site. |
| 404 | 404006 | Virtual connection not found | The virtual connection ID in URI doesn't correspond to an existing virtual connection. |
| 404 | 405000 | Invalid request method | Request type was notPUT. |
For more information, seeHandling Errors.
Creates a data label category.
Note that category is one property of a label value (labelValue), which is itself a property of a label on an asset. Other properties of a labelValue include name and description. These properties determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label categories, but one is required to create, update, delete, and see labels on assets.
POST api/api-version/sites/site-luid/labelCategories
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
<tsRequest> <labelCategory name="label-category-name" description="label-category-description" /></tsRequest>| label-category-name | The label category name. Required. Must be 1-128 characters long. (In Tableau Server 2023.3 and earlier, must be 1-24 characters long.) |
| label-category-description | The label category description. Required. Must be 1-500 characters in length. |
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_categories:createFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud October 2023 (API 3.21) / Server 2023.3 (API 3.21).
<tsResponse> <labelCategory name="label-category-name" description="label-category-description"/></tsResponse>| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400189 | Generic create label categories error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | You must be an administrator to create, update, or delete label values. |
| 409 | 409004 | Invalid parameter |
|
Creates a label value with the specified name if it doesn't exist, or updates the existing label value if the label value name already exists.
Note: You can update an existing label value using either this method or theUpdate labelValue method. If you want to change the name on an existing label value, use theUpdate labelValue method.
Note that a label value (labelValue) is one property of a label. A label value has its own properties like name, category, and description that determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label values, but one is required to create, update, delete, and see labels on assets.
PUT api/api-version/sites/site-luid/labelValues
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
<tsRequest> <labelValue name="label-value-name" category="label-value-category" description="label-value-description" /></tsRequest>| label-value-name | The label value name. Required. If you specify an existing label value name, this method will update the label value. If you specify a label value name that's different than existing label value names, this method will create the label value. Required. Must be 1-128 characters long. (In Tableau Server 2023.3 and earlier, must be 1-24 characters long.) |
| label-value-category | The label value category. Required. If you're updating an existing label value, this must match the existing category for that label value. |
| label-value-description | The label value description. Required, but does not need to be different than the existing description. Must be 1-500 characters in length. |
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_values:createFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud June 2023 (API 3.20) and Tableau Server 2023.3 (API 3.21).
<tsResponse> <labelValue name="label-value-name" category="label-value-category" description="label-value-description" internal="true-or-false" elevatedDefault="true-or-false" builtIn="true-or-false"> <site/> </labelValue></tsResponse>| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 401 | 4000173 | Generic create label values error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | You must be a site or server administrator to create or update label values. |
| 403 | 403157 | Bad request | You may see this error if you try to create or update a label in thecertification category. |
| 409 | 409004 | Invalid parameter |
|
Permanently remove the permissions applied to a database asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-luid/databases/database-luid/permissions/users/user-luid/capability-name/capability-mode
DELETE api/api-version/sites/site-luid/databases/database-luid/permissions/groups/group-luid/capability-name/capability-mode
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site. |
| database-luid | The LUID of the database asset. |
| user-luid | The LUID of the user to remove the permissions for. |
| group-luid | The LUID of the group to remove the permissions for. |
| capability-name | The explicit permissions capability to remove. Capabilities that can be removed areRead,Write,ChangePermissions, orChangeHierarchy. |
| capability-mode | The permissions mode to remove. Modes that can be removed areAllow orDeny. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following authorized users have permissions to delete the permissions on the database asset:
200
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400120 | Bad request | Permissions could not be deleted because support for explicit permissions is available for database assets associated with published data sources only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 403 | 403117 | Database locked | Permissions for the database asset cannot be deleted because the database asset is locked. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409051 | Database update forbidden | A user without "write" permissions to the database asset attempted an update. |
Permanently remove the default permissions on a database asset.
Removing the default permissions from the database asset means that any new child table assets that are indexed by Catalog won't have any default permissions set.
Note: If a database is in a project, default database permissions are not evaluated to determine table permissions. Use theDelete Default Permissions method to control default permission capabilities on tables through projects instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-luid/databases/database-luid/default-permissions/tables/users/user-luid/capability-name/capability-mode
DELETE api/api-version/sites/site-luid/databases/database-luid/default-permissions/tables/groups/group-luid/capability-name/capability-mode
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset. |
| user-luid | The LUID of the user to remove the default permission for. |
| group-id | The LUID of the group to remove the default permission for. |
| capability-name | The capability to remove the permissions for. Valid capabilities for databases are the following:
For more information, seePermissions. |
| capability-mode | Allow to remove the allow permission, orDeny to remove the deny permission. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following authorized users have permissions to delete the permissions on the database asset:
200
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400120 | Bad request | Permissions could not be deleted because support for explicit permissions is available for database assets associated with published data sources only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 403 | 403117 | Database locked | Default permissions cannot be deleted because the database asset is locked. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409051 | Database update forbidden | A user without "write" permissions to the database asset attempted an update. |
Delete a data quality warning from an asset using the data quality warning ID.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theDelete Label method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/dataQualityWarnings/dataqualitywarning-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| dataqualitywarning-id | The unique ID of the data quality warning. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete the data quality warning:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400105 | Data quality warning delete error | An unknown error occurred and the data quality warning could not be deleted. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404029 | Content not found | The requested asset could not be found. |
| 404 | 404030 | Data quality warning not found | The data quality warning for the requested asset could not be found. |
Delete the data quality warnings from an asset.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theDelete Labels method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/dataQualityWarnings/content-type/content-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of asset that the data quality warning is being attached to. To specify the type, use:
Types are not case sensitive. |
| content-luid | The LUID of the content (database, table, column, published data source, flow, virtual connection, or virtual connection table). |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete the data quality warning:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 409 | 400106 | Data quality warning delete error | An unknown error occurred and the data quality warning could not be deleted. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404029 | Content not found | The requested asset could not be found. |
| 404 | 404030 | Data quality warning not found | The data quality warning for the requested asset could not be found. |
Delete multiple data quality warnings from assets.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theDelete Labels method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/dataQualityWarnings/batchDelete
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
<tsRequest> <contentList><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /> </contentList></tsRequest>| content | The type of content or asset the data quality warning is attached to. To specify type, use one of the following values:
|
| database-id | The unique ID of the database asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
| datasource-id | The unique ID of the data source content. |
| flow-id | The unique ID of the flow content. |
| virtualconnection-id | The unique ID of the virtual connection. |
| virtualconnectiontable-id | The unique ID of the virtual connection table. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete data quality warnings:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.12 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404029 | Content not found | The content does not exist. |
| 404 | 404031 | Database not found | The database asset does not exist. |
| 404 | 404032 | Table not found | The table asset does not exist. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Delete a data quality certification from an asset using the data quality certification ID.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theDelete Label method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/dataQualityCertifications/certification-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| certification-luid | The unique ID of the data quality certification. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete a data quality certification:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
Version 3.13 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400105 | Generic data quality certification error | The data quality certification could not be deleted for some reason other than those specified in this table. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Delete multiple data quality certifications from assets.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theDelete Labels method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/dataQualityCertifications
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| indicator-id | The unique ID of the data quality certification. |
<tsRequest> <contentList><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /><content contentType="content" /> </contentList></tsRequest>| content | The type of content or asset the data quality warning is attached to. To specify type, use one of the following values:
|
| database-id | The unique ID of the database asset. |
| table-id | The unique ID of the table asset. |
| datasource-id | The unique ID of the data source content. |
| virtualconnection-id | The unique ID of the virtual connection. |
| virtualconnectiontable-id | The unique ID of the virtual connection table. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete data quality certifications:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
Version 3.13 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400106 | Generic data quality certification error | The data quality certifications could not be deleted for some reason other than those specified in this table. |
| 404 | 404029 | Content not found | The content does not exist. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Permanently remove a quality warning trigger using the quality warning trigger ID.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/dataQualityTriggers/trigger-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| trigger-id | The unique ID of the quality warning trigger. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete a quality warning trigger:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
None
Version 3.11 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400138 | Generic quality warning trigger error | The quality warning trigger could not be deleted for some other reason than those specified below. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404037 | Quality warning not found | The requested quality warning trigger was not found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Permanently remove all quality warning triggers for one or more data sources or flows, or both.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
Delete one quality warning trigger
DELETE api/api-version/sites/site-id/dataQualityTriggers/content-type/contentIds?filter=contentId:in:[content-luid]
Delete multiple quality warning triggers
DELETE api/api-version/sites/site-id/dataQualityTriggers/content-type/contentIds?filter=contentId:in:[content-luid1,content-luid2,content-luid3,...]
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of content the quality warning trigger has been applied to. In this case, use one of the following values:
These values are not case sensitive. |
| content-luid | The unique ID of the asset. This is the same as the content ID. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete quality warning triggers:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
None
Version 3.10 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400138 | Generic quality warning trigger error | The quality warning trigger could not be deleted for some other reason than those specified below. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404037 | Quality warning not found | The requested quality warning trigger was not found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Deletes a data label by its LUID.
You can't delete extract refresh or flow run monitoring warnings (theextract_refresh_failure andflow_run_failure label values) using this method because those warnings are set and cleared automatically, depending on their triggers. See also "How to set a monitoring quality warning" in theTableau Server(Link opens in a new window) andTableau Cloud(Link opens in a new window) Help and the quality warning trigger methods inMetadata Methods.
For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
All label operations except those related to the certification of data sources require Catalog to be enabled. Catalog requires aData Management license.
DELETE api/api-version/sites/site-luid/labels/label-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-luid | The unique LUID of the label asset. |
None
Introduced in Tableau Cloud June 2024 and Tableau Server 2024.2 (API 3.23).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 400105 | Generic delete label error | An unknown error occurred. Confirm that the LUID in the URI is correct. |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions to perform the operation. |
| 409 | 409004 | Invalid parameter | The URI does not contain a properly-formatted LUID. |
Deletes the data labels on one or more assets.
You can optionally limit the data labels to delete by category using a query string.
You can't delete extract refresh or flow run monitoring warnings (theextract_refresh_failure andflow_run_failure label values) using this method because those warnings are set and cleared automatically, depending on their triggers. See also "How to set a monitoring quality warning" in theTableau Server(Link opens in a new window) andTableau Cloud(Link opens in a new window) Help and the quality warning trigger methods inMetadata Methods.
For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
All label operations except those related to the certification of data sources require Catalog to be enabled. Catalog requires aData Management license.
DELETE api/api-version/sites/site-luid/labels
DELETE api/api-version/sites/site-luid/labels?categories=category-list
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site. |
| category-list | (Optional) A comma-separated list of label value categories used to limit the label deletions to only the listed categories. SeeData Labels in the REST API for information on label values and categories. |
<tsRequest> <contentList> <content contentType="asset-type" api-placeholder">asset-luid" /> <!-- ... additional content elements ... --> </contentList></tsRequest>| asset-type | The type of asset. Valid asset types are:
|
| asset-luid | The asset LUID. |
Introduced in Tableau Cloud June 2024 and Tableau Server 2024.2 (API 3.23).
tableau:labels:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 400106 | Generic delete labels error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions to perform the operation. |
| 404 | 404029 | Resource not found | ThecontentType andcontentID attribute combination does not correspond to an asset on the server. This can be caused by an incorrectcontentType, an incorrectcontentID, or both. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Deletes a label value.
If you use this method on a built-in label value that was customized, this method reverts the label to its built-in defaults instead of deleting it. (Afterwards, assets with the label that you reverted will reflect the built-in default.)
Note that a label value (labelValue) is one property of a label. A label value has its own properties like name, category, and description that determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label values, but one is required to create, update, delete, and see labels on assets.
DELETE api/api-version/sites/site-luid/labelValues/label-value-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-value-name | The label value name. URL encode the label value name if it has spaces or non-alphanumeric characters in it. |
None
Only a site or server administrator can create, update, or delete label values.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_values:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud June 2023 (API 3.20) and Tableau Server 2023.3 (API 3.21).
None
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 403 | 403004 | Operation on resource unauthorized | You must be a site or server administrator to create or update label values. |
| 409 | 409004 | Invalid parameter |
|
| 401 | 4000173 | Generic add labels to content error | An unknown error occurred. |
Deletes a label category.
Note that category is one property of a label value (labelValue), which is itself a property of a label on an asset. Other properties of a labelValue include name and description. These properties determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label categories, but one is required to create, update, delete, and see labels on assets.
DELETE api/api-version/sites/site-luid/labelCategories/label-category-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-category-name | The label category name. URL encode the label category name (as it appears in the Tableau web interface) if it has spaces or non-alphanumeric characters in it. |
None
Only a site or server administrator can create, update, or delete label categories.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_categories:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud October 2023 (API 3.21) / Server 2023.3 (API 3.21).
None
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400191 | Generic delete label category error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | You must be an administrator to create, update, or delete label values. |
| 409 | 409004 | Invalid parameter |
|
Permanently remove the permissions applied to a table asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-luid/tables/table-luid/permissions/users/user-luid/capability-name/capability-mode
DELETE api/api-version/sites/site-luid/tables/table-luid/permissions/groups/group-luid/capability-name/capability-mode
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| table-luid | The LUID of the table asset. |
| user-luid | The LUID of the user to remove the permissions for. |
| group-luid | The LUID of the group to remove the permissions for. |
| capability-name | The explicit permissions capability to remove. Capabilities that can be removed areRead,Write,ChangePermissions, orChangeHierarchy. |
| capability-mode | The permissions mode to remove. Modes that can be removed areAllow orDeny. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete the permissions on a table asset:
204
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400120 | Bad request | Permissions could not be deleted because support for explicit permissions is available for table assets associated with published data sources only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 403 | 403117 | Database locked | Permissions for the table asset cannot be deleted because the database asset is locked. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 409 | 409051 | Database update forbidden | A user without "write" permissions to the database asset attempted an update. |
Delete a tag from a column.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
DELETE api/api-version/sites/site-id/columns/column-id/tags/tag-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| column-id | The unique ID of the column asset. |
| tag-name | The keyword text of the tag. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:column_tags:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404007 | Tag not found | The tag does not exist. |
| 409 | 409062 | Generic database tag error | The tag or tags could not be deleted (or added) for some other reason than those specified in this table. |
| 409 | 409066 | Column not found | The column asset does not exist. |
Delete a tag from a database.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
DELETE api/api-version/sites/site-id/databases/database-id/tags/tag-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| database-id | The unique ID of the database asset. |
| tag-name | The keyword text of the tag. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:database_tags:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404007 | Tag not found | The tag does not exist. |
| 404 | 404031 | Database not found | The database asset does not exist. |
| 409 | 409048 | Generic database tag error | The tag or tags could not be deleted (or added) for some other reason than those specified above. |
Delete a tag from a table.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
DELETE api/api-version/sites/site-id/tables/table-id/tags/tag-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
| tag-name | The keyword text of the tag. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:table_tags:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404007 | Tag not found | The tag does not exist. |
| 404 | 404032 | Table not found | The table asset does not exist. |
| 409 | 409055 | Generic database tag error | The tag or tags could not be deleted (or added) for some other reason than those specified above. |
Delete multiple tags from items that are different content and asset types.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
For more information about tags, seeTag Items(Link opens in a new window) in the Tableau User Help.
DELETE api/api-version/sites/site-id/tags:BatchDelete
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
<tsRequest> <tagBatch><tags> <tag label="tag-value1"></tag> <tag label="tag-value2"></tag></tags><contents> <content></content> <content></content> <content></content> <content></content> <content></content> <content></content></contents> </tagBatch></tsRequest>| tag-value1 | Keyword text you want to add to item. |
| tag-value2 | Keyword text you want to add to item. |
| database-id | The unique ID of the database asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
| datasource-id | The unique ID of the data source content. |
| workbook-id | The unique ID of the workbook content. |
| flow-id | The unique ID of the flow content. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to delete tags:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:tags:batch_deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
Example response
<tsRequest> <tagBatch><tags> <tag label="PII"></tag> <tag label="Noteworthy"></tag></tags><contents> <content></content> <content></content> <content></content> <content></content> <content></content> <content></content></contents> </tagBatch></tsRequest>Version 3.9 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404029 | Content not found | The content does not exist. |
| 404 | 404031 | Database not found | The database asset does not exist. |
| 404 | 404032 | Table not found | The table asset does not exist. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
| 409 | 409066 | Column not found | The column asset does not exist. |
Deletes a tag from a virtual connection.
Version:Available in API 3.23 (Tableau Cloud June 2024 / Tableau Server 2024.2) and later.Version Overview(Link opens in a new window)
License:RequiresTableau Data Management(Link opens in a new window).
Permissions:You must have theView permission for the virtual connection and your site role must be at leastExplorer. Permissions Overview(Link opens in a new window)
JWT Access Scope:tableau:virtual_connection_tags:delete
For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
DELETE /api/api-version/sites/site-id/virtualconnections/virtualconnection-id/tags/tag-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID for the site. |
| virtualconnection-luid | The LUID for the virtual connection. |
| tag-name | The text of the tag. |
None
curl --location --request DELETE 'http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/virtualconnections/12ab34cd-56ef-78ab-90cd-12ef34ab56cd/tags/office' --header 'Content-Type: application/xml' --header 'X-Tableau-Auth: HvZMqFFfQQmOM4L-AZNIQA|5fI6T54OPK1Gn1p4w0RtHv6EkojWRTwq|a946d998-2ead-4894-bb50-1054a91dcab3'
204
None
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400077 | Error deleting tag | There was a problem deleting the tag from the specified virtual connection. |
| 403 | 403004 | Deleting tags forbidden | The user doesn't have permissions to add delete tags from the virtual connection. |
| 404 | 404000 | Site not found | The site ID or URL namespace in the URI doesn't correspond to an existing site. |
| 404 | 404004 | Virtual connection not found | The virtual connection ID in the URI doesn't correspond to an existing virtual connection. |
| 404 | 404007 | Tag not found | The tag in the URI doesn't exist for the specified virtual connection. |
| 405 | 405000 | Invalid request method | Request type was notDELETE. |
For more information, seeHandling Errors.
Gets a data label by its LUID.
For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
All label operations except those related to the certification of data sources require Catalog to be enabled. Catalog requires aData Management license.
GET api/api-version/sites/site-luid/labels/label-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-luid | The unique LUID of the label asset. |
None
To view a data label, you must haveread permissions on the associated asset.
Introduced in Tableau Cloud June 2024 and Tableau Server 2024.2 (API 3.23).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
<tsResponse> <label userDisplayName="user-display-name" contentId="asset-luid" contentType="asset-type" message="label-message" value="label-value-name" category="label-category" active="true-or-false" elevated="true-or-false" createdAt="datetime" updatedAt="datetime" > <site/> <owner/> </label></tsResponse>Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 400103 | Generic query label error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions to perform the operation. |
| 404 | 404030 | Label not found | The label LUID doesn't correspond to an existing project. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Displays information about the data labels on one or more assets.
You can optionally limit the data labels to show by category using a query string.
For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
All label operations except those related to the certification of data sources require Catalog to be enabled. Catalog requires aData Management license.
POST api/api-version/sites/site-luid/labels
POST api/api-version/sites/site-luid/labels?categories=category-list
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| category-list | (Optional) A comma-separated list of label value categories used to limit the labels shown to only the listed categories. SeeData Labels in the REST API for information on label values and categories. |
<tsRequest> <contentList> <content contentType="asset-type" api-placeholder">asset-luid" /> <!-- ... additional content elements ... --> </contentList></tsRequest>| asset-type | The type of asset. Valid asset types are:
|
| asset-luid | The asset LUID. |
To view a data label, you must haveread permissions on the associated asset.
Introduced in Tableau Cloud June 2024 and Tableau Server 2024.2 (API 3.23).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
<tsResponse> <labelList> <label userDisplayName="user-display-name" contentId="asset-luid" contentType="asset-type" message="label-message" value="label-value-name" category="label-category" active="true-or-false" elevated="true-or-false" createdAt="datetime" updatedAt="datetime"> <site/> <owner/> </label> <!-- ... additional label elements ... –-> </labelList></tsResponse>Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).
When more than one asset appears in the request (thecontentList element contains more than onecontent element), this method will fail if an error is encountered operating on any of them. For example, if you are getting labels for a database and a table, but you provide the wrong table LUID, the method will return an error even if the database LUID was correct.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 400104 | Generic delete label error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions to perform the operation. |
| 404 | 404029 | Resource not found | ThecontentType andcontentID attribute combination does not correspond to an asset on the server. This can be caused by an incorrectcontentType, an incorrectcontentID, or both. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Displays label value properties for a single label value.
Note that a label value (labelValue) is one property of a label. A label value has its own properties like name, category, and description that determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label values, but one is required to create, update, delete, and see labels on assets.
GET api/api-version/sites/site-luid/labelValues/label-value-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-value-name | The label value name. URL encode the label value name if it has spaces or non-alphanumeric characters in it. |
None
Any logged in user can view the label values for their site.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_values:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud June 2023 (API 3.20) and Tableau Server 2023.3 (API 3.21).
<tsResponse> <labelValue name="label-value-name" category="labe-value-category" description="label-value-description" internal="true-or-false" elevatedDefault="true-or-false" builtIn="true-or-false"> <site/> </labelValue></tsResponse>| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 4000171 | Generic query label value error | An unknown error occurred. |
| 404 | 404029 | No label value matches the request parameter | Check the label value name in the URI. Remember to URL-encode non-alphanumeric characters. |
Gets a suggestion from generative AI about asset metadata.
As of June 2024, the type of suggestion is limited to the description for a workbook, data source, or table. Generative AI suggests a description based on the chosen asset's metadata, such as asset name, field names, and/or column names. This method can't apply the suggested description to the asset.
More than one request results in alternative suggestions.
Note:
Version:Available in API 3.23 (Tableau Cloud June 2024) and later. Not available for Tableau Server.Version Overview(Link opens in a new window)
License:RequiresTableau+(Link opens in a new window).
Permissions:Overwrite permission on the asset you're requesting suggestions for. Permissions Overview(Link opens in a new window)
JWT Access Scope: Not available For more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
POST /api/api-version/sites/site-luid/metadataSuggestions?suggestionType=suggestion-type
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID for the site. |
| suggestion-type | The type of metadata suggestion. The only valid type of suggestion isdescription. Note: The URI parametersuggestionType is case-sensitive. |
(Use the icon in the top right corner to copy the text.)
<tsRequest> <contentList> <content contentType="asset-type"api-placeholder">asset-luid" /> </contentList></tsRequest>
(Use the icon in the top right corner to copy the text.)
{ "contentList": { "content": [ {"contentType":"asset-type","id":"asset-luid"} ] }}
| asset-type | Valid types are:
|
| asset-luid | The LUID of the asset. |
(Use the icon in the top right corner to copy the text.)
curl --location 'https://MY-SERVER//api/3.23/sites/f480b345-8ab5-4e0b-98e6-9553de5748f9/metadataSuggestions?suggestionType=description' --header 'X-Tableau-Auth: 5Jgp0n2lSUaYbTB7NA6Wrw|mtqLBgKQEoup31yMme7la61kywW6LaTm|f480b345-8ab5-4e0b-98e6-9553de5748f9' --header 'Content-Type: application/xml' --data data.xml'
Contents of data.xml.
(Use the icon in the top right corner to copy the text.)
<tsRequest> <contentList> <content contentType="datasource" /> </contentList></tsRequest>
200
Multiple requests result in alternative suggestions.
<tsResponse> <suggestionList> <suggestion suggestionId="suggestion-luid" contentType="asset-type" contentId="asset-luid" suggestionType="suggestion-type" text="suggested-description"/> </suggestionList></tsResponse>{ "suggestionList": { "suggestion": [ { "suggestionId": "suggestion-luid", "contentType": "asset-type", "contentId": "asset-luid", "suggestionType": "suggestion-type", "text": "suggested-description" } ] }}| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad Request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400192 | Missing or incomplete payload | Make sure the request body is present and complete. |
| 400 | 400193 | Generic error | An unknown error occurred. |
| 403 | 403004 | Permission denied | Check permissions for the asset. Check the asset type and asset LUID. |
| 403 | 403157 | Feature disabled | This method is only available on Tableau Cloud with Tableau+. |
| 404 | 404055 | Asset not found | Can't find selected asset. Check the asset type and asset LUID. |
| 409 | 409004 | Invalid parameter | URI parameter may be incorrect. ThesuggestionType parameter is case sensitive, and must bedescription. |
For more information, seeHandling Errors.
Query databases and tables from the connection information in the data source (.tds or .tdsx) or workbook (.tws or .twbx) file's XML.
Note: This method can't be used to query databases and tables when the database is an embedded asset. For more information about embedded assets see one of the following:
POST api/api-version/sites/site-id/databaseAndTables/lookup
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
<tsRequest> <databaseAnchor isArchived="embedded" datasourceName="datasource_name" datasourceFormattedName="datasource_format"><connectionParams> <base64xml>encoded_xml</base64xml> </connectionParams> </databaseAnchor></tsRequest>| embedded | (Optional) Indicates whether the database is embedded or not. Use "false" if the database is not embedded and "true" if the database is embedded. For more information about embedded databases (and tables), see one of the following topics:
|
| datasource-name | (Optional) The data source name that can be found in the XML of the data source (.tds or .tdsx) or workbook (.tws or .twbx) file. |
| datasource-format | (Optional) The format of the data source that can be found in the XML of the data source (.tds or .tdsx) or workbook (.tws or .twbx) file. |
| encoded_xml | This is the encoded version of the connection element (
|
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query databases and tables from the connection:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
200
Example response
<tsResponse> <databaseAnchors><databaseAnchor connectionName="mysql.myco"> <tableAnchors><tableAnchor name="Marketing" fullName="[Marketing]"/> </tableAnchors></databaseAnchor><databaseAnchor connectionName="sqlserver.myco"> <tableAnchors><tableAnchor name="Advertising" fullName="[dbo].[Advertising]"/> </tableAnchors></databaseAnchor> </databaseAnchors></tsResponse>Note: BothdatabaseAnchor andtableAnchor IDs returned from this request correspond todatabase andtable IDs that you can use to retrieve additional information about databases and tables endpoints using other REST endpoints, includingQuery Database andQuery Table.
Version 3.13 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 409 | 409095 | Generic asset retrieval error | The database and table information could not be queried for some reason other than those specified in this table. |
| 409 | 409096 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 409 | 409097 | Invalid parameter | One or more values in the request body are invalid. |
Lists all label values on the site.
You can optionally limit the list of returned data label values using a query string in the URI.
Note that a label value (labelValue) is one property of a label. A label value has its own properties like name, category, and description that determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label values, but one is required to create, update, delete, and see labels on assets.
GET api/api-version/sites/site-luid/labelValues
GET api/api-version/sites/site-luid/labelValues?categories=category-list
GET api/api-version/sites/site-luid/labelValues?isInternal=internal-flag
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| category-list | (Optional) A comma-separated list of categories for limiting the list to only one category of labels. Valid categories are the built-in categorieswarning,certification, andsensitivity, or custom categories that an administrator created. (Custom categories were released with Tableau Cloud October 2023 and Tableau Server 2023.3.). |
| internal-flag | (Optional) A Boolean value that specifies if you want to return label values that are internal or aren't. (The data quality warnings that arise from extract refresh monitoring and flow run monitoring are internal labels.) |
None
Any logged in user can view the label values for their site.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_values:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud June 2023 (API 3.20) and Tableau Server 2023.3 (API 3.21).
<tsResponse> <labelValueList> <labelValue name="label-value-name" category="label-value-category" description="label-value-description" internal="true-or-false" elevatedDefault="true-or-false" builtIn="true-or-false"> <site/> </labelValue> <!-- ... additional labelValue elements ... –-> </labelValueList></tsResponse>| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400172 | Generic query label values error | An unknown error occurred. |
| 409 | 409004 | Bad Request | One or more values in the request are invalid. If filtering by categories in the URI, check spelling of category. If filtering by isInternal in the URI, confirm you've provided a Boolean value. |
Lists all data label categories on the site.
Note that category is one property of a label value (labelValue), which is itself a property of a label on an asset. Other properties of a labelValue include name and description. These properties determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
GET api/api-version/sites/site-luid/labelCategories
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
None
Any logged in user can view the label categories for their site.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_categories:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud October 2023 (API 3.21) / Server 2023.3 (API 3.21).
<tsResponse> <labelCategoryList> <labelCategory name="label-category-name" description="label-category-description"/> <!-- ... additional labelCategory elements ... –-> </labelCategoryList></tsResponse>
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400188 | Generic get label category error | An unknown error occurred. |
Move one or more databases to a project.
You can move the database and its tables, or move only the database. To move a table independently of its database, use theMove Table method.
Note: Starting in Tableau Cloud June 2022 and Tableau Server 2022.3, projects can contain databases and tables, and database and table permissions can be managed at the project level through inheritance. In Tableau Cloud March 2022 and Tableau Server 2022.1 and earlier, projects couldn't contain databases or tables.
The Move Database method can either:
This method can't remove a database from all projects. (The only way to remove a database from all projects is to delete the project that the database is in.)
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
POST api/api-version/sites/site-luid/databases
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site that contains the database. |
<tsRequest> <contentLocationRequest> <location type="location-type" /> <contentAction action="action-type" /> <resourceList> <resource contentType="asset-type"/> <!-- ... more database resources ... --> </resourceList> </contentLocationRequest></tsRequest>ThecontentAction element is optional.
TheresourceList element can contain a minimum of 1 and a maximum of 1000resource elements.
| project-luid | The LUID of the destination project. |
| location-type | The destination type. Currently, this value must be "PROJECT". |
| action-type | To move a database without moving its tables, this value must be "MoveDatabaseOnly". |
| database-luid | The LUID of the database. |
| asset-type | The type of asset being moved. Currently, this value must be "DATABASE". |
If you are moving a databasewithout its tables, you must haveread andchangeHierarchy permissions for the database, andwrite permission for the target project.
If you are moving both a database and its tables, you must haveread andchangeHierarchy permissions for both the database and its tables, andwrite permission for the target project.
Note: Currently, you can only set theChangeHierarchy permission for databases and tables using the REST API. SeeAdd Database Permissions andAdd Table Permissions for information on adding this permission.
Setting the required database and table permissions depends on whether the database is in a project or not.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:database_projects:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response when all elements were moved successfully:
<tsResponse />Example response when not all elements were moved successfully.:
When some database resource elements of a request with multiple database resource elements can’t be moved, the HTTP status 400 is returned, and the response contains additional information about failures. Resource elements from the request body that are not referenced in the response body were successfully moved. A response indicating partial success looks like:
<tsResponse> <error code="400000"> <summary>Bad Request</summary> <detail>There was a problem completing one or more requests.</detail> </error> <warnings> <warning message="Database '12ab34cd-56ef-78ab-90cd-12ef34ab56cd' could not be found." errorCode="404031"/> </warnings></tsResponse>Introduced Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17). For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 409100 | Invalid location type | Thelocation element's type attribute must be "PROJECT". |
| 400 | 409103 | Invalid content type | Theresource element'scontentType attribute must be "DATABASE". |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions or operation not allowed. Make sure Tableau Catalog is enabled. |
| 403 | 403030 | Permissions denied | The user does not have permission to move the database. |
| 403 | 403112 | Invalid Operation | The database may be embedded, and therefore cannot be moved. |
| 403 | 403156 | External assets can not be moved | The user does not have appropriate permissions. |
| 404 | 404005 | Project not found | The project LUID doesn't correspond to an existing project. |
| 404 | 404031 | Database not found | The database LUID doesn't correspond to an existing database. In a case where multiple databases were specified in the request, other database moves could have succeeded. |
For more information, seeHandling Errors.
curl --location --request POST 'http://MY-SERVER/api/3.16/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/databases' --header 'Content-Type: application/xml' --header 'X-Tableau-Auth: 12ab34cd56ef78ab90cd12ef34ab56cd' -d @move-database.xml
Content of move-database.xml:
<tsRequest> <contentLocationRequest> <location type="PROJECT" /> <resourceList> <resource contentType="DATABASE"/> </resourceList> </contentLocationRequest></tsRequest>Example response:
<tsresponse />Moves one or more tables to a project.
Note: Starting in Tableau Cloud June 2022 and Tableau Server 2022.3, projects can contain databases and tables, and database and table permissions can be managed at the project level through inheritance. In Tableau Cloud March 2022 and Tableau Server 2022.1 and earlier, projects couldn’t contain databases or tables.
The Move Table method can either:
This method can’t remove a table from all projects. (The only way to remove a table from all projects is to delete the project that the table is in.)
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
POST api/api-version/sites/site-luid/tables
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site that contains the table. |
<tsRequest> <contentLocationRequest> <location type="location-type" /> <resourceList> <resource contentType="asset-type"/> <!-- ...more resources... --> </resourceList> </contentLocationRequest></tsRequest>TheresourceList element can contain a minimum of 1 and a maximum of 1000resource elements.
| project-luid | The LUID of the destination project. |
| location-type | The destination type. Currently, this value must be "PROJECT". |
| table-luid | The LUID of the table. |
| asset-type | The type of asset being moved. Currently, this value must be "TABLE". |
You must haveread andchangeHierarchy permissions for the table, andwrite permission for the target project.
If you are moving both a database and its tables, you must haveread andchangeHierarchy permissions for both the database and its tables, andwrite permission for the target project.
Note: Currently, you can only set theChangeHierarchy permission for databases and tables using the REST API. SeeAdd Database Permissions andAdd Table Permissions for information on adding this permission.
Setting the required table permissions depends on whether the parent database is in a project or not.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:table_projects:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response when all elements were moved successfully:
<tsResponse />Example response when not all elements were moved successfully.:
When some table resource elements of a request with multiple table resource elements can’t be moved, the HTTP status 400 is returned, and the response contains additional information about failures. Resource elements from the request body that are not referenced in the response body were successfully moved. A response indicating partial success looks like:
<tsResponse> <error code="400000"> <summary>Bad Request</summary> <detail>There was a problem completing one or more requests.</detail> </error> <warnings> <warning message="Table '12ab34cd-56ef-78ab-90cd-12ef34ab56cd' could not be found." errorCode="404032"/> </warnings></tsResponse>Introduced Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17). For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 409100 | Invalid location type | Thelocation element's type attribute must be "PROJECT". |
| 400 | 409103 | Invalid content type | Theresource element'scontentType attribute must be "TABLE". |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions or operation not allowed. Make sure Tableau Catalog is enabled. |
| 403 | 403030 | Permissions denied | The user does not have permission to move the table. |
| 403 | 403112 | Invalid Operation | The table may belong to an embedded database, and therefore cannot be moved. |
| 403 | 403156 | External assets can not be moved | The user does not have appropriate permissions. |
| 404 | 404005 | Project not found | The project LUID doesn't correspond to an existing project. |
| 404 | 404032 | Table not found | The table LUID doesn't correspond to an existing table. In a case where multiple tables were specified in the request, other table moves could have succeeded. |
For more information, seeHandling Errors.
curl --location --request POST 'http://MY-SERVER/api/3.16/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/tables' --header 'Content-Type: application/xml' --header 'X-Tableau-Auth: 12ab34cd56ef78ab90cd12ef34ab56cd' -d @move-table.xml
Content of move-table.xml:
<tsRequest> <contentLocationRequest> <location type="PROJECT" /> <resourceList> <resource contentType="TABLE"/> </resourceList> </contentLocationRequest></tsRequest>Example response:
<tsresponse />Get information about a column in a table asset.
GET api/api-version/sites/site-id/tables/table-id/columns/column-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query a column asset in a table:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:columns:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"><column name="StateProvinceID" remoteType="I4" parentTableId="75029ee7-935a-4f57-8717-58c2339dd219"> <site/></column></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 409 | 409059 | Unknown column error | An unknown column asset error occurred. |
| 409 | 409060 | Unknown column query error | An unknown error occurred and the column query could not complete. |
| 409 | 409066 | Column not found | The requested column asset could not be found. |
Get information about the columns in a table asset.
GET api/api-version/sites/site-id/tables/table-id/columns
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query column assets in a table:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:columns:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <columns><column name="AddressID" remoteType="I4" parentTableId="75029ee7-935a-4f57-8717-58c2339dd219"><site/></column><column name="AddressLine1" remoteType="WSTR" parentTableId="75029ee7-935a-4f57-8717-58c2339dd219"><site/></column> </columns></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 409 | 409059 | Unknown column error | An unknown column asset error occurred. |
| 409 | 409060 | Unknown column query error | An unknown error occurred and the column query could not complete. |
| 409 | 409066 | Column not found | The requested column assets could not be found. |
Get information about a database asset.
GET api/api-version/sites/site-luid/databases/database-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query a database asset:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:databases:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse> <database name="dataengine_42020_789079537040lea.hyper" connectionType="hyper" isEmbedded="true" isCertified="true" certificationNote="Verified" type="File" filePath="dataengine_42020_789079537040lea.hyper" contentPermissions="ManagedByOwner"> <site/> <contact name="fsuzuki"/> <certifier name="snguyen"/> <location type="PROJECT"/> <tags/> </database></tsResponse>Note: This method returns connection information, including connection type. In some cases, the name of the connection type might not map directly to a name of a connection type that you're familiar with. In those cases, seeMapping ConnectionType Names for more information.
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409046 | Unknown database query error | An unknown error occurred and the database query could not complete. |
Get information about all database assets for a site.
GET api/api-version/sites/site-luid/databases
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query database assets:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:databases:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse> <databases><pagination pageNumber="1" pageSize="100" totalAvailable="496"><database name="airlines" connectionType="sqlserver" isEmbedded="false" description="This is about airlines and other stuff but mainly airlines"isCertified="true" certificationNote="THIS IS ALSO FROM THE REST API" type="DatabaseServer" hostName="mssql.test.example.com" contentPermissions="ManagedByOwner"><site/><contact name="jsmith"/> <certifier name="snguyen"/> <location type="PROJECT"/> <tags/></database><database name="small.csv" connectionType="textscan" isEmbedded="true" isCertified="false" type="File" filePath="small.csv" contentPermissions="ManagedByOwner"><site/><contact name="fsuzuki"/> <tags/></database><database name="ows.json" connectionType="semistructpassivestore-direct" isEmbedded="true" isCertified="false" type="File" filePath="ows.json" contentPermissions="ManagedByOwner"><site/> <tags/></database><database name="/Users/awang/Dropbox (Tableau Software)/911_calls_short.csv" connectionType="textscan" isEmbedded="false" isCertified="false" type="File" filePath="/Users/jsmith/Dropbox (Tableau Software)/911_calls_short.csv" contentPermissions="ManagedByOwner"><site/> <location type="PROJECT"/> <tags/></database><database name="911_calls_short.csv" connectionType="textscan" isEmbedded="true" isCertified="false" type="File" filePath="911_calls_short.csv" contentPermissions="ManagedByOwner"><site/> <tags/></database><database name="Prince.xlsx" connectionType="excel-direct" isEmbedded="true" isCertified="false" type="File" filePath="Prince.xlsx" contentPermissions="ManagedByOwner"><site/> <tags/></database> </databases></tsResponse>Note: This method returns connection information, including connection type. In some cases, the name of the connection type might not map directly to a name of a connection type that you're familiar with. In those cases, seeMapping ConnectionType Names for more information.
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested databases could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409046 | Unknown database query error | An unknown error occurred and the database query could not complete. |
Get information about the permissions on a database asset.
GET api/api-version/sites/site-luid/databases/database-luid/permissions
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following authorized users have permissions to query the permissions on the database asset:
200
Example response with explicit permissions set on a database asset:
<tsResponse> <permissions><database name="oracle.test.example.com:1521"/><granteeCapabilities> <user/> <capabilities><capability name="Read" mode="Allow"/> </capabilities></granteeCapabilities> </permissions></tsResponse>Example response without explicit permissions set on a database asset:
<tsResponse> <permissions><database name="stage"/> </permissions></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400120 | Bad request | Permissions could not be returned because support for explicit permissions is available for database assets associated with published data sources only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 400 | 400120 | Bad request | Support for explicit permissions is available for database assets associated with published data sources only. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
Get the default permissions applied to the database asset and its children tables.
Note: If a database is in a project, default database permissions are not evaluated to determine table permissions. UseQuery Default Permissions to see default permissions for projects instead.
GET /api/api-version/sites/site-luid/databases/database-luid/default-permissions/tables
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset to set default permissions for. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following authorized users set default permissions for the database asset:
200
Example response
<tsResponse> <permissions><database name="oracle.test.example.com:1521"/><granteeCapabilities> <user/> <capabilities><capability name="Read" mode="Allow"/> </capabilities></granteeCapabilities> </permissions></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400120 | Bad request | Permissions could not be returned because support for explicit permissions is available for database assets associated with published data sources only. |
| 404 | 404000 | Site not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404003 | Resource not found | The database LUID in the URI doesn't correspond to a database asset on the site. |
Get information about a specific data quality warning.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theGet Label method instead.
GET api/api-version/sites/site-id/dataQualityWarnings/dataqualitywarning-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| dataqualitywarning-id | The unique ID of the data quality warning. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query the data quality warning:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse> <dataQualityWarning userDisplayName="Steve Nguyen" contentId="0d7465f2-4989-417e-b88d-f787359edc63" contentType="DATABASE" message="Delayed" type="WARNING" isActive="true" createdAt="2020-10-08T00:00:35Z" updatedAt="2020-10-08T00:00:35Z" isSevere="false"><site/><owner/> </dataQualityWarning></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400103 | Unknown data quality warning query error | An unknown error occurred and the data quality warning query could not complete. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404030 | Data quality warning not found | The data quality warning for the requested asset could not be found. |
Get information about the data quality warning for the database, table, column, published data source, flow, virtual connection, or virtual connection table.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theGet Labels method instead.
GET api/api-version/sites/site-id/dataQualityWarnings/content-type/content-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of asset that the data quality warning is being attached to. To specify the type, use one of the following values:
These values are not case sensitive. |
| content-luid | The LUID of the content (database, table, column, published data source, flow, virtual connection, or virtual connection table). |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query the data quality warning:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse> <dataQualityWarningList><dataQualityWarning userDisplayName="Steve Nguyen" contentId="924ae707-a915-498d-b909-a86cd5135b8d" contentType="DATABASE" message="Talk to admin" type="WARNING" isActive="true" createdAt="2021-01-12T01:04:55Z" updatedAt="2021-01-12T01:04:55Z" isSevere="false"> <site/> <owner/></dataQualityWarning> </dataQualityWarningList></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400104 | Unknown data quality warning query error | An unknown error occurred and the data quality warning query could not complete. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404029 | Content not found | The requested asset could not be found. |
| 404 | 404030 | Data quality warning not found | The data quality warning for the requested asset could not be found. |
Get information about a data quality certification.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theGet Label method instead.
GET api/api-version/sites/site-id/dataQualityCertifications/certification-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| certification-luid | The unique ID of the data quality certification. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query a data quality certification:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <dataQualityIndicator>id="d5a4006c-0276-4c5a-bb98-712815c91ce7"userDisplayName="Mark Nguyen"contentId="a34884d0-1d80-4505-bf21-c6b7ce10814a" contentType="DATASOURCE"message="Marketing approved"type="CERTIFIED" active="true"createdAt="2021-06-08T17:22:20Z"updatedAt="2021-09-08T17:27:57Z" severe="false"/>siteID="284e2a17-65c8-47bf-b88f-ff96d69c2303"ownerID="f95180e7-0c64-4a58-86da-b9f4d3db2583" </dataQualityIndicator></tsResponse>Version 3.13 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400103 | Generic data quality certification error | The data quality certification could not be queried for some reason other than those specified in this table. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404030 | Data quality indicator not found | The requested data quality certification was not found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Get all data quality certifications for content or asset items.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theGet Labels method instead.
GET api/api-version/sites/site-id/dataQualityCertifications/content-type/content-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of content the data quality certification has been applied to. To specify the type, use one of the following values:
These values are not case sensitive. |
| content-luid | The LUID of the content (database, table, published data source, flow, virtual connection, or virtual connection table). |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query data quality certifications:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <dataQualityIndicator>id="d5a4006c-0276-4c5a-bb98-712815c91ce7"userDisplayName="Mark Nguyen" contentId="a34884d0-1d80-4505-bf21-c6b7ce10814a"contentType="DATASOURCE"message="Marketing approved"type="CERTIFIED" active="true"createdAt="2021-06-08T17:22:20Z"updatedAt="2021-09-08T17:27:57Z"severe="false"/>siteID="284e2a17-65c8-47bf-b88f-ff96d69c2303"ownerID="f95180e7-0c64-4a58-86da-b9f4d3db2583" </dataQualityIndicator></tsResponse>Version 3.13 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400104 | Generic data quality certification error | The data quality certification could not be queried for some reason other than those specified in this table. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404029 | Data quality indicator not found | The requested data quality certification was not found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Get information about a quality warning trigger.
GET api/api-version/sites/site-id/dataQualityTriggers/trigger-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of content the quality warning trigger has been applied to. To specify the type, use on of the following values:
These values are not case sensitive. |
| trigger-id | The unique ID of the quality warning trigger. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query a quality warning trigger:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <dataQualityTriggerList><dataQualityTrigger siteId="{site-luid}"userId="1c8ebdfc-270a-4414-812c-3306a1c95e07" userDisplayName="Joe Nguyen" contentId="{content-luid}"contentType="DATASOURCE" message=" This message is specified by the user."type="EXTRACT_REFRESH" active="true" createdAt="Wed Sep 22 05:49:52 UTC 2020"updatedAt="Wed Sep 22 05:49:52 UTC 2020" severe="false"/> </dataQualityTriggerList></tsResponse>Version 3.11 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400134 | Generic quality warning trigger error | The quality warning trigger could not be queried for some reason other than those specified below. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404037 | Quality warning not found | The requested quality warning trigger was not found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Get information about all quality warning triggers for a content item.
GET api/api-version/sites/site-id/dataQualityTriggers/content-type/content-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| content-type | The type of content that the quality warning trigger has been applied to. To specify the type, use one of the following values:
These values are not case sensitive. |
| content-luid | The unique ID of the asset. This is the same as the content ID. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query quality warning triggers:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <dataQualityTriggerList><dataQualityTrigger siteId="{site-luid}"userId="f95180e7-0c64-4a58-86da-b9f4d3db2583" userDisplayName="Mark Nguyen" contentId="a34884d0-1d80-4505-bf21-c6b7ce10814a"contentType="DATASOURCE" message=" This message is specified by the user."type="EXTRACT_REFRESH" active="true" createdAt="Wed Sep 22 05:49:52 UTC 2020"updatedAt="Wed Sep 22 05:49:52 UTC 2020" severe="false"/> </dataQualityTriggerList></tsResponse>Version 3.11 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400134 | Generic quality warning trigger error | The quality warning triggers could not be queried for some other reason than those specified below. |
| 403 | 403004 | Unauthorized operation | Insufficient permissions to perform the operation. |
| 404 | 404037 | Quality warning not found | The requested quality warning trigger was not found. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Get information about a table asset.
GET api/api-version/sites/site-id/tables/table-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query the table asset:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:tables:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <table name="[Orders$]" isEmbedded="true" isCertified="false"><site/> </tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table could not be found. |
| 409 | 409052 | Unknown table error | An unknown table asset error occurred. |
| 409 | 409053 | Unknown table query error | An unknown error occurred and the table query could not complete. |
Get information about all table assets for a site.
GET api/api-version/sites/site-id/tables
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to query table assets:
Otherwise, authorized users who have "derived permissions" (if enabled), and Tableau Server admins or Tableau Cloud site admins.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:tables:readFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <tables><table name="Culture" isEmbedded="false" isCertified="false"> <site/> </table><table name="[Orders$]" isEmbedded="true" isCertified="false"> <site/></table><table name="Batters" isEmbedded="false" isCertified="false"> <site/></table><table name="[911_calls_short#csv]" isEmbedded="false" isCertified="false"> <site/></table> </tables></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested tables could not be found. |
| 409 | 409052 | Unknown table error | An unknown table asset error occurred. |
| 409 | 409053 | Unknown table query error | An unknown error occurred and the table query could not complete. |
Get information about the permissions on a table asset.
GET api/api-version/sites/site-id/tables/table-id/permissions
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following authorized users have permissions to query the permissions on the table asset:
200
Example response with explicit permissions set:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <permissions><table name="_WarehouseConfig"/><granteeCapabilities> <user/> <capabilities><capability name="Read" mode="Allow"/> </capabilities></granteeCapabilities> </permissions></tsResponse>Example response without explicit permissions set:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <permissions><parent type="Database"/> <table name="BigMachines"/> </permissions></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400120 | Bad request | Permissions could not be returned because support for explicit permissions is available for table assets associated with published data sources (not embedded data sources) only. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table asset could not be found. |
| 409 | 409052 | Table error | An unknown table asset error occurred. |
| 409 | 409053 | Unknown table query error | An unknown error occurred and the table query could not complete. |
Permanently remove the column from a table asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/tables/table-id/columns/column-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to remove the column:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:columns:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table asset could not be found. |
| 409 | 409059 | Column error | An unknown column asset error occurred. |
| 409 | 409061 | Unknown column delete error | An unknown error occurred and the column could not be deleted. |
| 409 | 409066 | Column not found | The requested column asset could not be found. |
Permanently remove the database asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/databases/database-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| database-id | The unique ID of the database asset. |
None
Server or site administrators only.
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to remove the database asset:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:databases:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409047 | Database delete error | An unknown error occurred and the database asset could not be deleted. |
Permanently remove the table asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
DELETE api/api-version/sites/site-id/tables/table-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
None
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to remove the table asset:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:tables:deleteFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
204
None
Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table asset could not be found. |
| 409 | 409052 | Table error | An unknown table asset error occurred. |
| 409 | 409054 | Unknown table delete error | An unknown error occurred and the table could not be deleted. |
Update the description of the column.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT api/api-version/sites/site-id/tables/table-id/columns/column-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
| column-id | The unique ID of the column asset. |
<tsRequest> <column description="new-description-value"> </column></tsRequest>Any combination of attributes inside the<column> element is valid. Only the attributes and child elements that are included result in updates to the table. If no attributes or nested elements are included, no update is made.
| new-description-value | (Optional) Custom text to describe the column. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to update the column:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:columns:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <column name="StateProvinceID" description="Validated against maps" remoteType="I4" parentTableId="75029ee7-935a-4f57-8717-58c2339dd219"><site/> </column></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table asset could not be found. |
| 409 | 409052 | Column error | An unknown table asset error occurred. |
| 409 | 409057 | Column update error | An unknown error occurred and the table asset could not be updated. |
| 409 | 409058 | Column update forbidden | A user without "write" permissions to the table asset attempted an update. |
| 409 | 409066 | Column not found | The requested column asset could not be found. |
Update the database description, certify a database, set database permissions, or assign a Tableau Cloud or Server user as the database contact.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT api/api-version/sites/site-luid/databases/database-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The LUID of the site asset. |
| database-luid | The LUID of the database asset. |
<tsRequest> <database isCertified="certification-status" certificationNote="certification-note" description="new-description-value" contentPermissions="new-content-permissions"> <contactapi-placeholder">new-contact-luid" /> </database></tsRequest>Any combination of attributes inside the<database> element is valid. Only the attributes and child elements that are included result in updates to the database asset. If no attributes or nested elements are included, no update is made.
| certification-status | (Optional) Certify or remove certification by using the following:
|
| certification-note | (Optional) Custom text to accompany the certification status. |
| new-description-value | (Optional) Custom text to describe the database asset. |
| new-content-permissions | (Optional) The new permissions setting for the database. You can specify one of the following:
The default permissions setting isManagedByOwner. These values are case sensitive. |
| new-contact-luid | (Optional) The LUID of the Tableau Server or Tableau Cloud user to associate with the database asset. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to update the database asset:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:databases:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse> <database name="coffee" connectionType="sqlserver" isEmbedded="false" description="Contact Susan Nguyen (database admin) for changes." isCertified="true" certificationNote="Removed certification via REST" type="DatabaseServer" hostName="mssql.test.tsi.lan" contentPermissions="LockedToDatabase"><site/><contact name="fsuzuki"/><certifier name="admin"/> </database></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site LUID in the URI doesn't correspond to an existing site. |
| 404 | 404031 | Database not found | The requested database could not be found. |
| 409 | 409045 | Database error | An unknown database asset error occurred. |
| 409 | 409050 | Database update error | An unknown error occurred and the database asset could not be updated. |
| 409 | 409051 | Database update forbidden | A user without "write" permissions to the database asset attempted an update. |
Update the warning type, status, and message of a data quality warning.
Note: Data quality warnings and certifications can be more generally managed through the newerLabels methods. Tableau recommends using them to help ensure that you can manage your assets as new features are developed.
Try theUpdate Label method instead.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT api/api-version/sites/site-id/dataQualityWarnings/dataqualitywarning-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| dataqualitywarning-id | The unique ID of the data quality warning. |
<tsRequest> <dataQualityWarning type="type" isActive="status" message="message" isSevere="severity"/></tsRequest>Any combination of attributes inside the<dataQualityWarning> element is valid, but the data quality warning type is required. If the data quality warning type is not included, an error is thrown.
| type | Type of data quality warning to apply to the asset. To specify the type, use one of the following values:
Note: In Tableau Server 2023.1 and earlier,SENSITIVE_DATA is another type of data quality warning. Starting in Tableau Cloud June 2023 and Tableau Server 2023.3, it's a sensitivity label instead. These values are not case sensitive. |
| status | (Optional) Controls whether the data quality warning displays. Value can be "true" or "false". If the state is not specified, the data quality warning is set to "true" and is visible by default. |
| message | (Optional. Was required in Tableau Server 2023.3 and earlier.) A custom message to accompany the data quality warning. |
| severity | (Optional) Enables high visibility for the data quality warning when set to "true". Values can be "true" or "false". For more information, see the "Visibility" section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to update the data quality warning:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse> <dataQualityWarning userDisplayName="Steve Nguyen"contentId="924ae707-a915-498d-b909-a86cd5135b8d" contentType="DATABASE" message="OUT OF DATE - DO NOT USE"type="WARNING" isActive="true" createdAt="2021-01-12T01:04:55Z" updatedAt="2021-01-12T01:23:04Z"isSevere="true"><site /><owner /> </dataQualityWarning></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400109 | Bad request | The request body can't be empty. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404029 | Content not found | The requested asset could not be found. |
| 404 | 404030 | Data quality warning not found | The data quality warning for the requested asset could not be found. |
Update a monitoring quality warning.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT api/api-version/sites/site-id/dataQualityTriggers/trigger-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| trigger-id | The unique ID of the monitoring quality warning. |
<tsRequest> <dataQualityTrigger type="type" active="status" message="message" severe="severity"/></tsRequest>| type | Type of monitoring quality warning. To specify the type, use one of the following values:
These values are not case sensitive. |
| status | Monitoring status. Values can be "true" or "false". If set to "true", the data source is monitored for extract refresh failures or the flow is monitored for flow run failures). If an extract refresh or flow run failure occurs, the specified data quality warning is attached to the data source or flow (depending ontype). The data quality warning is removed when the extract refresh or flow run is successful. For more information about monitoring quality warnings, see the monitoring quality warning section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
| message | (Optional) A custom message for the data quality warning. |
| severity | High visibility status of the data quality warning. Values can be "true" or "false". For more information, see the "Visibility" section of the "Set a Data Quality Warning" topic in theServer Help orCloud Help. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to update a monitoring quality warning:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response
<tsResponse> <dataQualityTriggerList><dataQualityTrigger siteId="{site-luid}"userId="{user-luid}" userDisplayName="Joe Nguyen" contentId="{content-luid}"contentType="DATASOURCE" message=" This message is specified by the user."type="EXTRACT_REFRESH" active="true" createdAt="Wed Sep 22 05:49:52 UTC 2020"updatedAt="Wed Sep 22 05:49:52 UTC 2020" severe="false"/> </dataQualityTriggerList></tsResponse>Version 3.11 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400137 | Generic quality warning trigger error | The monitoring quality warning could not be updated for some other reason than those specified below. |
| 403 | 403004 | Unauthorized operation. | Insufficient permissions to perform the operation. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid. |
Updates a label by its LUID.
This method can update the label value, message, active flag, and elevated flag.
You can't update the label category. If you choose a label value name that's associated with a different category, you get an error. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
You can't update extract refresh or flow run monitoring warnings (theextract_refresh_failure andflow_run_failure label values) using this method because those warnings are set and cleared automatically, depending on their triggers. See also "How to set a monitoring quality warning" in theTableau Server(Link opens in a new window) andTableau Cloud(Link opens in a new window) Help and the quality warning trigger methods inMetadata Methods.
All label operations except those related to the certification of data sources require Catalog to be enabled. Catalog requires aData Management license.
PUT api/api-version/sites/site-luid/labels/label-luid
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-luid | The unique LUID of the label asset. |
<tsRequest> <label value="label-value-name" message="label-message" active="active-flag" elevated="elevated-flag" /></tsRequest>| label-value-name | (Optional) The label value name. You cannot change the category when updating a label. Choosing a label value name that's associated with a different category causes an error. SeeData Labels in the REST API for a list of built-in label values and categories. Choosing a monitoring quality warning value (extract_refresh_failure orflow_run_failure) causes an error. |
| label-message | (Optional) The message text for the label. In the web interface, this is reflected as a certification note or a data quality warning message. |
| active-flag | (Optional) Boolean. If set totrue, the label becomes active. If set tofalse, the label becomes inactive. If omitted, the default istrue. |
| elevated-flag | (Optional) Boolean. If set totrue, the label becomes elevated. If set tofalse, the label becomes not elevated. If omitted, the default isfalse. |
Introduced in Tableau Cloud June 2024 and Tableau Server 2024.2 (API 3.23).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
<tsResponse> <label userDisplayName="user-display-name" contentId="asset-luid" contentType="asset-type" message="label-message" value="label-value-name" category="label-category" active="true-or-false" elevated="true-or-false" createdAt="datetime" updatedAt="datetime" > <site/> <owner/> </label></tsResponse>Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400103 | Generic query label error | An unknown error occurred. |
| 400 | 400109 | Missing payload | The request body is missing a label element. |
| 403 | 403004 | Invalid parameter | Operation on resource unauthorized |
| 404 | 404030 | Label not found | The label LUID doesn't correspond to an existing project. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid, or you are trying to change the label value to one from a different category. This error can also occur if you try to create or change a monitoring quality warning (label valuesextract_refresh_failure andflow_run_failure). |
Creates or updates labels on one or more assets.
Each asset listed in the request body is updated to have a label with the specified value, message, active flag, and elevated flag.
If the request body specifies a label value that is already on the asset, the label on the asset is updated to match the request body. Otherwise, a label is created and attached to the asset.
Note: On Tableau Server 2023.3 and earlier, only one label of a category is allowed on an asset. If the request body specifies a label value withthe same category as a label already on the asset, the label on the asset is updated to match the request body. Otherwise, a label is created and attached to the asset.
Note that the label category is not an attribute in the request body, because you do not set it explicitly. Instead you implicitly set the category by using the label value name. For example, choosing a label value name ofstale means that the label value category will bewarning. Also, you can't update the label category on an existing label. If you set the label value to one that's in a different category, you get an error. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
You can't update extract refresh or flow run monitoring warnings (theextract_refresh_failure andflow_run_failure label values) using this method because those warnings are set and cleared automatically, depending on their triggers. See also "How to set a monitoring quality warning" in theTableau Server(Link opens in a new window) andTableau Cloud(Link opens in a new window) Help and the quality warning trigger methods inMetadata Methods.
All label operations except those related to the certification of data sources require Catalog to be enabled. Catalog requires aData Management license.
PUT api/api-version/sites/site-luid/labels
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
<tsRequest> <contentList> <content contentType="asset-type" /> <!-- ... additional content elements ... --> </contentList> <label value="label-value-name" message="label-message" active="active-flag" elevated="elevated-flag" /></tsRequest>| asset-type | The type of asset. Valid asset types are:
|
| asset-luid | The asset LUID. |
| label-value-name | The label value name. The built-in label value names are:
You can also use custom label value names that an administrator creates. (Custom label values were released with Tableau Cloud June 2023 and Tableau Server 2023.3.) If the request body specifies a label value that is already on the asset, the label on the asset is updated to match the request body. Otherwise, a label is created and attached to the asset. Note: On Tableau Server 2023.3 and earlier, only one label of a category is allowed on an asset. If the request body specifies a label value withthe same category as a label already on the asset, the label on the asset is updated to match the request body. Otherwise, a label is created and attached to the asset. SeeData Labels in the REST API for a list of built-in label values and categories. Choosing a monitoring quality warning value (extract_refresh_failure orflow_run_failure) causes an error. |
| label-message | (Optional. Was required in Tableau Server 2023.3 and earlier.) The message text for the label. In the web interface, this is reflected as a certification note or a data quality warning message. |
| active-flag | (Optional) Boolean. If set totrue, the label becomes active. If set tofalse, the label becomes inactive. If omitted, the default istrue. |
| elevated-flag | (Optional) Boolean. If set totrue, the label becomes elevated. If set tofalse, the label becomes not elevated. If omitted, the default isfalse. |
Introduced in Tableau Cloud June 2024 and Tableau Server 2024.2 (API 3.23).
tableau:labels:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).
<tsResponse> <labelList> <label userDisplayName="user-display-name" contentId="asset-luid" contentType="asset-type" message="label-message" value="label-value-name" category="label-category" active="true-or-false" elevated="true-or-false" createdAt="datetime" updatedAt="datetime" > <site/> <owner/> </label> <!-- ... additional label elements ... –-> </labelList></tsResponse>When more than one asset appears in the request (thecontentList element contains more than onecontent element), this method will fail if an error is encountered operating on any of them. For example, if you are updating labels for a database and a table, but you provide the wrong table LUID, the method will return an error even if the database LUID was correct.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 400 | 400108 | Missing payload | The request body is missing all content and/or all label elements. |
| 400 | 400109 | Generic add labels to content error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | Insufficient permissions to perform the operation. |
| 404 | 404029 | Resource not found | ThecontentType andcontentID attribute combination does not correspond to an asset on the server. This can be caused by an incorrectcontentType, an incorrectcontentID, or both. |
| 409 | 409004 | Invalid parameter | One or more values in the request body are invalid, or one of the required attributes (active orelevated) is missing. This error can also occur if you try to create or change a monitoring quality warning (label values extract_refresh_failure andflow_run_failure). |
Updates a label value.
Note: You can update an existing label value using either this method or theCreate or Update labelValue method. If you want to change the name of an existing label value, use this method.
Note that a label value (labelValue) is one property of a label. A label value has its own properties like name, category, and description that determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label values, but one is required to create, update, delete, and see labels on assets.
PUT api/api-version/sites/site-luid/labelValues/label-value-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-value-name | The label value name. URL encode the label value name if it has spaces or non-alphanumeric characters in it. |
<tsRequest> <labelValue name="label-value-name" category="label-value-category" description="label-value-description" /></tsRequest>| label-value-name | The label value name. If the label value name is different than the one in the URI parameter, the label value name is changed to match the one in the request body. Required. Must be 1-128 characters long. (Must be 1-24 characters long in Tableau Server 2023.3 and earlier.) |
| label-value-category | The label value category. Required. You can't change the label value category, so this will always match the label value's existing category. |
| label-value-description | The label value description. Must be 1-500 characters in length. |
Only a site or server administrator can create, update, or delete label values.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_values:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud June 2023 (API 3.20) and Tableau Server 2023.3 (API 3.21).
<tsResponse> <labelValue name="label-value-name" category="label-value-category" description="label-value-description" internal="true-or-false" elevatedDefault="true-or-false" builtIn="true-or-false"> <site/> </labelValue></tsResponse>| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 401 | 4000173 | Generic create label values error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | You must be a site or server administrator to create or update label values. |
| 404 | 403157 | Bad request | You may see this error if you try to create or update a label in thecertification category. |
| 409 | 409004 | Invalid parameter |
|
Updates a data label category.
Note that category is one property of a label value (labelValue), which is itself a property of a label on an asset. Other properties of a labelValue include name and description. These properties determine label behavior and options that users see in label dialogs. For more information on data label objects and properties, see theData Labels in the REST API(Link opens in a new window) topic.
AData Management license is not required to create, update, or delete label categories, but one is required to create, update, delete, and see labels on assets.
PUT api/api-version/sites/site-luid/labelCategories/label-category-name
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-luid | The unique LUID of the site asset. |
| label-category-name | The label category name. URL encode the label category name (as it appears in the Tableau web interface) if it has spaces or non-alphanumeric characters in it. |
<tsRequest> <labelCategory name="label-category-name" description="label-category-description" /></tsRequest>
| label-category-name | The label category name. Required, but not does not have to be different from the existing name. Must be 1-128 characters long. (In Tableau Server 2023.3 and earlier, must be 1-24 characters long.) |
| label-category-description | The label category description. Required, but not does not have to be different from the existing description. Must be 1-500 characters in length. |
Only a site or server administrator can create, update, or delete label categories.
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:label_categories:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Introduced in Tableau Cloud October 2023 (API 3.21) / Server 2023.3 (API 3.21).
<tsResponse> <labelCategory name="label-category" description="label-category-description"/></tsResponse>
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400190 | Generic update label categories error | An unknown error occurred. |
| 403 | 403004 | Operation on resource unauthorized | You must be an administrator to create, update, or delete label values. |
| 409 | 409004 | Invalid parameter |
|
Update the table description, certify a table, or a assign a user contact to the table asset.
This method is available if your Tableau Cloud site or Tableau Server is licensed with Data Management.
PUT api/api-version/sites/site-id/tables/table-id
| api-version | The version of the API to use, such as3.27. For more information, seeREST API and Resource Versions. |
| site-id | The unique ID of the site asset. |
| table-id | The unique ID of the table asset. |
<tsRequest> <table isCertified="certification-status" certificationNote="certification-note" description="new-description-value"> <contactapi-placeholder">new-contact-id" /> </table></tsRequest>Any combination of attributes inside the<table> element is valid. Only the attributes and child elements that are included result in updates to the table. If no attributes or nested elements are included, no update is made.
| certification-status | (Optional) Use one of the following values:
These values are case sensitive. |
| certification-note | (Optional) Custom text to accompany the certification status. |
| new-description-value | (Optional) Custom text to describe the table asset. |
| new-contact-id | (Optional) The ID (not name) of the certification owner. |
If Tableau Server or Tableau Cloud is licensed throughData Management, the following users have permissions to update the table asset:
Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
tableau:tables:updateFor more information, seeAccess scopes for UATs(Link opens in a new window) (Cloud)and access scopes for connected apps:Cloud(Link opens in a new window),Server-Windows(Link opens in a new window),orServer-Linux(Link opens in a new window).
200
Example response:
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.5.xsd"> <table name="Zoning.shp" description="Contact Susan Nguyen (database admin) for changes." isEmbedded="true" isCertified="false"><site/> </table></tsResponse>Version 3.5 and later. For more information, seeREST API and Resource Versions.
| HTTP status | error Code | Condition | Details |
|---|---|---|---|
| 400 | 400000 | Bad request | The content of the request body is missing or incomplete, or contains malformed XML. |
| 401 | 401000 | Unauthorized access | No authorization credentials were provided. |
| 401 | 401002 | Unauthorized access | Invalid authorization credentials were provided. |
| 404 | 404000 | Resource not found | The site ID in the URI doesn't correspond to an existing site. |
| 404 | 404032 | Table not found | The requested table asset could not be found. |
| 409 | 409052 | Table error | An unknown table asset error occurred. |
| 409 | 409057 | Table update error | An unknown error occurred and the table asset could not be updated. |
| 409 | 409058 | Table update forbidden | A user without "write" permissions to the table asset attempted an update. |