Movatterモバイル変換


[0]ホーム

URL:


Tableau

Tableau REST API Help

Site Methods


Use Postman

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.

Postman: Sites

Create Site

Creates a site on Tableau Server. To make changes to an existing site, callUpdate Site. This method isn’t available for Tableau Cloud.

For more information, seeWork with Sites(Link opens in a new window)andAdd or Edit Sites(Link opens in a new window) in the Tableau Server documentation.

Note: After you create a resource, the server updates its search index. If you make aquery immediately to see a new resource, the query results might not be up to date.

URI

POST /api/api-version/sites

Request Body

<tsRequest>  <site    name="site-name"    contentUrl="content-url"    adminMode="admin-mode"    storageQuota="limit-in-megabytes"    disableSubscriptions="disable-subscriptions"    editingFlowsEnabled="editing-flows-enabled-flag"    schedulingFlowsEnabled="scheduling-flows-enabled-flag"    allowSubscriptionAttachments="allow-subcription-attachments-flag"    guestAccessEnabled="guest-access-enabled-flag"    cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"    commentingEnabled="commenting-enabled-flag"    revisionHistoryEnabled="enable-revision-history-flag"    revisionLimit="num-revision-limit"    subscribeOthersEnabled="subscribe-others-enabled-flag"    extractEncryptionMode="extractEncryptionMode"    requestAccessEnabled="request-access-enabled-flag"    runNowEnabled="run-now-enabled-flag"    userQuota="all-license-limit-total"    tierCreatorCapacity="creator-license-limit"    tierExplorerCapacity="explorer-license-limit"    tierViewerCapacity="viewer-license-limit"    dataAlertsEnabled="data-alerts-enabled-flag"    commentingMentionsEnabled="commenting-mentions-enabled-flag"    catalogObfuscationEnabled="catalog-obfuscation-enabled-flag"    flowAutoSaveEnabled="flow-auto-save-enabled-flag"    runNowEnabled="run-now-enabled-flag"    metricsContentTypeEnabled="metrics-content-type-enabled-flag"    notifySiteAdminsOnThrottle="notify-site-admins-on-throttle-flag"    authoringEnabled="authoring-enabled-flag"    customSubscriptionEmailEnabled="custom-subscription-email-enabled-flag"    customSubscriptionEmail="custom-subscription-email"    customSubscriptionFooterEnabled="custom-subscription-footer-enabled-flag"    customSubscriptionFooter="custom-subscription-footer"    askDataMode="ask-data-mode"    namedSharingEnabled="named-sharing-enabled-flag"    catalogingEnabled="cataloging-enabled-flag"    derivedPermissionsEnabled="derived-permissions-enabled-flag"    userVisibilityMode="user-visibility-mode"    useDefaultTimeZone="default-time-zone-flag"    timeZone="time-zone"    autoSuspendRefreshEnabled="auto-suspend-refresh-enabled-flag"    autoSuspendRefreshInactivityWindow="auto-suspend-refresh-inactivity-window"    explainDataEnabled="explainDataEnabled"    dqwSubscriptionsEnabled="dqw-subscriptions-enabled"    groupAssertionsEnabled="group-assertions-enabled-flag"    groupAssertionsSAMLEnabled="group-assertions-saml-enabled-flag"    groupAssertionsOIDCEnabled="group-assertions-oidc-enabled-flag"    groupAssertionsConnectedAppsEnabled="group-assertions-connected-apps-enabled-flag"    groupSetsEnabled="group-sets-enabled-flag"    recycleBinEnabled="recycle-bin-enabled-flag" /></tsRequest>

Attribute Values

site-nameThe name of the site.
content-urlThe subdomain name of the site's URL. This value can contain only characters that are upper or lower case alphabetic characters, numbers, hyphens (-), or underscores (_). If you provide unsupported special characters, Tableau creates the site content URL by omitting those characters from the string. For example, if you provide the site URL as "test.site", Tableau converts it to "testsite" and returns this new URL in the response.
admin-mode

(Optional) SpecifyContentAndUsers to allow site administrators to use the serverinterface andtabcmd commands to add and remove users. (Specifying this option doesn’t give site administratorspermissions to manage users using the REST API.) SpecifyContentOnly to prevent siteadministrators from adding or removing users. (Server administrators can always add or remove users.)

Note: You can’t setadminMode toContentOnly and also setuserQuota.The default value isContentAndUsers.

storage-quota(Optional) The maximum amount of space for the new site, in megabytes. If you set a quota and the site exceeds it, publishers will be prevented from uploading new content until the site is under the limit again.
disable-subscriptions

(Optional) Specifytrue to prevent users from being able to subscribe to workbooks on the specified site. The default isfalse.

editing-flows-enabled-flag

(Optional) Specifytrue to enable andfalse to disable editing flows for a site. For more information on flows, seeEnable and Configure Tableau Prep Conductor(Link opens in a new window).

The default is set totrue, which means editing flows is enabled by default. For more information, seeImplication of disabling Tableau Prep Conductor.

scheduling-flows-enabled-flag

(Optional) Specifytrue to enable andfalse to disable scheduling flows for a site. For more information on flows, seeEnable and Configure Tableau Prep Conductor(Link opens in a new window).

The default is set totrue which means scheduling flows is enabled by default. For more information, seeImplication of disabling Tableau Prep Conductor.

flows-enabled-flag

TheflowsEnabled attribute is deprecated as of API version 3.10.

allow-subscription-attachments-flag

(Optional) Iftrue, and subscription to attachments is enabled on the server, then users can create subscriptions that send an email with images of a workbook or view in a PDF attachment. The defaultvalue istrue. If subscription to attachments is disabled in the server settings,then making this valuetrue will have no effect.Default istrue.

guest-access-enabled-flag

(Optional) Specifytrue to enable andfalse to disable the ability for guests, users without specific site access permission, to access the site.Default isfalse.

cache-warmup-enabled-flag

This attribute is removed in API 3.19 and later (Tableau Cloud September 2021). For currentmethods to improve Tableau performance see,View Acceleration(Link opens in a new window).

(Optional) Set this value totrue to enable cache warm up to improve workbook load time. Set the value tofalse to disable cache warmup.Default istrue.

commenting-enabled-flag

(Optional) Specifytrue to enable andfalse to disable the ability for user comments on views in the site.Default istrue.

revision-history-enabled(Optional)true if the site maintains revisions for changes toworkbooks and data sources; otherwise,false. The default isfalse.
num-revision-limit (Optional) An integer between 2 and 10000 to indicate a limited number of revisions for content.

Setting this value to -1 removes any value that was set previously, and effectively removes any limit to the number of revisions that are maintained.

subscribe-others-enabled-flag

(Optional) Specifytrue to enable andfalse to disable the ability for view owners to subscribe other users to a view.Default istrue.

extractEncryptionMode

(Optional) Specifyenforced,enabled, ordisabled. Default isdisabled.For more information, seeExtract and Encryption Methods.

requestAccessEnabled(Optional) Specifytrue to allow users send access request emails to content or project owners. Specifyfalse if you don’t want users to be able to request access. The default isfalse.
runNowEnabled

(Optional) Specifytrue to allow users to run flows, extract refreshes, and schedules manually. Specifyfalse if you don’t want users to be able to run flows, extract refreshes, and subscriptions manually. The default istrue. If this attribute is set tofalse, the following methods will fail and will return an error message.

Run Flow Now

Run Flow Task(Link opens in a new window)

Update Data Source Now(Link opens in a new window)

Run Extract Refresh Task(Link opens in a new window)

Licensing attributes

For user-based license types, the maximum number of users is set by the licenses activated on that server.For core-based licensing, there’s no limit to the number of users; if you specify a maximum value, only licensedusers are counted, and server administrators are excluded.

The REST API enables administrators to set licensinglimits below the purchased maximum with two types of license-related attributes:
- User Quota - The total maximum number of licenses currently configured for a site.
- Tiered Capacities - If set, the configured maximum license count for each license type (role).

Online administrators can get these attributes. An on-premises server administrator can both get and set thembut if license maximums are set using one attribute kind then the value(s) of the other kind must be null. Settingvalues for both kinds of attributes will result in an error.

For more information, seeLicensing Overview(Link opens in a new window).

User quota

all-license-limit-total

(Optional) The maximum total number of users with Creator, Explorer, or Viewer licenses currently allowed on a site.

On-premises server administrators can setuserQuota with the following rules: The number can'texceed the number of licenses activated for the site; and if tiered capacity attributes are set, thenuserQuota will equal the sum of the tiered capacity values, and attempting to setuserQuota will cause an error.

An administrator can revert the license limit to number of activated licenses on the site, or shift control of licenselimits to tiered capacities values, by omittinguserQuota from a Create Site or Update Site request, ormaking its value -1.

Tiered capacity attributes

creator-license-limit
explorer-license-limit
viewer-license-limit

(Optional) The maximum number of licenses for users with the Creator,Explorer, or Viewer role, respectively, allowed on a site.

On-premises server administrators can set tiered capacity attributes with the following rules: the number can'texceed the number of licenses of a given type that are activated for the site; a value must be supplied forevery tiered capacity license type every time any one or more of them is set.

A value of -1 removes the administrator-applied limit for a license type, and reverts the limit to the number ofactivated licenses configured for the role. Setting the value of a tiered capacity to -1 will not automaticallyincrease the limit if more licenses are purchased and activated for the role in the future.

