---
schema_version: "1"
id: 1f826fdc96f018f5e84e1962980cfdf9c4c4e719684b56bc74eac679627436ea
title: Mobile Settings Methods
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/api/rest_api/REST/rest_api_ref_mobile_settings.md
canonical_url: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_mobile_settings.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 0de9771718201a65feeeeb62923ab182dc20c86dac4eb17e568f691487ba8f47
description: "Using the mobile settings methods of the Tableau REST API you can:"
---
[Skip to main content](#main-content)

# Mobile Settings Methods

Using the mobile settings methods of the Tableau REST API you can:

- List the mobile security settings for a site or server.
- Update the mobile security settings for a site or server.

### About mobile device security settings

Available in API 3.18 (Tableau Cloud December 2022 / Server 2023.1) and later.

These settings include detecting the following conditions:

- Jailbreak Detection - for Android and iOS devices.
- Maximum offline time before security policy update - for Android and iOS devices.  
    _Available in API 3.19 (Tableau Cloud March 2023 / Server 2023.1) and later._
- Screenshot protection - for Android devices.
- Malware Detection - for Android devices.
    
    > [!IMPORTANT]
    > 
    > In September 2025, Tableau Mobile retired support for the malware detection setting. The malware detection setting was removed from the Tableau Cloud settings in September 2025 and from the Tableau Server settings in Tableau Server version 2025.2.3. Any configuration of the malware detection setting on previous versions of Tableau Server has no effect on the Tableau Mobile app.

## 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: Mobile Settings](https://www.postman.com/salesforce-developers/salesforce-developers/folder/xet1ze3/mobile-settings)

## Get Mobile Security Settings for Server

Gets the mobile security settings for the server.

**Version:** Available in API 3.19 (Tableau Cloud December 2022 / Server 2023.1) and later.. _[Version Overview](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm)_

**License:** No additional license required.

**Permissions:** Only Tableau server and site administrators can get mobile security settings for the server.  _[Permissions Overview](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm)_

**JWT Access Scope**: tableau:mobile\_security\_site\_settings:read

- Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
- 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).

#### URI

GET /api/api-version/settings/mobilesecuritysettings

#### URI 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/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm" class="xref">REST API and Resource Versions</a>.</td></tr></tbody></table>

#### cURL Request Example

`curl -L -X GET "https://qa-server.tsi.lan/api/3.18/settings/mobilesecuritysettings" -H "Accept: application/json" -H "X-Tableau-Auth: ejET2rVmS2e81XiZ9G4lzQ|Iz71DR2lu3r0zHpcOAH2OoRQZlPfxACC|a905dbfd-6550-4546-908b-3e055fcc026d" --data-raw ""`

#### Response Code

200

#### Response Body

Copy

```
<tsResponse>    <mobileSecuritySettingsList>        <mobileSecuritySettings name="mobile.security.jailbroken_device" enabled="true">            <iosConfig severity="warn" enabled="false">                <valueList>true</valueList>            </iosConfig>            <androidConfig severity="critical" enabled="false">                <valueList>false</valueList>            </androidConfig>        </mobileSecuritySettings>        <mobileSecuritySettings name ="mobile.security.max_offline" enabled="true">            <iosConfig enabled="true" severity="critical">                <valueList>14</valuelist>            </iosConfig>            <androidConfig enabled="true" severity="critical">                <valueList>14</valuelist>            </androidConfig>        </mobileSecuritySettings>        <mobileSecuritySettings name="mobile.security.screenshot" enabled="false">            <androidConfig severity="warn" enabled="false">                <valueList>true</valueList>            </androidConfig>        </mobileSecuritySettings>    </mobileSecuritySettingsList></tsResponse>
```

Copy

```
{    "mobileSecuritySettingsList": {        "mobileSecuritySettings": [            {                "name": "mobile.security.jailbroken_device",                "enabled": true,                "iosConfig": {                    "valueList": [                        "true"                    ],                    "enabled": true,                    "severity": "warn"                },                "androidConfig": {                    "valueList": [                        "false"                    ],                    "enabled": true,                    "severity": "critical"                }            },            {                "name": "mobile.security.max_offline",                "enabled": true                "iosConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },                "androidConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },            },            {                "name": "mobile.security.screenshot",                "enabled": false,                "androidConfig": {                    "valueList": [                        "true"                    ],                    "enabled": true,                    "severity": "warn"                }            }        ]    }}
```

#### 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>400</td><td>400000</td><td>Bad Request</td><td>The request is incomplete is malformed.</td></tr><tr><td>400</td><td>400174</td><td>Mobile security settings error</td><td>An uknown mobile security settings error has occurred.</td></tr><tr><td>401</td><td>401002</td><td>Unauthorized Access</td><td>The authentication token provided in the request header was invalid or has expired.</td></tr><tr><td>403</td><td>403004</td><td>Unauthorized Access</td><td>The user does not have the required administrtor permissions.</td></tr><tr><td>403</td><td>403157</td><td>Forbidden</td><td>Mobile security settings are not enabled on the server.</td></tr></tbody></table>

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

## Get Mobile Security Settings for Site

