---
schema_version: "1"
id: b9812a0a96cac52a28f9f0545cb2bc5bb65be606b0fde69879f992e946b4468d
title: Server Methods
collection: tableau
version: next
locale: en-us
portal_url: https://docs.salesforce.com/tableau/next/en-us/api/rest_api/REST/rest_api_ref_server.md
canonical_url: https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_ref_server.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 8560a8c57e1a0a5f03ebff11de0f2f9486bd54f3f025d23b4c61042de6bc005e
description: "Using the server method of the Tableau Server REST API you can:"
---
[Skip to main content](#main-content)

# Server Methods

Using the server method of the Tableau Server REST API you can:

- Get the current version of Tableau Server and REST API.
- Get the details of the current Tableau Server session.
- Delete a specified server session.
- List the Active Directory domains in use by a server.
- Change the domain name and nickname of a specified Active Directory domain in use by a server.

## Use Postman

Our Postman collection of requests enables you to construct, send, and examine HTTP requests to the Tableau Server or Tableau Cloud API without writing initial code. Postman is a free online app used by many developers for prototyping API calls, investigating issues, and generating request code in a variety of languages.

[Postman: Server](https://www.postman.com/salesforce-developers/salesforce-developers/folder/2y3eww5/server)

## Delete Server Session

Deletes a specified session. This method is not available for Tableau Cloud and is typically used in programmatic management of the life cycles of embedded Tableau sessions.

#### URI

DELETE api/_api-version_/sessions/_session-id_

#### Parameter Values

<table class="api-parameters-table">
                            <colgroup>
                                <col class="api-parameters-table-col-1-wide">
                                <col>
                            </colgroup>
                            <tbody>
                                <tr>
                                    <td><span class="api-placeholder">api-version</span>
                                    </td>
                                    <td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td>
                                </tr>
                                <tr>
                                    <td><span class="api-placeholder">session-id</span>
                                    </td>
                                    <td>
                                        <p>The unique ID of the session to be deleted. A session's ID and other metadata can be queried from the Tableau Server Postgres repository.</p>
                                        <p class=".note--important">Reading the Postgres repository excessively can impact performance and that writing directly to the repository is not supported in any form. For more information, see <a href="https://help.tableau.com/current/server/en-us/perf_collect_server_repo.htm">Collect Data with the Tableau Server Repository</a> and <a href="https://github.com/tableau/tableau-data-dictionary">Tableau Server Postgres Data Dictionary</a>.</p>
                                    </td>
                                </tr>
                            </tbody>
                        </table>

#### 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:sessions:delete
```

For more information, see [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud) and access scopes for connected apps: [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm), or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

#### Response Code

204

#### Response Body

None

#### Version

Version 3.9 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2" style="width: 87px;"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>The content of the request body is missing or incomplete, or contains malformed XML.</td></tr><tr><td>400</td><td>400105</td><td>Session delete error</td><td>An unknown error occurred and the session could not be deleted.</td></tr><tr><td>401</td><td>401000</td><td>Unauthorized access</td><td>No authorization credentials were provided.</td></tr><tr><td>401</td><td>401002</td><td>Unauthorized access</td><td>Invalid authorization credentials were provided.</td></tr><tr><td>404</td><td>404000</td><td>Resource not found</td><td>The site ID in the URI doesn't correspond to an existing site.</td></tr><tr><td>404</td><td>404029</td><td>Content not found</td><td>The requested asset could not be found.</td></tr></tbody></table>

## Get Current Server Session

Returns details of the current session of Tableau Server.

#### URI

GET /api/api-version/sessions/current

#### Parameter Values

<table class="api-parameters-table">
                                <colgroup>
                                    <col class="api-parameters-table-col-1">
                                    <col>
                                </colgroup>
                                <tbody>
                                    <tr>
                                        <td><span class="api-placeholder">api-version</span>
                                        </td>
                                        <td>
                                            <p>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</p>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>

#### Request Body

None

#### Permissions

This method can be called by all authenticated users.

#### Response Code

200

#### Response Body

```
<tsResponse">
  <session>
	<site id="a946d998-2ead-4894-bb50-1054a91dcab3"
  	  name="site-name"
	  contentUrl=""
      adminMode="admin-mode"
      disableSubscriptions="disable-subscription-flag"
      state="state"
      revisionHistoryEnabled="revision-history-enabled-flag"
	  subscribeOthersEnabled="subscribe-others-enabled-flag"
	  guestAccessEnabled="guest-access-enabled-flag"
	  cacheWarmupEnabled="cache-warmup-enabled-flag [REMOVED IN API 3.19]"
	  editingFlowsEnabled="editing-flows-enabled-flag"
      schedulingFlowsEnabled="scheduling-flows-enabled-flag"
	  extractEncryptionMode="extract-encryption-mode"
	  mobileBiometricsEnabled="mobile-biometrics-enabled-flag"
	  sheetImageEnabled="sheetimage-enabled-flag"
	  catalogingEnabled="catalog-enabled-flag"
	  derivedPermissionsEnabled="true"/>
    <user authSetting="ServerDefault"
	  externalAuthUserId=""
	  id="cdfe8548-84c8-418e-9b33-2c0728b2398a"
	  lastLogin="2020-04-29T04:59:08Z"
	  name="workgroupuser"
	  siteRole="ServerAdministrator"/>
 </session>
</tsResponse>
```

The response for users without administrator permissions contains only the site user, id, name, and content-url attributes.

#### Version

Version 3.1 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>405</td><td>405000</td><td>Invalid request method</td><td>Request type was not <span class="api-command-ref">GET</span>.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

#### Example Response

```
<tsResponse">
  <session>
    <site id="a946d998-2ead-4894-bb50-1054a91dcab3"
	  name="Default"
	  contentUrl="" adminMode="ContentAndUsers"
	  disableSubscriptions="false"
	  state="Active"
	  revisionHistoryEnabled="true"
	  subscribeOthersEnabled="true"
	  guestAccessEnabled="false"
	  cacheWarmupEnabled="true" [REMOVED IN API 3.19]
      editingFlowsEnabled="false"
      schedulingFlowsEnabled="false"
	  extractEncryptionMode="enabled"
	  mobileBiometricsEnabled="false"
	  sheetImageEnabled="true"
	  catalogingEnabled="true"
	  derivedPermissionsEnabled="true"/>
    <user authSetting="ServerDefault"
	  externalAuthUserId=""
	  id="cdfe8548-84c8-418e-9b33-2c0728b2398a"
	  lastLogin="2020-04-29T04:59:08Z"
	  name="workgroupuser"
	  siteRole="ServerAdministrator"/>
  </session>
</tsResponse>
```

## List Server Active Directory Domains

Returns the details of the Active Directory domains that are in use on the server, including their full domain names, nicknames and IDs. If the server is configured to use local authentication, the command returns only the domain name `local`.

#### URI

GET /api/api-version/domains/

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr></tbody></table>

#### 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:domains:read
```

For more information, see [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud) and access scopes for connected apps: [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm), or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

#### Response Code

200

#### Response Body

```
<tsRequest>
  <domainList>
    <domain id="domain-id-int"
  	  name="domain-name"
	  shortName="domain-nickname" />
  </domainList>
</tsRequest>
```

#### Version

Version 3.11 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>405</td><td>405000</td><td>Invalid request method</td><td>Request type was not <span class="api-command-ref">GET</span>.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

#### Example

`curl "http://MY-SERVER/api/3.29/domains" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"`

**Example response body:**

```
<tsRequest>
  <domainList>
    <domain id="1045" name="domain.com" shortName="myDomainNickName" />
    < . . . more domains . . . />
  </domainList>
</tsRequest>
```

## Server Info

Returns the version of Tableau Server and the supported version of the REST API.

#### URI

GET /api/api-version/serverinfo

#### Parameter Values

<table class="api-parameters-table">
                                <colgroup>
                                    <col class="api-parameters-table-col-1">
                                    <col>
                                </colgroup>
                                <tbody>
                                    <tr>
                                        <td><span class="api-placeholder">api-version</span>
                                        </td>
                                        <td>
                                            <p>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</p>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>

#### Request Body

None

#### Permissions

This method can be called by all users and does not require authentication.

#### Access Scope

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

```
tableau:server:read
```

For more information, see [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud) and access scopes for connected apps: [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm), or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

#### Response Code

200

#### Response Body

```
<tsResponse>
    <serverInfo>
        <productVersion build="build-number">product-version</productVersion>
        <restApiVersion>api-version</restApiVersion>
    </serverInfo>
</tsResponse>
```

The response contains the following information:

- build-number. The build number of your installation of Tableau Server.
- product-version. The product version of your installation of Tableau Server.
- api-version. The REST API version that is compatible with your version of Tableau Server.

#### Version

Version 2.4 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>405</td><td>405000</td><td>Invalid request method</td><td>Request type was not <span class="api-command-ref">GET</span>.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

## Update Server Active Directory Domain

Changes the nickname or full domain name of an Active Directory domain on the server. This method is not available on Tableau Cloud.

A domain nickname, also called short name, is the Windows NetBIOS domain name. You can modify the nickname for any domain the server is using.

In general, you can modify the full domain name for any domain except the one that you used to sign in. However, if the user name that you are currently signed in with exists in both the current domain and the new domain, you can modify the full name for the current domain. For information about how to enable access for users from multiple domains, see [Support for multiple domains](https://help.tableau.com/current/server/en-us/users_manage_ad.htm#support-for-multiple-domains).

If the domain is `local`, it's names cannot be changed.

#### URI

PUT /api/api-version/domains/domain-id

#### Parameter Values

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide"> <col></colgroup><tbody><tr><td><span class="api-placeholder">api-version</span></td><td>The version of the API to use, such as <code><span class="mc-variable Variables.REST-API-Version variable">3.29</span></code>. For more information, see <a href="https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr><tr><td><span class="api-placeholder">domain-id</span></td><td>The integer ID of the of the Active Directory domain being updated. Find a domain's ID using <a href="#list_server_active_directory_domains">List Server Active Directory Domains</a>.</td></tr></tbody></table>

#### Request Body

```
<tsRequest>
  <domain name="new-domain-name"
  shortName="new-domain-nickname" />
</tsRequest>
```

#### Attribute Values

Any combination of attributes is valid. If no attributes or nested elements are included, no update is made.

<table class="api-parameters-table"><colgroup><col class="api-parameters-table-col-1-wide" style="width: 264px;"> <col></colgroup><tbody><tr><td><span class="api-placeholder">new-domain-name</span></td><td>A new full domain name you are using to replace the existing one.</td></tr><tr><td><span class="api-placeholder">new-domain-nickname</span></td><td>A new domain nickname you are using to replace the existing one.</td></tr></tbody></table>

#### 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:domains:update
```

For more information, see [Access scopes for UATs](https://help.tableau.com/current/api/cloud-manager/en-us/docs/unified_access_tokens.html#scopes) (Cloud) and access scopes for connected apps: [Cloud](https://help.tableau.com/current/online/en-us/connected_apps_scopes.htm), [Server-Windows](https://help.tableau.com/current/server/en-us/connected_apps_scopes.htm), or [Server-Linux](https://help.tableau.com/current/server-linux/en-us/connected_apps_scopes.htm).

#### Response Code

200

#### Response Body

**Example response:**

```
<tsRequest>
  <domain id="domain-id-int"
    name="domain-name"
    shortName="domain-nickname" />
</tsRequest>
```

#### Version

Version 3.11 and later. For more information, see [REST API and Resource Versions](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_versions.htm).

#### Errors

<table class="api-error-table"><colgroup><col class="api-error-table-col-1"> <col class="api-error-table-col-2" style="width: 87px;"> <col class="api-error-table-col-3"> <col></colgroup><tbody><tr><th>HTTP status</th><th><code>error</code> Code</th><th>Condition</th><th>Details</th></tr><tr><td>400</td><td>400000</td><td>Bad request</td><td>The content of the request body is missing or incomplete, or contains malformed XML.</td></tr><tr><td>401</td><td>401000</td><td>Unauthorized access</td><td>No authorization credentials were provided.</td></tr><tr><td>401</td><td>401002</td><td>Unauthorized access</td><td>Invalid authorization credentials were provided.</td></tr><tr><td>404</td><td>404032</td><td>Resource not found</td><td>The requested domain ID in the URI doesn't correspond to an existing domain.</td></tr></tbody></table>

For more information, see [Handling Errors](https://help.tableau.com/v0.0/api/rest_api/en-us/REST/rest_api_concepts_errors.htm).

#### Example

For an Active Directory with the ID of `1045`, name of `myOldDomainName`, and a nickname of `myOldDomainNickname`:

`curl "http://MY-SERVER/api/3.29/domains/f34ab56cd12ab34cd56ef78ab90cd12ef" -X PUT -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd" -d @update-domain.xml`

**Content of update-domain.xml:**

```
<tsRequest>
  <domain name="myNewDomainName.com"
  shortName="myNewDomainNickName" />
</tsRequest>
```

**Example response body:**

```
<tsRequest>
  <domain id="1045" name="myNewDomainName.com" shortName="myDomainNickName" />
</tsRequest>
```