To use role-specific license limits, theuserQuota must be set to null by omitting the attribute fromCreate Site or Update Site request, or setting its value to -1. Attempting to set values for both tiered capacitiesanduserQuota will result in an error.

data-alerts-enabled-flag

(Optional, boolean) Iftrue, data alerts are enabled on the site. Default value istrue.

commenting-mentions-enabled-flag

(Optional, boolean) Iftrue, mentions for commenting are enabled. Default value istrue.

catalog-obfuscation-enabled-flag

(Optional, boolean) Iftrue, catalog obfuscation is enabled on the site. Default value istrue.

flow-auto-save-enabled-flag

(Optional, boolean) Iftrue, flow auto save is enabled on the site.Default value istrue.

run-now-enabled-flag

(Optional, boolean) Iftrue, run now for schedules is enabled which allows non-administrators to run schedules manually. Default value istrue.

metrics-content-type-enabled-flag

(Optional, boolean) Iftrue, the metrics content type is enabled on the server. Default value istrue.

notify-site-admins-on-throttle-flag

(Optional, boolean) Iftrue, site admins will be notified if their background jobs are being throttled. Default value isfalse.

authoring-enabled-flag

(Optional, boolean) Iftrue, web authoring is enabled. Default value istrue.

custom-subscription-email-enabled-flag

(Optional, boolean) Iftrue, sending custom subscription email is enabled. If set to false after being set true, the current custom subscription email is voided. Default value isfalse.

custom-subscription-email

A valid custom email that will be sent ifcustomSubscriptionEmailEnabled is set to true. Default value isfalse.

custom-subscription-footer-enabled-flag

(Optional, boolean) Iftrue, a custom footer will be included on subscription and data alert emails. If set to false after being set true, the current custom subscription footer is voided. Default value isfalse.

custom-subscription-footer

A custom subscription footer that will be added to subscription and data alerts ifcustomSubscriptionFooterEnabled is set to true. Default value isfalse.

ask-data-mode

The mode of the ask data feature on the site. Can be set to one of two values:
  • DisabledByDefault - Enables creation of Ask Data lenses for all published data sources. Data sources do not have lenses created automatically.
  • DisabledAlways - Disables Ask Data lenses and related content throughout the site. Preserves information about lenses and data source indexes, which are restored if Ask Data is re-enabled.
Default value isDisabledByDefault. For more information, seeDisable or Enable Ask Data for a Site(Link opens in a new window).

named-sharing-enabled-flag

(Optional, boolean) Iftrue, named sharing is enabled. Default value istrue.

cataloging-enabled-flag

(Optional, boolean) Iftrue, data catalog is enabled for the site. Default value istrue.

derived-permissions-enabled-flag

(Optional, boolean) Iftrue, derived permissions are enabled for the site. Default value isfalse.

user-visibility-mode

(Optional, string) When the value isFULL users can see the user of other site users. If the value isLIMITED User information on the site is not visible to other users. Default value isFULL. For more information, seeUser Visibility(Link opens in a new window).
use-default-time-zoneOptional, boolean) Set this totrue, if you want thetime-zone attribute use the Server time Zone at run time. This attribute is set to the official IANA name.  If this is set tofalse, thetime-zone value must be specified.
time-zone(Optional, string) Use this attribute to specify a time zone other than the Server time zone at run time. Only canonical names in the official IANA database are supported. You can find the list of the canonical time zone names onWikipedia.
autoSuspendRefreshEnabled(Optional) Tableau can automatically suspend extract refresh tasks for inactive workbooks to save resources. Specify true to enable or false to disable. Default is true.
autoSuspendRefreshInactivityWindow(Optional) An integer from 7 through 100 to indicate the number of days to wait before automatically suspending extract refresh tasks for inactive workbooks. The default is 30.
explainDataEnabled

(Optional, boolean) Set this attribute tofalse to disable Explain Data capabilities for a site. By default, this attribute is set totrue. For more information about this site setting, see one of the following topics:

dqwSubscriptionsEnabled

(Optional, boolean) Set this attribute tofalse to exclude data quality warnings (DQWs) from subscription emails. By default, this attribute is set totrue. For more information about this site setting, see one of the following topics:

groupAssertionsEnabled(Optional, boolean) Set totrue to allow assertions into group membership using session info. Set tofalse if you do not want users to be able to be asserted in to groups. The default isfalse. If this attribute is set to false, it will disable group assertions for the entire site, including the following settings:
  • groupAssertionsSAMLEnabled
  • groupAssertionsOIDCEnabled
  • groupAssertionsConnectedAppsEnabled
groupAssertionsSAMLEnabled(Optional, boolean) Set totrueto allow assertions into group membership using SAML session info. Set tofalseif you don’t want users to be able to be asserted in to groups. The default isfalse. If this attribute is set to false, it will disable group assertions for SAML sessions.
groupAssertionsOIDCEnabled

(Optional, boolean) Set totrueto allow assertions into group membership using OIDC session info. Set tofalseif you don’t want users to be able to be asserted in to groups. The default isfalse. If this attribute is set to false, it will disable group assertions for OIDC sessions.

Note: This parameter only applies to Tableau Cloud.

groupAssertionsConnectedAppsEnabled (Optional, boolean) Set totrueto allow assertions into group membership using Connected App JWT tokens. Set tofalseif you don’t want users to be able to be asserted in to groups via connected apps. The default isfalse. If this attribute is set to false, it will disable group assertions for JWT connected app connections.
groupSetsEnabled(Optional, boolean) Set totrueto allow groups sets. Set tofalseif you don’t want group sets support for the site. The default isfalse. If this attribute is set to false, it will disable group sets for the site.
recycleBinEnabled(Optional, boolean) Set totrue to enable the Recycle Bin. Set tofalse to disable it. The default istrue.

Permissions

This method can only be called by server administrators.

Required scope for JWT authorization

Introduced in Tableau Server 2022.3 (API 3.17).

tableau:sites:create

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).

Response Code

201

Response Body

<tsResponse>  <siteapi-placeholder">site-id"    name="site-name"    contentUrl="content-url"    adminMode="admin-mode"    disableSubscriptions="disable-subscriptions-flag"    state="active-or-suspended"    revisionHistoryEnabled="history-enabled-flag"    revisionLimit="max-num-revisions"    allowSubscriptionAttachments="allow-subcription-attachments-flag"    subscribeOthersEnabled="enable-subscription-of-others-flag"    guestAccessEnabled="guest-access-enabled-flag"    cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"    commentingEnabled="commenting-enabled-flag"    editingFlowsEnabled="editing-flows-enabled-flag"    schedulingFlowsEnabled="scheduling-flows-enabled-flag"    extractEncryptionMode="encryption-mode"    catalogingEnabled="cataloging-enabled-flag"    derivedPermissionsEnabled="derived-permissions-enabled-flag"    requestAccessEnabled="request-access-enabled-flag"    runNowEnabled="run-now-enabled-flag"    userQuota="all-license-limit-total"    tierCreatorCapacity="creator-license-limit"    tierExplorerCapacity="explorer-license-limit"    tierViewerCapacity="viewer-license-limit"    askDataMode="ask-data-mode"    useDefaultTimeZone="default-time-zone-flag"    timeZone="time-zone"    autoSuspendRefreshEnabled="auto-suspend-refresh-enabled-flag"    autoSuspendRefreshInactivityWindow="auto-suspend-refresh-inactivity-window"    explainDataEnabled="explain-data-enabled"    dqwSubscriptionsEnabled="dqw-subscriptions-enabled"    groupAssertionsEnabled="group-assertions-enabled-flag"    groupAssertionsSAMLEnabled="group-assertions-saml-enabled-flag"    groupAssertionsOIDCEnabled="group-assertions-oidc-enabled-flag"    groupAssertionsConnectedAppsEnabled="group-assertions-connected-apps-enabled-flag"    groupSetsEnabled="group-sets-enabled-flag"    recycleBinEnabled="recycle-bin-enabled-flag" />  </site></tsResponse>

Response Body Details:

  • userQuota,storageQuota, and tiered capacity (tierCreatorCapacity,tierExplorerCapacity,tierViewerCapacity) attributes are only present in the response body if those quotas have been set for the site being queried.

Response Headers

Location: /api/3.27/sites/new-site-id

Version

Version 1.0 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad requestThe content of the request body is missing, incomplete, or contains malformed XML.
400400000Invalid storage quotaThe storage quota value wasn’t a positive number.
400400000Invalid user quotaThe user quota value wasn’t a positive number.
400400013Invalid administrator mode The user provided an administrator mode that isn’tContentOnly orContentAndUsers.

Note: An empty string or all whitespace is invalid.

405405000Invalid request methodRequest type was notPOST.
409409001Site name conflictThe site name in the request already belongs to an existing site.
409409002Site URL conflictThe content URI in the request already belongs to an existing site.
409409004User quota and tiered capacity conflictThe request cannot set both tiered capacity attributes anduserQuota. One or the other must be null.
409409004License limit exceededThe request cannot set tiered capacity attributes oruserQuota values that are larger than the number of active licenses configured for the site.
409409004Administrator mode or user quota conflictThe request cannot setadminMode toContentOnly and also specify auserQuota value.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/" -X POST -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd" -d @create-site.xml

Content of create-site.xml:

<tsRequest><site name="Marketing-Site"        contentUrl="marketingsite"        adminMode="ContentAndUsers"        tierCreatorCapacity="2"        tierExplorerCapacity="1"        tierViewerCapacity="1"        useDefaultTimeZone="false"        timeZone="America/Los_Angeles"/></tsRequest>

Response body:

<tsResponse><site        name="Marketing-Site"        contentUrl="marketingsite"        adminMode="ContentAndUsers"        disableSubscriptions="true"        state="Active"        revisionHistoryEnabled="true"        revisionLimit="25"        subscribeOthersEnabled="false"        allowSubscriptionAttachments="true"        guestAccessEnabled="true"        cacheWarmupEnabled="true" [REMOVED IN API 3.19]        commentingEnabled="true"        editingFlowsEnabled="false"        schedulingFlowsEnabled="false"        extractEncryptionMode="enabled"        catalogingEnabled="true"        derivedPermissionsEnabled="false"        requestAccessEnabled="false"        runNowEnabled="true"        userQuota="4"        tierCreatorCapacity="2"        tierExplorerCapacity="1"        tierViewerCapacity="1"        useDefaultTimeZone="false"        timeZone="America/Los_Angeles" /></tsResponse>

Delete Site

Deletes the specified site.

You can specify the site to delete by using the site ID, the site name, or the content URL. You use thekey query string parameter to indicate how you are specifying the site, as shown in the URIs.

Beginning in API version 3.18, you can delete a site asynchronously, which allows you to track the site deletion progress.

This method is not available for Tableau Cloud.

Note: You must have previously called theSign In method and signed in to a site in order to delete the site. When you call this method, you must include the authentication token that you got back when you signed into the site.

URI

Delete site

DELETE /api/api-version/sites/site-id

DELETE /api/api-version/sites/site-name?key=name

DELETE /api/api-version/sites/content-url?key=contentUrl

Delete site asynchronously (beginning in API 3.18)

DELETE /api/api-version/sites/async-delete/site-id

DELETE /api/api-version/sites/async-delete/site-name?key=name

DELETE /api/api-version/sites/async-delete/content-url?key=contentUrl

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site to delete.
site-nameThe name of the site to delete. If you specify a site name, you must also include the parameterkey=name.
content-url

The permanent name of the site to sign in to. The content URL appears in the URL path of Tableau content in your browser address bar after the Tableau Server URL.

mySite is the content URL in the following example:

http://<server or cloud URL>/#/site/mySite/explore

Request Body

None

Permissions

This method can only be called by server administrators.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:sites: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).

Response Code

Delete site

204

Delete site asynchronously (beginning in API 3.18)

201

Response Body

Delete site

None

Delete site asynchronously (beginning in API 3.18)

<tsResponse>   <jobapi-placeholder">job-id"     mode="mode"     type="type" progress="progress" createdAt="createdAt" finishCode="finishCode" /></tsResponse>

The<job> element returns the following attributes:

  • job-id is a unique identifier for the job. You can use the value of this attribute to check the status of the delete job by passing it to theQuery Job(Link opens in a new window) method.

  • mode has the value ofAsynchronous.

  • type has the value ofSiteDelete.

  • progress is set to0 when the asynchronous delete job is created, and then changes to100 when the job is complete. This value indicates percentage of job progress.

  • createdAt provides a complete date and time that indicates when asynchronous delete was initiated.

  • finishCode is set to1 when the asynchronous delete job is created, and then changes to0 when the job is complete.

Version

Version 1.0 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
403403002Deletion not allowed.An attempt was made to delete the default Tableau Server site.
404404000Site not foundThe specified site doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notDELETE.

For more information, seeHandling Errors.

cURL Request Example

Delete site

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d5-e4f3-a2b1-c0d9-e8f7a6b5c4d" -X DELETE -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

curl "http://MY-SERVER/api/3.27/sites/marketing-site?key=contentUrl" -X DELETE -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

The response contains no body (data) for a successful delete operation. The HTTP response code is 204 if the delete operation succeeded.

Delete site asynchronously (beginning in API 3.18)

curl "http://MY-SERVER/api/3.27/sites/async-delete/9a8b7c6d5-e4f3-a2b1-c0d9-e8f7a6b5c4d" -X DELETE -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

curl "http://MY-SERVER/api/3.27/sites/async-delete/marketing-site?key=contentUrl" -X DELETE -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

curl "http://MY-SERVER/api/3.27/sites/async-delete/marketing-site-name?key=name" -X DELETE -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

The responses above will return the job ID for a successful delete operation. You can use the value to check the status of the delete job by passing it to theQuery Job(Link opens in a new window) method.

Get Data Acceleration Report for a Site

Returns a report about data acceleration for the site. It lets you compare page load times for before and after data acceleration is enabled.

This method is not available for Tableau Cloud.

Starting in Tableau version 2022.1 (API v3.16), with the introduction ofView Acceleration(Link opens in a new window),the data acceleration feature is deprecated. Requests for data acceleration endpoints and attributes will not return an error, but willalso not cause any change on the server or return meaningful information about data acceleration of a workbook. We recommend removingany dependencies on data acceleration in your requests to REST API endpoints, as the feature may become unsupported in future releasesresulting in error codes being returned.

URI

GET /api/api-version/sites/site-id/dataAccelerationReport

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the task.

Request Body

None

Permissions

This method can only be called by server administrators and site administrators.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:data_acceleration_reports:read

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).

Response Code

200

Response Body

<tsResponse>  <dataAccelerationReport>    <comparisonRecord site="Default" sheetURI="sheetURI" unacceleratedSessionCount="unacceleratedSessionCount" averageUnAcceleratedPLT="averageUnAcceleratedPLT" acceleratedSessionCount="acceleratedSessionCount" averageAcceleratedPLT="averageAcceleratedPLT" /></tsResponse>

Attribute Values

sheetURIThe URI of the sheet in the workbook.
unacceleratedSessionCountThe number of sessions that were created to load the workbook sheet before it was accelerated. For example, if you loaded it 7 times in a row, the session is reused so the count will still be 1. Generally, the more data you compare, the better the comparison is. Note: If sheets were loaded but never accelerated, they are not shown.
averageUnAcceleratedPLTThe average page load time for the sheet before it was accelerated.
acceleratedSessionCountThe number of sessions that were created to load the workbook sheet after it was accelerated.
averageAcceleratedPLTThe average page load time for the sheet after it was accelerated.

Version

In Tableau Server 2020.2 (API 3.8) through 2021.4 (API 3.15) data acceleration is supported.

Starting in Tableau version 2022.1 (API v3.16), with the introduction ofView Acceleration(Link opens in a new window),the data acceleration feature is deprecated. Requests for data acceleration endpoints and attributes will not return an error, but willalso not cause any change on the server or return meaningful information about data acceleration of a workbook. We recommend removingany dependencies on data acceleration in your requests to REST API endpoints, as the feature may become unsupported in future releasesresulting in error codes being returned.

For more information, seeREST API and Resource Versions.

Errors

404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
40540500Invalid requests methodRequest type was notGET

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/dataAccelerationReport" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponseversion-and-namespace-settings>  <dataAccelerationReport>    <comparisonRecord site="Default" sheetURI="Live/Sheet1" unacceleratedSessionCount="0" averageUnAcceleratedPLT="0.0" acceleratedSessionCount="1" averageAcceleratedPLT="0.166" />  ...  </dataAccelerationReport></tsResponse>

Get Embedding Settings for a Site

Returns the current embedding settings for a specific site.

Embedding settings can be used to restrict embedding Tableau views to only certain domains. This setting impacts all embedding scenarios including, Tableau Javascript API v2, Embedding API v3, and the embed code from the share dialog. For more information, see theTableau Site Settings for Embedding topic in the Tableau Embedding v3 Help.

Beginning in version 2023.2 (June 2023) for Tableau Cloud and in version 2023.3 for Tableau Server, this setting might impact embedding scenarios that use Tableau connected apps. For more information, see the “Control where content can be embedded(Link opens in a new window)” section in the connected apps topic in the Tableau Cloud Help.

URI

GET /api/api-version/sites/site-id/settings/embedding

Path Parameter Values

 
api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the views.

Request Body

None

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:embedding_site_settings:read

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).

Response Code

200

Permissions

Any Tableau Cloud or Tableau Server user can call this method.

Response Body

<tsResponse>  <siteid="view-id"        <settings unrestrictedEmbeddingname="true-or-false"  </site></tsResponse>
Example Response
<tsResponse>      <settings unrestrictedEmbedding="false"/>    </site></tsResponse>

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/settings/embedding" -X GET -H "X-Tableau-Auth:1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d"

Version

API version 3.16 and later.

Errors

HTTP statuserror CodeConditionDetails
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Get Recently Viewed for Site

Gets the details of the views and workbooks on a site that have been most recently created, updated, or accessed by the signed in user. The 24 most recently viewed items are returned, though it may take some minutes after being viewed for an item to appear in the results.

URI

GET /api/api-version/sites/site-id/content/recent

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the views and workbooks.

Request Body

None

Permissions

Users who are not server administrators or site administrators,the method returns only the views and workbooks that the user owns or hasRead permissions for (either explicitly or implicitly).

Required scope for JWT authorization

Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).

tableau:content:read

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).

Response Code

200

Response Body