Gets the mobile security settings for the specified site.

**Version:** Available in API 3.18 (Tableau Cloud December 2022) and later. Not available for Tableau Server. _[Version Overview](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm)_

**License:** No additional license required.

**Permissions:** Only Tableauserver and site administrators can get mobile security settings.  _[Permissions Overview](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm)_

**JWT Access Scope**: tableau:mobile\_security\_site\_settings:read

- Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
- 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).

#### URI

GET /api/api-version/sites/site-luid/settings/mobilesecuritysettings

#### URI 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/current/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">site-luid</span></td><td>The LUID for the site.</td></tr></tbody></table>

#### cURL Request Example

`curl "http://MY-SERVER/api/3.29/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/datasources/1a1b1c1d-2e2f-2a2b-3c3d-3e3f4a4b4c4d/connections" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"`

#### Response Code

200

#### Response Body

Copy

```
<tsResponse>    <mobileSecuritySettingsList>        <mobileSecuritySettings name="mobile.security.jailbroken_device" enabled="true">            <iosConfig severity="warn" enabled="false">                <valueList>true</valueList>            </iosConfig>            <androidConfig severity="critical" enabled="false">                <valueList>false</valueList>            </androidConfig>        </mobileSecuritySettings>        <mobileSecuritySettings name ="mobile.security.max_offline" enabled="true">            <iosConfig enabled="true" severity="critical">                <valueList>14</valuelist>            </iosConfig>            <androidConfig enabled="true" severity="critical">                <valueList>14</valuelist>            </androidConfig>        </mobileSecuritySettings>        <mobileSecuritySettings name="mobile.security.screenshot" enabled="false">            <androidConfig severity="warn" enabled="false">                <valueList>true</valueList>            </androidConfig>        </mobileSecuritySettings>    </mobileSecuritySettingsList></tsResponse>
```

Copy

```
{    "mobileSecuritySettingsList": {        "mobileSecuritySettings": [            {                "name": "mobile.security.jailbroken_device",                "enabled": true,                "iosConfig": {                    "valueList": [                        "true"                    ],                    "enabled": true,                    "severity": "warn"                },                "androidConfig": {                    "valueList": [                        "false"                    ],                    "enabled": true,                    "severity": "critical"                }            },            {                "name": "mobile.security.max_offline",                "enabled": true                "iosConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },                "androidConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },            },            {                "name": "mobile.security.screenshot",                "enabled": false,                "androidConfig": {                    "valueList": [                        "true"                    ],                    "enabled": true,                    "severity": "warn"                }            }        ]    }}
```

#### 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>400</td><td>400000</td><td>Bad Request</td><td>The request is incomplete is malformed.</td></tr><tr><td>400</td><td>400174</td><td>Mobile security settings error</td><td>An uknown mobile security settings error has occurred.</td></tr><tr><td>401</td><td>401002</td><td>Unauthorized Access</td><td>The authentication token provided in the request header was invalid or has expired.</td></tr><tr><td>403</td><td>403004</td><td>Unauthorized Access</td><td>The user does not have the required administrtor permissions.</td></tr><tr><td>403</td><td>403157</td><td>Forbidden</td><td>Mobile security settings are not enabled on the server.</td></tr></tbody></table>

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

## Update Mobile Security Settings for Site

Updates the mobile security sections for a specified site.

**Version:** Available in API 3.18 (Tableau Cloud December 2022) and later. Not available for Tableau Server. _[Version Overview](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm)_

**License:** No additional license required.

**Permissions:** Only Tableau server administrators can update mobile security settings for the server.  _[Permissions Overview](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm)_

**JWT Access Scope**: tableau:mobile\_security\_site\_settings:read

- Scope added in API 3.27 (Tableau Cloud December 2025 / Server 2025.3).
- 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).

#### URI

PUT /api/api-version/sites/site-luid/settings/mobilesecuritysettings

#### URI 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/current/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

Copy

```
{    "mobileSecuritySettingsList": {        "mobileSecuritySettings": [            {                "name": "mobile.security.jailbroken_device",                "enabled": true,                "iosConfig": {                    "valueList": [                        "true"                    ],                    "severity": "warn"                },                "androidConfig": {                    "valueList": [                        "false"                    ],                    "severity": "critical"                }            },            {                "name": "mobile.security.max_offline",                "enabled": true                "iosConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },                "androidConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },            },                    {                "name": "mobile.security.screenshot",                "enabled": false,                "androidConfig": {                    "valueList": [                        "true"                    ],                    "enabled": true,                    "severity": "warn"                }            }        ]    }}
```

#### Request Attributes

