---
schema_version: "1"
id: af7750de5ca8ca9626daad914bf08f942660349f238920b328de8c96f87c84e4
title: Tableau Services Manager API
collection: tableau
version: next
locale: en-us
portal_url: https://docs.salesforce.com/tableau/next/en-us/api/tsm_api/index.md
canonical_url: https://help.tableau.com/v0.0/api/tsm_api/en-us/index.htm
source_site: help.tableau.com
content_type: documentation
content_hash: b24b200e9d5007ea0d67a63c2338e0d428d91f70470ba98fd0ef8f10e11516d9
description: Documentation for Tableau Services Manager API
---
# Tableau Services Manager API

  

Tableau Server includes a set of administrative services and tools called Tableau Services Manager (TSM). This set of documentation describes the prerelease (0.5 alpha) TSM API, which you can use to perform a wide range of tasks, including the following:

- Start and stop Tableau Server
- View the status of services and nodes
- Back up and restore Tableau Server
- Make configuration and topology changes
- Change port assignments for services
- Create log file archives

You can also perform these tasks using the Tableau-supported [TSM command line interface](http://help.tableau.com/current/server-linux/en-us/tsm.htm).

## Get started

When you use the TSM API, you make requests using standard HTTP verbs like GET and POST. Each resource that you request is located at an endpoint like the following:

```
https://<server>:<port>/api/<version>/<endpoint>
```

For example, to send an authentication request to the `login` endpoint, you might send a request to the following URL:

```
https://your-server:8850/api/0.5/login
```

The TSM API and the Tableau Server REST API are both RESTful APIs, but they do not share authentication methods or functionality. You use the TSM API to manage the state and services of Tableau Server, and you use the Use the [Tableau Server REST API](http://help.tableau.com/v10.5/api/rest_api/en-us/help.htm#REST/rest_api.htm) to manage users, groups, workbooks other content on Tableau Server.

## Request parameters

Depending on the endpoint, you might also need to include the following parameters in the request:

**Request path parameters**

The parameters to include as part of the main URL path. All parameters are required.

For example, in the `/asyncJobs/<jobId>` endpoint, `<jobId>` is a path parameter.

**Request query parameters**

The query parameters to include in the request URL. Parameters are marked as required or optional.

Use the following syntax to specify query parameters:

```
/<endpoint>?<query_parameter>=<query_parameter1_value>&<query_parameter2>=<query_parameter2_value>
```

For example:

```
/backupFixedFile?writePath=backup_name&skipVerification=true
```

**Request body parameters**

The parameters to include in the request body. Request body parameters are required.

In the example below, `<user_name>` and `<password>` are request body parameters.

```
{
    "authentication": {
        "name": "<user_name>",
        "password": "<password>"
    }
}
```

For more information and for a full list of endpoints (or methods), see the [TSM API Reference](/v0.0/api/tsm_api/en-us/docs/tsm-reference.htm). To see examples of how you can use the TSM API, see [Samples](/v0.0/api/tsm_api/en-us/docs/samples.htm).

## Error codes

If a request results in an error, the server returns an HTTP status code that indicates the general nature of the error. These can include **400 (Bad Request)** if Tableau Server or Tableau Online cannot parse or interpret the message in the request, **403 (Forbidden)** if the request was not authorized, **404 (Not Found)** if a resource could not be located, and **405 (Method Not Allowed)** if the wrong verb was used for an operation(for example, making a GET request instead of a POST request).

In the following error codes, the first three digits show the HTTP status code, and the last three digits show the error code.

| Code | Error Type |
| --- | --- |
| 400500 | REQUEST\_NOT\_PROCESSED |
| 400501 | LICENSE\_ALREADY\_ACTIVATED\_ERROR |
| 400502 | LICENSE\_INVALID\_KEY\_ERROR |
| 400503 | REQUEST\_CONTENT\_NOT\_ALLOWED |
| 400504 | BAD\_FILE\_UPLOAD |
| 400505 | BAD\_PARAMS |
| 400506 | LICENSE\_REGISTRATION\_VALIDATION\_ERROR |
| 400507 | FILESTORE\_CANNOT\_DECOMMISSION |
| 400508 | CONFIGURATION\_VALIDATION\_ERROR |
| 401500 | UNAUTHORIZED |
| 403500 | FORBIDDEN |
| 404500 | RESOURCE\_NOT\_FOUND |
| 405000 | RESOURCE\_METHOD\_NOT\_ALLOWED |
| 405500 | METHOD\_NOT\_ALLOWED |
| 408000 | REQUEST\_TIMEOUT |
| 409500 | IDENTITY\_STORE\_ALREADY\_INITIALIZED |
| 409501 | REQUESTED\_PENDING\_NOT\_ALLOWED |
| 409502 | ENTITY\_KEY\_COLLISION |
| 409504 | RUN\_AS\_USER\_CANNOT\_LOGON |
| 409505 | RUN\_AS\_USER\_CANNOT\_READ\_AD |
| 409506 | ENTITY\_IN\_USE |
| 409507 | READ\_ONLY\_CONFIG\_KEY |
| 409508 | VALIDATION\_FAILED |
| 409509 | FILESTORE\_NEEDS\_TO\_BE\_DECOMMISSIONED |
| 409510 | SERVER\_CANNOT\_OVERWRITE\_FILE |
| 409511 | ASYNC\_JOB\_NOT\_QUEUED |
| 409512 | SERVER\_NEEDS\_TO\_BE\_STOPPED |
| 409513 | AUTH\_CONFIG\_ERROR |
| 409514 | IDENTITY\_STORE\_ERROR |
| 409515 | LDAP\_SEARCH\_ERROR |
| 409516 | SERVER\_NEEDS\_TO\_BE\_STARTED |
| 409517 | TWO\_ZOOKEEPER\_ENSEMBLES |
| 413500 | PAYLOAD\_TOO\_LARGE |
| 423500 | SERVER\_CANNOT\_ACCESS\_FILE |
| 500501 | LICENSE\_RETURN\_ERROR |
| 500502 | LICENSE\_RESYNC\_ERROR |
| 500504 | LICENSE\_SERVER\_ERROR |
| 500505 | INITIALIZATION\_REQUEST\_ERROR |
| 500506 | LICENSE\_SERVER\_OFFLINE\_ERROR |
| 500507 | REGISTRATION\_REQUEST\_ERROR |
| 500508 | LICENSE\_REGISTRATION\_INTERNAL\_ERROR |
| 500509 | SECURITY\_CONFIGURATION\_INTERNAL\_ERROR |
| 500600 | INTERNAL\_SERVER\_ERROR |
| 503500 | ZOOKEEPER\_SERVICE\_UNAVAILABLE |
| 503501 | NODE\_ID\_GENERATOR\_UNAVAILABLE |