<tsResponse ><recents>  <recent><view api-placeholder">view-id"  name="view-name"  contentUrl="view-content-url"  createdAt="created-at-time"  updatedAt="updated-at-time"  viewUrlName="view-url-name"><workbookworkbook-of-view" "/><ownerapi-placeholder">owner-id" /><projectapi-placeholder">project-id" /><tags/></view>  </recent>  <recent>    <workbook  api-placeholder">workbook-id"  name="workbook-name"  description="workbook-description"  contentUrl="workbook-content-url"  webpageUrl="workbook-webpage-url"  showTabs="show-tags-flag"  size="size-in-mb"  createdAt="created-at-time"  updatedAt="updated-at-time"  encryptExtracts="encrypt-extracts-flag"  defaultViewId="default-view-id" >        <projectapi-placeholder">project-id"/>        <ownerapi-placeholder">ownwer-id"name="project-name" />        <tags/></workbook>  </recent>  <!--  more recently viewed views and workbooks  --></tsResponse>

The value ofview-url-name is the name of the view in its URL.For example, if a view namedView 1 shows the URLhttps://MY_SERVER/#/site/MY_SITE/views/VIEW_1in your browser address bar, then the theview-url-name would beVIEW_1.Modifying thename (display name) of a view will not impact theview-url-name(path element of the view's URL).

Version

Version 3.5 and later. For more information, seeREST API and Resource Versions.

Errors

404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl -X GET "https://qa-windows/api/3.5/sites/cd24a433-b66c-46cd-a4af-6cde73db9ee1/content/recent" -H "X-Tableau-Auth: pI8NzKb-S5-Jqiatds8jrQ|GKUYlgHjuHSPSVfS38plFpH31UkHGtNl"

Example response:

<tsResponse >  <recents>    <recent>      <view       name="MySQL PostgresSQL"    contentUrl="my_site1"    createdAt="2019-01-28T20:33:35Z"    updatedAt="2019-01-28T20:44:05Z"viewUrlName="MySQL_PostgresSQL">  <workbook/>  <owner/>  <project/>  <tags/>      </view>    </recent>    <recent>  <workbook       name="Connections-AmazonAurora (1)"    description=""    contentUrl="my_site2"    webpageUrl="https://my_server/#/workbooks/222"    showTabs="false"    size="7"    createdAt="2019-02-13T20:52:37Z"    updatedAt="2019-02-13T20:52:38Z"    encryptExtracts="false"    defaultViewId="d4bed763-1cb1-4924-b455-6a6c298d860d">      <project name="project2"/>      <owner name="my_name"/>      <tags/>  </workbook>    </recent>    <!--  more recently viewed views and workbooks  --%gt;  </recent></tsResponse>

Get User Personal Space

Gets the details of the Personal Space for the currently authenticated user.

Personal Space must be enabled for the site in order to be returned by this method. For more information see,Create and Edit Private Content in Personal Space(Link opens in a new window)

Version: Available in API 3.13 and later.

License: No additional license required.

Permissions: Only the user that owns a Personal Space can get its details.

Access scope:tableau:projects:read

URI

GET /api/api-version/sites/site-id/personalSpace

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the user.

Request Body

none

cURL Example

curl "http://MY-SERVER/api/3.27/sites/7bfb590b-cfa7-4576-8bea-e9cc035/personalSpace -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Response Code

200

 

Response Body

<tsResponse>  <personalSpace    luid="b76c9984-c7a8-4ae4-826d-e08372ad7d61",    ownerLuid="39e76bc4-737f-40c0-bca7-e635fe0e9fd9",    readOnly="false" /></tsResponse>

{  "personalSpace": {  "luid": "b76c9984-c7a8-4ae4-826d-e08372ad7d61",  "ownerLuid": "39e76bc4-737f-40c0-bca7-e635fe0e9fd9",  "readOnly": false  }}

readOnly istrue only if Personal Space is disabled in site settings or the user's role for the site does not allow writing to a Personal Space.

Errors

404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

List Authentication Configurations for Site

List all authentications configurations on the site.

For more information, seeAuthentication(Link opens in a new window) in the Tableau Cloud Help.

Version: Available in API 3.24 (Tableau Cloud November 2024) and later. Not available for Tableau Server.Version Overview(Link opens in a new window)

License: No additional license required.

Permissions: Tableau Cloud site admins only.

JWT Access Scope: Not available.

URI

GET /api/api-version/sites/site-luid/site-auth-configurations

URI Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-luidThe LUID for the site.

Request Body

None

cURL Request Example

curl "https://us-west-2a.online.tableau.com/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/site-auth-configurations" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Response Code

200

Response Body

Copy
<tsResponse>
  <siteAuthConfigurations>
    <siteAuthConfiguration>
      authSetting="OIDC"
      enabled="true"
      idpConfigurationId="00000000-0000-0000-0000-000000000000"
      idpConfigurationName="Initial Salesforce"
      knownProviderAlias="Salesforce"
    </siteAuthConfiguration>
    <siteAuthConfiguration>
      authSetting="SAML"
      enabled="true"
      idpConfigurationId="11111111-1111-1111-1111-111111111111"
      idpConfigurationName="Initial SAML"
    </siteAuthConfiguration>
  </siteAuthConfigurations>
</tsResponse>
Copy
{
"siteAuthConfigurations": [ 
    {
       "authSetting":"OIDC",
       "enabled":"true", 
       "idPConfigurationId":"00000000-0000-0000-0000-000000000000",
       "idPConfigurationName":"Initial Salesforce",
       "knownProviderAlias":"Salesforce"
    },
    {
       "authSetting":"SAML",
       "enabled":"true", 
       "idPConfigurationId":"11111111-1111-1111-1111-111111111111",
       "idPConfigurationName":"Initial SAML"
    }
  ]
}

Notes:

  • Use theidpConfigurationId to specify the authentication method for a user inAdd User to Site andUpdate User methods.

  • TheknownProviderAlias is returned when the authentication type is either Google or Salesforce.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad RequestThe content of the request body is missing or incomplete, or contains malformed XML.
401401002Unauthorized AccessThe authentication token provided in the request header was invalid or has expired.

For more information, seeHandling Errors.

Query Site

Returns information about the specified site, with the option to return information about the storage space and user count for the site.

Note: After you create a resource, the server updates its search index. If you make aquery immediately to see a new resource, the query results might not be up to date.

You can specify the site to delete by using the site ID, the site name, or the content URL. You use thekey query string parameter to indicate how you are specifying the site, as shown in the URIs.

Note: You can only get site information for the site that you have signed in to.

URI

GET /api/api-version/sites/site-id

GET /api/api-version/sites/site-name?key=name

GET /api/api-version/sites/content-url?key=contentUrl

GET /api/api-version/sites/site-id?includeUsage=include-usage-flag

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site to get information for.
site-nameThe name of the site to get information for. If you specify a site name, you must also include the parameterkey=name.
content-urlThe URL of the site to get information for. If you specify a content URL, you must also include the parameterkey=contentUrl.
include-usage-flagThe boolean flag to include site usage metrics in the response body. Iftrue, then the site element of the response will contain ausage node with the attributesnumUsers (number of users) andstorage (storage in megabytes).

To set the flag to include usage in the response, appendincludeUsage=true as a querystring element any valid query site URI.

Request Body

None

Permissions

This method can only be called by server administrators and site administrators.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:sites:read

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).

Response Code

200

Response Body

<tsResponse>  <siteapi-placeholder">site-id"    name="site-name"    contentUrl="content-url"    adminMode="admin-mode"    disableSubscriptions="new-disable-subscriptions"    state="active-or-suspended"    revisionHistoryEnabled="revision-history-enabled-flag"    revisionLimit="revision-limit"    subscribeOthersEnabled="subscribe-others-enabled-flag"    allowSubscriptionAttachments="allow-subcription-attachments-flag"    userQuota="num-users"    guestAccessEnabled="guest-access-enabled-flag"    cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"    commentingEnabled="commenting-enabled-flag"    storageQuota="limit-in-megabytes"    editingFlowsEnabled="editing-flows-enabled-flag"    schedulingFlowsEnabled="scheduling-flows-enabled-flag"    extractEncryptionMode="encryption-mode"    catalogingEnabled="cataloging-enabled-flag"    derivedPermissionsEnabled="derived-permissions-enabled-flag"    requestAccessEnabled="request-access-enabled-flag"    runNowEnabled="run-now-enabled-flag"    usage numUsers="number-of-users"    storage="storage-in-megabytes"    userQuota="all-license-limit-total"    tierCreatorCapacity="creator-license-limit"    tierExplorerCapacity="explorer-license-limit"    tierViewerCapacity="viewer-license-limit"    isDataAlertsEnabled="data-alerts-enabled-flag"    askDataMode="ask-data-mode"    useDefaultTimeZone="default-time-zone-flag"    timeZone="time-zone"    autoSuspendRefreshEnabled="auto-suspend-refresh-enabled-flag"    autoSuspendRefreshInactivityWindow="auto-suspend-refresh-inactivity-window"    explainDataEnabled="explain-data-enabled"    dqwSubscriptionsEnabled="dqw-subscriptions-enabled"    attributeCaptureEnabled="attribute-capture-enabled"/>  </site></tsResponse>

Response Body Details:

  • userQuota,storageQuota, and tiered capacity (tierCreatorCapacity,tierExplorerCapacity,tierViewerCapacity) attributes are only present in the response body if those quotas have been set for the site being queried.
  • attributeCaptureEnabled attribute is present in the response body for Tableau Cloud starting from API version 3.19 (March 2023) and Tableau Server starting from API version 3.25 (Tableau Server 2025.1).