<table class="api-parameters-table">
                                <colgroup>
                                    <col class="api-parameters-table-col-1">
                                    <col>
                                </colgroup>
                                <tbody>
                                    <tr>
                                        <td><code>mobileSecuritySettings name</code>
                                        </td>
                                        <td>
                                            <p>(Optional)<i>Enum</i>. The device condition addressed by a security setting element. Supported values are:</p>
                                            <ul>
                                                <li><code>mobile.security.jailbreak_detection</code>
                                                </li>
                                                <li><code>mobile.security.max_offline</code>
                                                    <br><i>Available in API 3.19 (Tableau Cloud March 2023 / Server 2023.1) and later.</i>
                                                </li>
                                                <li><code>mobile.security.screenshot</code>
                                                </li>
                                            </ul>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td><code>mobileSecuritySettings enabled</code>
                                        </td>
                                        <td>
								(Optional) <i>Boolean</i>. If <code>true</code>, enables the Tableau mobile client to detect and respond to
								the condition described in the setting's <code>name</code>. The <code>enabled</code> attribute for the Android
								or iOS configuration element of the setting must also be <code>true</code> for detection on that type of device.
								If <code>mobileSecuritySettings enabled = false</code>, the Android and iOS configuration element attribute
								settings will be ignored.
							</td>
                                    </tr>
                                    <tr>
                                        <td><code>mobileSecuritySettings androidConfig / iosConfig</code>
                                        </td>
                                        <td>
                                            <p>(Optional)<i>Element</i>. Security settings specific to the platform of the mobile device hosting the Tableau client
								for the setting being configured. Required attributes of this element are:</p>
                                            <ul>
                                                <li><code>valueList</code> -
										<p><b>In the case of <code>mobile.security.max_offline</code></b><i> String - whole number</i>. The number of days a device can be
											offline without requiring a security policy refresh. Minimum value is 1, default value is 14.</p><p><b>In other cases</b> <i>String - <code>true</code> or <code>false</code></i>.
											Determines if the condition of the setting is detected for the specified platform.</p></li>
                                                <li><code>severity</code> - <i>Enum</i>. Defines the response of the Tableau mobile client when the condition of the
										setting is detected.</li>
                                                <li><code>enabled</code> - <i>String -<code>true</code> or <code>false</code></i>. On the device type being configured, if <code>true</code>, enables detection
										of the containing setting's security condition, as long as that setting's <code>enabled</code> attribute value is
										also <code>true</code>.
									<p>Severity level can be set for the jailbreak detection setting. The levels and the actions the Tableau client will take are as follows:</p><ul><li><b>Warn</b>:  If a detection occurs, show a dismissible blocking screen.</li><li><b>Error</b>: If a detection occurs, show a blocking screen until the issue is resolved.</li><li><b>Critical</b>: If a detection occurs, shows a blocking screen, log the user out, and close the session.</li></ul><p>If screenshot protection is enabled a severity level is required, but regardless of which level you select the behavior of the app will be:
			If a screenshot is attempted, show a temporary toast without blocking the app.
		</p><p>Default settings for a Tableau Cloud site are:  </p><ul><li>Jailbreak detection enabled with critical severity.</li><li>Maximum offline time for security policy update set at 14 days with critical severity.</li><li>Screenshot protection is enabled with warn level.</li></ul></li>
                                            </ul>
                                        </td>
                                    </tr>
                                </tbody>
                            </table>

#### cURL Request Example

`curl -L -X PUT "https://qa-server.tsi.lan/api/3.18/settings/mobilesecuritysettings" -H "Accept: application/json" -H "X-Tableau-Auth: ejET2rVmS2e81XiZ9G4lzQ|Iz71DR2lu3r0zHpcOAH2OoRQZlPfxACC|a905dbfd-6550-4546-908b-3e055fcc026d" --data-raw ""`

#### Response Code

200

#### Response Body

Copy

```
{    "mobileSecuritySettingsList": {        "mobileSecuritySettings": [            {                "name": "mobile.security.jailbroken_device",                "enabled": true,                "iosConfig": {                    "valueList": [                        "true"                    ],                    "severity": "warn"                },                "androidConfig": {                    "valueList": [                        "false"                    ],                    "severity": "critical"                }            },            {                "name": "mobile.security.max_offline",                "enabled": true                "iosConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },                "androidConfig": {                    "valueList": [                        "14"                    ],                    "enabled": true,                    "severity": "critical"                },            },                    {                "name": "mobile.security.screenshot",                "enabled": false,                "androidConfig": {                    "valueList": [                        "true"                    ],                    "enabled": true,                    "severity": "warn"                }            }        ]    }}
```

#### 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>400</td><td>400000</td><td>Bad Request</td><td>The content of the request body is missing, incomplete, or is malformed XML. Invalid values for <code>enabled</code>, <code>iosConfig</code>, <code>androidConfig</code>, <code>severity</code>, or <code>enabled</code> attributes are possible causes.</td></tr><tr><td>400</td><td>400174</td><td>Mobile security settings error</td><td>An uknown mobile security settings error has occurred.</td></tr><tr><td>401</td><td>401002</td><td>Unauthorized Access</td><td>The authentication token provided in the request header was invalid or has expired.</td></tr><tr><td>403</td><td>403004</td><td>Unauthorized Access</td><td>The user does not have the required administrtor permissions.</td></tr><tr><td>403</td><td>403157</td><td>Forbidden</td><td>Mobile security settings are not enabled on the server.</td></tr><tr><td>409</td><td>409004</td><td>Invalid setting</td><td>A mobile security setting <code>enabled</code>, <code>name</code> or other value is missing or malformed.</td></tr></tbody></table>

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