Version

Version 1.0 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
404404000Site not foundThe specified site doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

Command:

curl "http://MY-SERVER/api/3.27/sites/1234abcd-12ab-12ab-12ab-1234abcd1234?includeUsage=true" -X GET \-H "X-Tableau-Auth:ABCD1234abcdABCD|ABCD1234abcdABCDABCD1234abcd-1"

Example response:

<tsResponse>  <site    name="new_site_name"    contentUrl="new_site_url"    adminMode="ContentAndUsers"    storageQuota="100"    disableSubscriptions="true"    state="Active"    revisionHistoryEnabled="true"    revisionLimit="25"    subscribeOthersEnabled="false"    allowSubscriptionAttachments="true"    guestAccessEnabled="false"    cacheWarmupEnabled="true"    commentingEnabled="true"    editingFlowsEnabled="false"    schedulingFlowsEnabled="false"    extractEncryptionMode="enabled"    catalogingEnabled="true"    derivedPermissionsEnabled="false"    requestAccessEnabled ="false"    runNowEnabled="true"    usage numUsers="0" storage="0"    userQuota="4"    tierCreatorCapacity="2"    tierExplorerCapacity="1"    tierViewerCapacity="1"    isDataAlertsEnabled="true"    askDataMode="DisabledByDefault"    useDefaultTimeZone="false"    timeZone="America/Los_Angeles"    explainDataEnabled="true"    dqwSubscriptionsEnabled="false"    attributeCaptureEnabled="false" />  </site></tsResponse>

Command:

curl "http://MY-SERVER/api/3.27/sites/Default?key=name" -X GET \-H "X-Tableau-Auth:ABCD1234abcdABCD|ABCD1234abcdABCDABCD1234abcd-1"

Example response:

<tsResponse>  <site    name="new_site_name"    contentUrl=""    adminMode="ContentAndUsers"    storageQuota="100"    disableSubscriptions="true"    state="Active"    revisionHistoryEnabled="true"    revisionLimit="25"    subscribeOthersEnabled="false"    allowSubscriptionAttachments="true"    guestAccessEnabled="false"    cacheWarmupEnabled="true"    commentingEnabled="true"    editingFlowsEnabled="false"    schedulingFlowsEnabled="false"    extractEncryptionMode="enabled"    catalogingEnabled="true"    derivedPermissionsEnabled="false"    requestAccessEnabled ="false"    runNowEnabled="true"/>    userQuota="4"    tierCreatorCapacity="2"    tierExplorerCapacity="1"    tierViewerCapacity="1"    askDataMode="DisabledByDefault"    useDefaultTimeZone="false"    timeZone="America/Los_Angeles" />  </site></tsResponse>

Query Sites

Returns a list of the sites on the server that the caller of this method has access to. This method is not available for Tableau Cloud.

Note: After you create a resource, the server updates its search index. If you make a query immediately to see a new resource, the query results might not be up to date.

URI

GET /api/api-version/sites

GET /api/api-version/sites?pageSize=page-size&pageNumber=page-number

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
page-size(Optional) The number of items to return in one response. The minimum is 1. The maximum is 1000. The default is 100. For more information, seePaginating Results.
page-number(Optional) The offset for paging. The default is 1. For more information, seePaginating Results.

Request Body

None

Permissions

This method can be called by all users. The method only returns the sites that the user has access to.

Required scope for JWT authorization

Introduced in Tableau Server 2022.3 (API 3.17).

tableau:sites:read

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).

Response Code

200

Response Body

<tsResponse>  <pagination pageNumber="pageNumber"pageSize="page-size"totalAvailable="total-available" />  <sites><site      name="site-name"      contentUrl="content-url"      adminMode="admin-mode"      disableSubscriptions="disable-subscriptions-flag"      userQuota="num-users"      storageQuota="limit-in-megabytes"      state="active-or-suspended"      statusReason="reason-for-state"      revisionHistoryEnabled="revision-history-flag"      revisionLimit="num-revisions"      subscribeOthersEnabled="subscribe-others-flag"      allowSubscriptionAttachments="allow-subcription-attachments-flag"      guestAccessEnabled="guest-access-enabled-flag"      cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"      commentingEnabled="enable-commenting-flag"      editingFlowsEnabled="editing-flows-enabled-flag"      schedulingFlowsEnabled="scheduling-flows-enabled-flag"      extractEncryptionMode="extract-encryption-mode"      catalogingEnabled="enable-cataloging-flag"      derivedPermissionsEnabled="derived-permissions-enabled-flag"      requestAccessEnabled ="request-access-enabled-flag"      runNowEnabled="run-now-enabled-flag"      isDataAlertsEnabled="data-alerts-enabled-flag"      askDataMode="ask-data-mode"      useDefaultTimeZone="default-time-zone-flag"      timeZone="time-zone"      explainDataEnabled="explain-data-enabled"      dqwSubscriptionsEnabled="dqw-subscriptions-enabled" /><!--   ... additional sites ... -->  </sites></tsResponse>

The response for users without administrative permissions contains only the siteid,name, andcontent-url attributes.

Version

Version 1.0 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400006Invalid page numberThe page number parameter is not an integer, is less than one, or is greater than the final page number for the sites at the requested page size.
400400007Invalid page sizeThe page size parameter is not an integer, or is less than one.
403403014Page size limit exceededThe specified page size is larger than the maximum page size.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites?pageSize=1&pageNumber=1" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"

Example response:

<tsResponse>  <pagination pageNumber="1"    pageSize="1"    totalAvailable="2"/>  <sites>    <site    name="Default"    contentUrl=""    adminMode="ContentAndUsers"    disableSubscriptions="true"    state="Active"    revisionHistoryEnabled="true"    revisionLimit="25"    subscribeOthersEnabled="false"    allowSubscriptionAttachments="true"    guestAccessEnabled="true"    cacheWarmupEnabled="true" [REMOVED IN API 3.19]    commentingEnabled="true"    editingFlowsEnabled="false"    schedulingFlowsEnabled="false"    extractEncryptionMode="enabled"    catalogingEnabled="true"    derivedPermissionsEnabled="false"    requestAccessEnabled ="false"    runNowEnabled="true"    isDataAlertsEnabled="true"    askDataMode="DisabledByDefault"    useDefaultTimeZone="false"    timeZone="America/Los_Angeles"    explainDataEnabled="true"    dqwSubscriptionsEnabled="false" />  </sites></tsResponse>

Query Views for Site

Returns all the views for the specified site, optionally including usage statistics.

Note: After you create a resource, the server updates its search index. If you make a query immediately to see a new resource, the query results might not be up to date.

Version: Available in API 2.2 and later.

License: No additional license required.

Permissions: For users who are not server administrators or site administrators, the method returns only the views that the user owns or hasRead permissions for (either explicitly or implicitly).

Access Scope:tableau:content:read

URI

GET /api/api-version/sites/site-id/views

GET /api/api-version/sites/site-id/views?includeUsageStatistics=get-usage-information

GET /api/api-version/sites/site-id/views?pageSize=page-size&pageNumber=page-number

GET /api/api-version/sites/site-id/views?includeUsageStatistics=get-usage-information&pageSize=page-size&pageNumber=page-number

GET /api/api-version/sites/site-id/views?filter=filter-expression

GET /api/api-version/sites/site-id/views?sort=sort-expression

GET /api/api-version/sites/site-id/views?fields=field-expression

Parameter Values

api-versionThe version of the API to use, such as2.2. For more information, seeREST API and Resource Versions.
site-idThe ID of the site that contains the views.
get-usage-information(Optional)true to return usage statistics. The default isfalse.
page-size(Optional) The number of items to return in one response. The minimum is 1. The maximum is 1000. The default is 100. For more information, seePaginating Results.
page-number(Optional) The offset for paging. The default is 1. For more information, seePaginating Results.
filter-expression(Optional) Fields and operators that you can use to filter results. For more information, seeFilter expressions.
sort-expression(Optional) Field and direction to sort results. For more information, seeSorting.
field-expression(Optional) An expression that lets you specify the set of available fields to return. You can qualify the return values based upon predefined keywords such as_all_ or_default_, and you can specify individual fields for the workbooks or other supported resources. You caninclude multiple field expressions in a request. For more information, seeUsing Fields in the REST API.

Note: Thefilter andsort parameters can be combined with each other and with paging parameters andfields parameters using an ampersand (&).

Request Body

None

cURL Request

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/views" -X GET -H "X-Tableau-Auth:1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d"

Response Code

200

Response Body

<tsResponse>  <pagination pageNumber="1" pageSize="100" totalAvailable="2" />  <views>    <view name="Economic Indicators"         contentUrl="Finance/sheets/EconomicIndicators">      <workbook />      <owner />    </view>    <view name="Investing in the Dow"          contentUrl="Finance/sheets/InvestingintheDow">      <workbook />      <owner />    </view>  </views></tsResponse>

{  "pagination": {    "pageNumber": "1",    "pageSize": "100",    "totalAvailable": "2"  },  "views": [    {      "id": "1f1e1d1c-2b2a-2f2e-3d3c-3b3a4f4e4d4c",      "name": "Economic Indicators",      "contentUrl": "Finance/sheets/EconomicIndicators",      "workbook": {        "id": "1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d"      },      "owner": {        "id": "9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d"      }    },    {      "id": "9a8a7b6b-5c4c-3d2d-1e0e-9a8a7b6b5b4b",      "name": "Investing in the Dow",      "contentUrl": "Finance/sheets/InvestingintheDow",      "workbook": {        "id": "59a8a7b6-be3a-4d2d-1e9e-08a7b6b5b4ba"      },      "owner": {        "id": "9f8e7d6c5-b4a3-f2e1-d0c9-b8a7f6e5d4c"      }    }  ]}

The<usage> element is included in the response only if the method hasincludeUsageStatistics=true in the URI.

Errors

HTTP statuserror CodeConditionDetails
400400006Invalid page number The page number parameter is not an integer, is less than one, or is greater than the final page number for data sources at the requested page size.
400400007Invalid page sizeThe page size parameter is not an integer, or is less than one.
400400008Invalid parameter valueTheincludeUsageStatistics was provided with a value other thantrue orfalse.
403403004Read forbiddenA non-administrator user attempted to query workbook views, but the caller doesn't haveRead permission.
403403014Page size limit exceededThe specified page size is larger than the maximum page size.
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
405405000Invalid request methodRequest type was notGET.

For more information, seeHandling Errors.

Update Embedding Settings for Site

Updates the embedding settings for a site. Embedding settings can be used to restrict embedding Tableau views to only certain domains.

This setting impacts all embedding scenarios including Tableau Javascript API v2, Embedding API v3, and the embed code from the share dialog. For more information, seeTableau Site Settings for Embedding(Link opens in a new window) in the Tableau Embedding API v3 Help.

Beginning in version 2023.2 (June 2023) for Tableau Cloud and in version 2023.3 for Tableau Server, this setting might impact embedding scenarios that use Tableau connected apps. For more information, see the "Control where content can be embedded" section in the connected apps topics in theTableau Cloud Help(Link opens in a new window) orTableau Server Help(Link opens in a new window).

URI

PUT /api/api-version/sites/site-id/settings/embedding

Path Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site to update.

Request Body

<tsRequest>  <site>    <settings unrestrictedEmbedding="true/false"     allowList="domain-list"/>  </site></tsRequest>

Example request:

<tsRequest>   <site>     <settings unrestrictedEmbedding="false"      allowList="mydomain.com"/>    </site></tsRequest>

Request Attribute Values

unrestricted-embedding

(Optional) Specifies whether or not embedding is restricted.

When the setting is set to true, Tableau views on this site can be embedded in any domain.

When set to false, embedding is blocked for all domains, but you can allow embedding in certain domains using theallowList attribute.

allow-list

(Optional) Specifies the domains where Tableau views on this site can be embedded. Use this setting withunrestrictedEmbedding setting to restrict embedding functionality to only certain domains.

Important: We recommend using the domain allowlist as a security best practice to ensure Tableau content is only embedded in locations that you allow.

You can use wildcards in domain names and you can also list multiple domain names separated by spaces.

Permissions

Any Tableau Cloud or Tableau Server user can call this method.

Access Scope

Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).

tableau:embedding_site_settings: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).

Response Code

200

Response Body

<tsResponse>  <siteapi-placeholder">site-id"settings unrestrictedEmbedding="true-or-false"allowList="domain-allow-list/>  </site></tsResponse>

Example response:

<tsResponse>      <settings unrestrictedEmbedding="false"allowList="mydomain.com" />    </site></tsResponse>

Version

Version 3.16 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400000Bad RequestThe content of the request body is missing or incomplete, or contains malformed XML.
403403500The user does not have permission

Tableau Cloud: Only site administrators can run this method.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d5-e4f3-a2b1-c0d9-e8f7a6b5c4d/settings/embedding" -X PUT -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd" -d @update-sembedding-settings.xml

Content of update-embedding-settings.xml:

<tsRequest>   <site>     <settings unrestrictedEmbedding="false"      allowList="mydomain.com"/>    </site></tsRequest>

For more information, seeHandling Errors.

Update Site

Modifies settings for the specified site, including the content URL, administration mode, user quota, state (active or suspended), storage quota, whether flows are enabled, whether subscriptions are enabled, and whether revisions are enabled.

Note: You must be signed in to a site to update it.

URI

PUT /api/api-version/sites/site-id

Parameter Values

api-versionThe version of the API to use, such as3.27. For more information, seeREST API and Resource Versions.
site-idThe ID of the site to update.

Request Body

Updating individual settings

<tsRequest>  <site name="new-site-name"    contentUrl="new-content-url"    adminMode="new-admin-mode"    storageQuota="limit-in-megabytes"    disableSubscriptions="new-disable-subscriptions"    state="new-state"    revisionHistoryEnabled="revision-history-enabled"    revisionLimit="revision-limit"    allowSubscriptionAttachments="allow-subcription-attachments-flag"    subscribeOthersEnabled="subscribe-others-enabled-flag"    guestAccessEnabled="guest-access-enabled-flag"    cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"    commentingEnabled="commenting-enabled-flag"    editingFlowsEnabled="editing-flows-enabled-flag"    schedulingFlowsEnabled="scheduling-flows-enabled-flag"    extractEncryptionMode="extractEncryptionMode"    dataAccelerationMode="dataAccelerationMode"    requestAccessEnabled="request-access-enabled-flag"    runNowEnabled="run-now-enabled-flag"    userQuota="all-license-limit-total"    tierCreatorCapacity="creator-license-limit"    tierExplorerCapacity="explorer-license-limit"    tierViewerCapacity="viewer-license-limit"    dataAlertsEnabled="data-alerts-enabled-flag"    commentingMentionsEnabled="commenting-mentions-enabled-flag"    catalogObfuscationEnabled="catalog-obfuscation-enabled-flag"    flowAutoSaveEnabled="flow-auto-save-enabled-flag"    runNowEnabled="run-now-enabled-flag"    metricsContentTypeEnabled="metrics-content-type-enabled-flag"    notifySiteAdminsOnThrottle="notify-site-admins-on-throttle-flag"    authoringEnabled="authoring-enabled-flag"    customSubscriptionEmailEnabled="custom-subscription-email-enabled-flag"    customSubscriptionEmail="custom-subscription-email"    customSubscriptionFooterEnabled="custom-subscription-footer-enabled-flag"    customSubscriptionFooter="custom-subscription-footer"    askDataMode="ask-data-mode"    namedSharingEnabled="named-sharing-enabled-flag"    catalogingEnabled="cataloging-enabled-flag"    derivedPermissionsEnabled="derived-permissions-enabled-flag"    userVisibilityMode="user-visibility-mode"    useDefaultTimeZone="default-time-zone-flag"    timeZone="time-zone"    autoSuspendRefreshEnabled="auto-suspend-refresh-enabled-flag"    autoSuspendRefreshInactivityWindow="auto-suspend-refresh-inactivity-window"    explainDataEnabled="explaindataenabled"    dqwSubscriptionsEnabled="dqwsubscriptionsenabled"    attributeCaptureEnabled="attribute-capture-enabled"    groupAssertionsEnabled="group-assertions-enabled-flag"    groupAssertionsSAMLEnabled="group-assertions-saml-enabled-flag"    groupAssertionsOIDCEnabled="group-assertions-oidc-enabled-flag"    groupAssertionsConnectedAppsEnabled="group-assertions-connected-apps-enabled-flag"    groupSetsEnabled="group-sets-enabled-flag"    recycleBinEnabled="recycle-bin-enabled-flag" /></tsRequest>

Updating the site logo

To set a new site logo, you pass a multi-part payload to the site. In addition to setting theX-Tableau-Auth header to the sign-in token, you must set theContent-Type header tomultipart/mixed and include a boundary string. For example, the header might look like the following example:

Content-Type: multipart/mixed; boundary=az1by2cx34dw

The request body starts with the string you specify as the boundary. This is followed by two headers. You setContent-Disposition header toform-data, and then aname value set tosite_logo and afilename value. You must also include aContent-Type header set toapplication/octet-stream. After the headers, you include a blank line then the binary data (not encoded). The binary data is followed by a line that includes the boundary string and the two required termination hyphens (--).

The following example shows the request body using the boundary string that was specified in the example header earlier.

--az1by2cx34dw Content-Disposition: form-data; name="site_logo"; filename="new-site-logo.png" Content-Type: application/octet-stream  <binary data here> --az1by2cx34dw--

Restoring the default site logo

To restore the default site logo, you pass a multi-part payload to the site, as you do to set the logo. However, instead of passing binary data for the image, you pass an empty image. And instead of setting theContent-Type header in the body toapplication/octet-stream, you set the content type totext/plain.

The following example shows the request body using the boundary string that was specified in the example header earlier.

--az1by2cx34dw Content-Disposition: form-data; name="site_logo"; filename="empty.txt" Content-Type: text/plain   --az1by2cx34dw--

Attribute Values

new-site-name(Optional) The new name of the site.
new-content-url(Optional) The new site URL. This value can contain only characters that are valid in a URL. These characters include letters (A-Z, a-z), digits (0-9), hyphens ("-"), and underscores ("_") If you provide invalid characters, those characters are stripped from the URL and the site is created anyway. For example, if you try to set the site URL astest.site, it's converted totestsite and returned in the response. The response's site URL namespace is the authoritative source of truth for the new site URL.
new-admin-mode(Optional) SpecifyContentAndUsers to allow site administrators to use the server interface andtabcmd commands to add and remove users. (Specifying this option doesn't give site administrators permissions to manage users using the REST API.) SpecifyContentOnly to prevent site administrators from adding or removing users. (Server administrators can always add or remove users.)

Note: You cannot setadminMode toContentOnly and also set auserQuota value.The default value isContentAndUsers.

new-state(Optional)Active to set the site to active mode, orSuspended to suspend the site. Default isActive.
new-storage-quota(Optional) The new maximum amount of space for the new site, in megabytes. If you set a quota and the site exceeds it, publishers will be prevented from uploading new content until the site is under the limit again.
new-disable-subscriptions(Optional)true to prevent users from being able to subscribe to workbooks on the specified site. Default isfalse.
revision-history-enabled(Optional)true if the site maintains revisions for changes to workbooks and data sources; otherwise,false. The default isfalse.
revision-limit(Optional) An integer between 2 and 10000 to indicate a limited number of revisions for content.

Setting this value to -1 removes any value that was set previously, and effectively removes any limit to the number of revisions that are maintained.

allow-subscription-attachments-flag

(Optional) Iftrue, and subscription to attachments is enabled on the server, then users can create subscriptions that send an email with images of a workbook or view in a PDF attachment. The default value istrue. If subscription to attachments is disabled in the server settings, then making this valuetrue will have no effect.Default istrue.

subscribe-others-enabled-flag

(Optional) Specifytrue to enable andfalse to disable the ability for view owners to subscribe other users to a view.Default istrue.

editing-flows-enabled-flag

(Optional) Specifytrue to enable andfalse to disable editing flows for a site. For more information on flows, seeEnable and Configure Tableau Prep Conductor(Link opens in a new window).

The default is set totrue, which means editing flows is enabled by default. For more information, seeImplication of disabling Tableau Prep Conductor.

scheduling-flows-enabled-flag

(Optional) Specifytrue to enable andfalse to disable scheduling flows for a site. For more information on flows, seeEnable and Configure Tableau Prep Conductor(Link opens in a new window).

The default is set totrue, which means scheduling flows is enabled by default. For more information, seeImplication of disabling Tableau Prep Conductor.

flows-enabled-flag

TheflowsEnabled attribute is deprecated as of API 3.10.

guest-access-enabled-flag

(Optional) Specifytrue to enable andfalse to disable the ability for guests, users without specific site access permission, to access the site.Default isfalse.

cache-warmup-enabled-flag

This attribute was removed in API 3.19 and later. For currentmethods to improve Tableau performance see,View Acceleration(Link opens in a new window).

(Optional) Set this value totrue to enable cache warm up toimprove workbook load times. Set the value tofalse to disable cache warmup.Default istrue.

commenting-enabled-flag

(Optional) Specifytrue to enable andfalse to disable the ability for user comments on views in the site.Default istrue.

extractEncryptionMode

(Optional) Specifyenforced,enabled, ordisabled.Default isdisabled. For more information, seeExtract and Encryption Methods.

dataAccelerationMode

(Optional) Specifyenable_selective ordisabled. The default isenable_selective, which lets you update particular workbooks to turn on data acceleration using theaccelerationEnabled attribute. For more information, seeData Acceleration.(Data acceleration is not available in Tableau Server 2022.1 (API 3.16) and later. SeeView Acceleration(Link opens in a new window).)

requestAccessEnabled(Optional) Specifytrue to allow users send access request emails to content or project owners. Specifyfalse if you don't want users to be able to request access. The default isfalse.
runNowEnabled

(Optional) Specifytrue to allow users to run flows, extract refreshes, and schedules manually. Specifyfalse if you don't want users to be able to run flows, extract refreshes, and subscriptions manually. The default istrue. If this attribute is set tofalse, the following methods will fail and will return an error message.

Run Flow Now

Run Flow Task(Link opens in a new window)

Update Data Source Now(Link opens in a new window)

Run Extract Refresh Task(Link opens in a new window)

Licensing attributes

For user-based license types, the maximum number of users is set by the licenses activated on that server.For core-based licensing, there's no limit to the number of users; if you specify a maximum value, only licensedusers are counted, and server administrators are excluded.

The REST API enables administrators to set licensinglimits below the purchased maximum with two types of license-related attributes:
- User Quota - The total maximum number of licenses currently configured for a site.
- Tiered Capacities - If set, the configured maximum license count for each license type (role).

. An on-premises server administrator can both get and set thembut if license maximums are set using one attribute kind then the value(s) of the other kind must be null. Settingvalues for both kinds of attributes will result in an error.

For more information, seeLicensing Overview(Link opens in a new window).

User quota

all-license-limit-total

(Optional) The maximum total number of users with Creator, Explorer, or Viewer licenses currently allowed on a site.

On-premises server administrators can setuserQuota with the following rules: The number can'texceed the number of licenses activated for the site; and if tiered capacity attributes are set, thenuserQuota will equal the sum of the tiered capacity values, and attempting to setuserQuota will cause an error.

An administrator can revert the license limit to number of activated licenses on the site, or shift control of licenselimits to tiered capacities values, by omittinguserQuota from a Create Site or Update Site request, ormaking its value -1.

Tiered capacity attributes

creator-license-limit
explorer-license-limit
viewer-license-limit

(Optional) The maximum number of licenses for users with the Creator,Explorer, or Viewer role, respectively, allowed on a site.

On-premises server administrators can set tiered capacity attributes with the following rules: the number can'texceed the number of licenses of a given type that are activated for the site; a value must be supplied forevery tiered capacity license type every time any one or more of them is set.

A value of -1 removes the administrator-applied limit for a license type, and reverts the limit to the number ofactivated licenses configured for the role. Setting the value of a tiered capacity to -1 will not automaticallyincrease the limit if more licenses are purchased and activated for the role in the future.

To use role-specific license limits, theuserQuota must be set to null by omitting the attribute fromCreate Site or Update Site request, or setting its value to -1. Attempting to set values for both tiered capacitiesanduserQuota will result in an error.

data-alerts-enabled-flag

(Optional, boolean) Iftrue, data alerts are enabled on the site. Default value istrue.

commenting-mentions-enabled-flag

(Optional, boolean) Iftrue, mentions for commenting are enabled. Default value istrue.

catalog-obfuscation-enabled-flag

(Optional, boolean) Iftrue, catalog obfuscation is enabled on the site. Default value istrue.

flow-auto-save-enabled-flag

(Optional, boolean) Iftrue, flow auto save is enabled on the site. Default value istrue.

run-now-enabled-flag

(Optional, boolean) Iftrue, run now for schedules is enabled which allows non-administrators to run schedules manually. Default value istrue.

metrics-content-type-enabled-flag

(Optional, boolean) Iftrue, the metrics content type is enabled on the server. Default value isfalse.

notify-site-admins-on-throttle-flag

(Optional, boolean) Iftrue, site admins will be notified if their background jobs are being throttled. Default value isfalse.

authoring-enabled-flag

(Optional, boolean) Iftrue, web authoring is enabled. Default value isfalse.

custom-subscription-email-enabled-flag

(Optional, boolean) Iftrue, sending custom subscription email is enabled. If set to false after being set true, the current custom subscription email is voided. Default value isfalse.

custom-subscription-email

A valid custom email that will be sent ifcustomSubscriptionEmailEnabled is set to true. Default value isfalse.

custom-subscription-footer-enabled-flag

(Optional, boolean) Iftrue, a custom footer will be included on subscription and data alert emails. If set to false after being set true, the current custom subscription footer is voided. Default value isfalse.

custom-subscription-footer

A custom subscription footer that will be added to subscription and data alerts ifcustomSubscriptionFooterEnabled is set to true. Default value isfalse.

ask-data-mode

The mode of the ask data feature on the site. Can be set to one of two values:
  • DisabledByDefault - Enables creation of Ask Data lenses for all published data sources. Data sources do not have lenses created automatically.
  • DisabledAlways - Disables Ask Data lenses and related content throughout the site. Preserves information about lenses and data source indexes, which are restored if Ask Data is re-enabled.
Default value isDisabledByDefault. For more information, seeDisable or Enable Ask Data for a Site(Link opens in a new window).

named-sharing-enabled-flag

(Optional, boolean) Iftrue, named sharing is enabled. Default value istrue.

cataloging-enabled-flag

(Optional, boolean) Iftrue, data catalog is enabled for the site. Default value istrue.

derived-permissions-enabled-flag

(Optional, boolean) Iftrue, derived permissions are enabled for the site. Default value isfalse.

user-visibility-mode

(Optional, string) When the value isFULL users can see the user of other site users. If the value isLIMITED User information on the site is not visible to other users. Default value isFULL. For more information, seeUser Visibility(Link opens in a new window).
use-default-time-zone(Optional, boolean) Set this totrue, if you want thetime-zone attribute use the Server time Zone at run time. This attribute is set to official IANA name.  If this is set tofalse, thetime-zone value must be specified.
time-zone(Optional, string) Use this attribute to specify a time zone other than the Server time zone at run time. Only canonical names in the official IANA database are supported. You can find the list of the canonical time zone names onWikipedia.
autoSuspendRefreshEnabled(Optional) Tableau can automatically suspend extract refresh tasks for inactive workbooks to save resources. Specify true to enable or false to disable. Default is true.
autoSuspendRefreshInactivityWindow(Optional) An integer between 7 and 100 to indicate the number of days to wait before automatically suspending extract refresh tasks for inactive workbooks. The default is 30.
explainDataEnabled

(Optional, boolean) Set this attribute tofalse to disable Explain Data capabilities for a site. By default, this attribute is set totrue. For more information about this site setting, seeDisable or Enable Explain Data for a Site(Link opens in a new window) in the Tableau Server Help.

dqwSubscriptionsEnabled

(Optional, boolean) Set this attribute tofalse to exclude data quality warnings (DQWs) from subscription emails. By default, this attribute is set totrue. For more information about this site setting, seeDisable or Enable Explain Data for a Site(Link opens in a new window) in the Tableau Server Help.

attribute-capture-enabled

(Optional, boolean) Set this attribute totrue to enable user attribute functions used in embedded content to accept the passing of user attributes from a JSON Web Token (JWT) via Tableau connected apps. The user attributes are passed to Tableau at runtime to control and customize the data that can show for an authorized user. By default, this attribute is set tofalse. For more information, seeTableau Embedding API v3(Link opens in a new window) Help. This attribute is available starting from API version 3.25.

Starting in October 2025 (API version 3.27), you can also use this attribute to pass user information about your identity provider to Tableau Cloud. During single sign-on (SSO), user attribute functions in Tableau content can accept attributes from OIDC claims or SAML assertions. For more information, seeOIDC(Link opens in a new window) orSAML(Link opens in a new window) topics in the Tableau Cloud Help.

groupAssertionsEnabled(Optional) Set totrue to allow assertions into group membership using session info. Set tofalse if you don't want users to be able to be asserted in to groups. The default isfalse. If this attribute is set to false, it will disable group assertions for the entire site, including the following settings:
  • groupAssertionsSAMLEnabled
  • groupAssertionsOIDCEnabled
  • groupAssertionsConnectedAppsEnabled
groupAssertionsSAMLEnabled(Optional, boolean) Set totrueto allow assertions into group membership using SAML session info. Set tofalseif you don't want users to be able to be asserted in to groups. The default isfalse. If this attribute is set to false, it will disable group assertions for SAML sessions.
groupAssertionsOIDCEnabled(Optional, boolean) Set totrueto allow assertions into group membership using OIDC session info. Set tofalseif you don't want users to be able to be asserted in to groups. The default isfalse. If this attribute is set to false, it will disable group assertions for OIDC sessions.
groupAssertionsConnectedAppsEnabled (Optional, boolean) Set totrueto allow assertions into group membership using Connected App JWT tokens. Set tofalseif you don't want users to be able to be asserted into groups via connected apps. The default isfalse. If this attribute is set to false, it will disable group assertions for JWT connected app connections.
groupSetsEnabled(Optional, boolean) Set totrue to allow groups sets. Set tofalse if you don't want group sets support for the site. The default isfalse. If this attribute is set to false, it will disable group sets for the site.
recycleBinEnabled(Optional, boolean) Set totrue to enable the Recycle Bin. Set tofalse to disable it. The default istrue.

Any combination of the attributes inside the<site> element is valid. Only the attributes that are included are updated for the site. If no attributes are present, no update occurs. To update only the logo, include an empty<site> element (<site />) and the logo in the multipart message.

Starting in API version 2.3, you can callUpdate Site to upload a custom logo image for the site. (For information about custom logos, seeCustom the Name or Logo(Link opens in a new window) in the Tableau Server Help.)

To upload a logo image, you include the image in a multipart message; this is similar to how you publish a workbook or data source. You must include the following headers in the request:

  • MIME-Version: 1.0

  • Content-Type: multipart/mixed; boundary=boundary-string

  • X-Tableau-auth:authentication-token

The following example shows the request body for anUpdate Site request that updates the site with a new logo. For this example, the boundary string has been set in the header to6691a87289ac461bab2c945741f136e6. The<site> element can be empty if you're callingUpdate Site only to update the logo image.

--6691a87289ac461bab2c945741f136e6 Content-Disposition: name="request_payload" Content-Type: text/xml  <tsRequest>   <sitesite attributes >   </site> </tsRequest> --6691a87289ac461bab2c945741f136e6 Content-Disposition: name="site_logo"; filename="MySiteLogo.png" Content-Type: application/octet-streamlogo stream here --6691a87289ac461bab2c945741f136e6--

To clear a custom logo image and revert to using the default logo for the site, callUpdate Site with a multipart message, but leave the portion of the request body blank where you would normally include the logo stream.

For more information about creating multipart messages, seePublishing Resources.

Permissions

Tableau Server: This method can only be called by server administrators.

Required scope for JWT authorization

Introduced in Tableau Cloud June 2022 (API 3.16) and Tableau Server 2022.3 (API 3.17).

tableau:sites: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).

Response Code

200

Response Body

<tsResponse>  <siteapi-placeholder">site-id"    name="site-name"    contentUrl="content-url"    adminMode="admin-mode"    storageQuota="limit-in-megabytes"    disableSubscriptions="true-or-false"    state="active-or-suspended"    revisionHistoryEnabled="true-or-false"    revisionLimit="revision-limit"    allowSubscriptionAttachments="allow-subcription-attachments-flag"    cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"    commentingEnabled="commenting-enabled-flag"    editingFlowsEnabled="editing-flows-enabled-flag"    schedulingFlowsEnabled="scheduling-flows-enabled-flag"    catalogingEnabled="cataloging-enabled-flag"    derivedPermissionsEnabled="derived-permissions-enabled-flag"    requestAccessEnabled="request-access-enabled-flag"    runNowEnabled="run-now-enabled-flag"    userQuota="all-license-limit-total"    tierCreatorCapacity="creator-license-limit"    tierExplorerCapacity="explorer-license-limit"    tierViewerCapacity="viewer-license-limit"    askDataMode="ask-data-mode"    useDefaultTimeZone="default-time-zone-flag"    timeZone="time-zone"    autoSuspendRefreshEnabled="auto-suspend-refresh-enabled-flag"    autoSuspendRefreshInactivityWindow="auto-suspend-refresh-inactivity-window"    explainDataEnabled="explain-data-enabled"    dqwSubscriptionsEnabled="dqw-subscriptions-enabled"    attributeCaptureEnabled="attribute-capture-enabled"    groupAssertionsEnabled="group-assertions-enabled-flag"    groupAssertionsSAMLEnabled="group-assertions-saml-enabled-flag"    groupAssertionsOIDCEnabled="group-assertions-oidc-enabled-flag"    groupAssertionsConnectedAppsEnabled="group-assertions-connected-apps-enabled-flag"    groupSetsEnabled="group-sets-enabled-flag"    recycleBinEnabled="recycle-bin-enabled-flag" />  </site></tsResponse>

Response Body Details:

  • userQuota,storageQuota, and tiered capacity (tierCreatorCapacity,tierExplorerCapacity,tierViewerCapacity) attributes are only present in the response body if those quotas have been set for the site being queried.

Version

Version 1.0 and later. For more information, seeREST API and Resource Versions.

Errors

HTTP statuserror CodeConditionDetails
400400008Invalid revision history limitThe value for the revision history limit isn't an integer.
400400000Bad requestThe content of the request body is missing or incomplete, or contains malformed XML.
400400004Invalid administrator mode An administrator mode parameter was provided in the request with an invalid value. The valid values areContentOnly andContentAndUsers.
400400004Invalid stateA state parameter was provided in the request with an invalid value
404404000Site not foundThe site ID in the URI doesn't correspond to an existing site.
405405000Invalid request methodRequest type wasn'tPUT.
409409001Site name conflictThe new site name in the request already belongs to an existing site.
409409002Site URL conflictThe new content URL in the request already belongs to an existing site.
409409004User quota and tiered capacity conflictThe request can't set both tiered capacity attributes anduserQuota. One or the other must be null.
409409004License limit exceededThe request can't set tiered capacity attributes oruserQuota values that are larger than the number of active licenses configured for the site.
409409004Administrator mode or user quota conflictThe request can't setadminMode toContentOnly and also specify auserQuota value.

For more information, seeHandling Errors.

Example

curl "http://MY-SERVER/api/3.27/sites/9a8b7c6d5-e4f3-a2b1-c0d9-e8f7a6b5c4d" -X PUT -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd" -d @update-site.xml

Content of update-site.xml:

<tsRequest>  <site    adminMode="ContentOnly"    storageQuota="1000"    tierCreatorCapacity="2"    tierExplorerCapacity="1"    tierViewerCapacity="1"    useDefaultTimeZone="false"    timeZone="America/Los_Angeles" /></tsRequest>

Example response:

<tsResponse<  <site    name="Default"    contentUrl="svc_licensingtest"    adminMode="ContentAndUsers"    disableSubscriptions="false"    state="Active"    revisionHistoryEnabled="true"    revisionLimit="25"    subscribeOthersEnabled="true"    allowSubscriptionAttachments="true"    guestAccessEnabled="false"    cacheWarmupEnabled="true" [REMOVED IN API 3.19]    commentingEnabled="true"    editingFlowsEnabled="false"    schedulingFlowsEnabled="false"    extractEncryptionMode="disabled"    catalogingEnabled="true"    derivedPermissionsEnabled="true"    askDataMode="DisabledByDefault"    useDefaultTimeZone="false"    timeZone="America/Los_Angeles"    explainDataEnabled="true"    dqwSubscriptionsEnabled="false"</tsResponse>


Back to top
Thanks for your feedback!Your feedback has been successfully submitted. Thank you!

[8]ページ先頭

©2009-2025 Movatter.jp