Bridge Methods
Using the Bridge methods of the Tableau REST API you can:
- Bridge clients: List Bridge clients for a site or get details for a specific Bridge client; delete a Bridge client; move a Bridge client between pools or to unassigned status.
- Bridge pools: List, create, update, and delete Bridge pools. Bridge pools(Link opens in a new window) are logical groupings of Bridge clients for load distribution and management.
- Bridge domains: Add domains to pools, block domains, update domain names or pool assignment, get domain mapping, and delete domain mappings.
These methods are available for Tableau Cloud. Bridge clients enable secure data connections between Tableau Cloud and on-premises data sources. For more information, see Use Bridge to Keep Data Fresh(Link opens in a new window).
Add Domain to Pool
Associates a domain with a specific Bridge pool, allowing Bridge clients from that domain to use the pool.
Each domain can only be assigned to one pool at a time. Root domains and subdomains are supported. Domain assignments are site-specific. Adding a domain already in the pool returns an error.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:create
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
POST /api/api-version/sites/site-luid/bridge-domain-maps
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
<tsRequest> <bridgeDomain existingDomainName="example.com" newPoolLuid="ebae40a5-d7e4-4214-b3d5-b0715c627b71" /> </tsRequest>
{ "bridgeDomain": { "existingDomainName": "example.com", "newPoolLuid": "ebae40a5-d7e4-4214-b3d5-b0715c627b71" } }
Attribute Values
| existingDomainName | The domain to add to the pool. Root domains and subdomains are supported. |
| newPoolLuid | The UUID of the Bridge pool to add the domain to. Must be a user-created pool (not a reserved system pool). |
Response Code
200
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 | Invalid domain name, invalid pool ID, domain already exists, or pool not found | Domain must conform to valid format; pool ID must be valid UUID and exist; domain must not already be in this pool. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503904 | Unexpected server error | An unexpected error occurred while adding the domain. |
For more information, see Handling Errors.
Block Domain
Blocks a domain from being used with any Bridge pool, preventing Bridge clients from that domain from connecting.
Blocking is site-specific and takes precedence over pool assignments; blocked domains cannot be added to any pool. Existing connections from the domain may be terminated.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:update
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
PATCH /api/api-version/sites/site-luid/bridge-domain-maps/block-domain
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
<tsRequest> <bridgeDomain existingDomainName="example.com" isBlocked="true" /> </tsRequest>
{ "bridgeDomain": { "existingDomainName": "example.com", "isBlocked": true } }
Attribute Values
| existingDomainName | Required. The domain to block or unblock. |
| isBlocked | Set to true to block the domain; set to false to unblock (remove from blocked list). |
Response Code
200
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 | Invalid domain name or missing isBlocked | Domain must conform to valid format; isBlocked parameter is required. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503905 | Unexpected server error | An unexpected error occurred while blocking the domain. |
For more information, see Handling Errors.
Create Bridge Pool
Creates a new Bridge pool with the specified name.
The pool is created empty (no domain assignments or Bridge clients). The system assigns a UUID; use List Bridge Pools to get the pool ID after creation, then add domains and assign clients.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:create
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
POST /api/api-version/sites/site-luid/bridge-pools
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
<tsRequest> <edgePool> <pool name="Production Pool" /> </edgePool> </tsRequest>
{ "edgePool": { "pool": { "name": "Production Pool" } } }
Attribute Values
| name | Required. Display name for the pool, 1–80 characters. Must be unique within the site. |
Response Code
201 Created
Response Body
None. The pool is created with a system-generated UUID; use List Bridge Pools to get the pool ID.
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 / 400929 | Missing, empty, invalid, or duplicate pool name | Pool name required, 1–80 characters; must be unique on the site. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503900 | Unexpected server error | An unexpected error occurred while creating the pool. |
For more information, see Handling Errors.
Delete Bridge Client
Permanently removes a Bridge client from the site.
This operation is irreversible; the Bridge client cannot be recovered through the API. Pool assignments are revoked and the client must be re-registered to reconnect. Data sources and scheduled refreshes using this client will be affected; consider moving to unassigned status for temporary deactivation instead of deleting.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:delete
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
DELETE /api/api-version/sites/site-luid/bridge-clients/bridge-client-id
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
| bridge-client-id | The unique identifier for the Bridge client to delete. |
Request Body
None
Response Code
204 No Content
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 404 | 503001 | Bridge client not found | Bridge client with the specified ID does not exist on this site. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503003 | Unexpected server error | An unexpected error occurred while deleting the Bridge client. |
For more information, see Handling Errors.
Delete Bridge Pool
Permanently deletes a Bridge pool and all its associated domain mappings.
The pool must have no Bridge clients assigned (move clients first). Cannot delete reserved system pools. The operation is irreversible; domain mappings are removed and the pool ID becomes invalid.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:delete
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
DELETE /api/api-version/sites/site-luid/bridge-pools/pool-id
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
| pool-id | The unique identifier (UUID) of the pool to delete. |
Request Body
None
Response Code
204 No Content
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 | Invalid pool ID or pool not found | Pool ID must be valid UUID and exist on the site. |
| 400 | 503902 | System pool | Cannot delete reserved system pools. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503902 | Unexpected server error | An unexpected error occurred while deleting the pool. |
For more information, see Handling Errors.
Delete Domain
Removes a domain mapping from the system.
The domain is no longer associated with any pool and can be re-added later if needed. For blocked domains, deletion unblocks the domain. Deletion is immediate; existing connections may be terminated and Bridge clients from that domain lose access until the domain is re-added to a pool.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:delete
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
PATCH /api/api-version/sites/site-luid/bridge-domain-maps/remove-domain
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
<tsRequest> <bridgeDomain existingDomainName="example.com" /> </tsRequest>
{ "bridgeDomain": { "existingDomainName": "example.com" } }
Attribute Values
| existingDomainName | Required. The domain name to remove from the system. |
Response Code
200
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 | Invalid domain name or domain not found | Domain must conform to valid format and must exist in the system. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503907 | Unexpected server error | An unexpected error occurred while deleting the domain. |
For more information, see Handling Errors.
Get Bridge Client
Retrieves detailed information about a single Bridge client.
Lookup is site-scoped. The response includes connection status, pool assignment (poolId, assignedToDefaultPool, unassigned), version, and ownership; lastStatusConnectedTime indicates when the client last connected (empty if never connected).
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:read
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
GET /api/api-version/sites/site-luid/bridge-clients/bridge-client-id
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
| bridge-client-id | The unique identifier for the Bridge client to retrieve. |
Request Body
None
Response Code
200
Response Body
<tsResponse> <bridgeClient id="12345" name="Bridge-Client-1" status="ONLINE" version="2024.1.0" poolId="abc-123-def-456" assignedToDefaultPool="false" unassigned="false" lastStatusConnectedTime="2024-10-30T10:30:00Z" ownerName="John Doe" ownerEmail="john.doe@example.com" /> </tsResponse>
{ "bridgeClient": { "id": "12345", "name": "Bridge-Client-1", "status": "ONLINE", "version": "2024.1.0", "poolId": "abc-123-def-456", "assignedToDefaultPool": false, "unassigned": false, "lastStatusConnectedTime": "2024-10-30T10:30:00Z", "ownerName": "John Doe", "ownerEmail": "john.doe@example.com" } }
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 404 | 503001 | Bridge client not found | Bridge client with the specified ID does not exist on this site. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503002 | Unexpected server error | An unexpected error occurred while retrieving the Bridge client. |
For more information, see Handling Errors.
Get Domain Mapping
Retrieves information about all domain mappings for the site, including pool assignment and status (ALLOWED or BLOCKED).
When status is ALLOWED, poolId is the pool UUID; when BLOCKED, poolId is the string "BLOCKED". URL-encode special characters in domain names in the request.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:read
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
GET /api/api-version/sites/site-luid/bridge-domain-maps
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
None
Response Code
200
Response Body
<bridgeDomain> <domain name="abc.test.com" status="BLOCKED" poolId="BLOCKED" /> <domain name="*.myco.lan" status="ALLOWED" poolId="185da21c-1598-4b2f-9137-fa632e935bf1" /> </bridgeDomain>
{ "bridgeDomain": { "domain": [ { "name": "abc.test.com", "status": "BLOCKED", "poolId": "BLOCKED" }, { "name": "*.myco.lan", "status": "ALLOWED", "poolId": "185da21c-1598-4b2f-9137-fa632e935bf1" } ] } }
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503908 | Unexpected server error | An unexpected error occurred while retrieving the domain. |
For more information, see Handling Errors.
List Bridge Clients
Retrieves a list of all Bridge clients for a specific site, with optional filtering by pool.
Only one filter (poolId, onlyDefaultPool, or onlyUnassigned) can be specified at a time. Each client is in one of three states: assigned to a named pool, assigned to the default pool, or unassigned. The response includes status, pool assignment, and ownership; filtering is mutually exclusive (multiple filters return 400).
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:read
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
All clients:
GET /api/api-version/sites/site-luid/bridge-clients
Filter by pool:
GET /api/api-version/sites/site-luid/bridge-clients?poolId=poolId
Filter by default pool:
GET /api/api-version/sites/site-luid/bridge-clients?onlyDefaultPool=boolean
Filter by unassigned:
GET /api/api-version/sites/site-luid/bridge-clients?onlyUnassigned=boolean
Only one filter can be specified at a time. Specifying multiple filters returns 400 Bad Request.
URI Parameter Values
| api-version | The version of the API to use, such as 3.28. For more information, see REST API and Resource Versions.
|
| site-luid | The LUID for the site. |
| poolId | Optional. Filter by specific pool; returns only Bridge clients assigned to this pool. Mutually exclusive with onlyDefaultPool and onlyUnassigned. |
| onlyDefaultPool | Optional. If true, returns only Bridge clients in the default pool. Mutually exclusive with poolId and onlyUnassigned. |
| onlyUnassigned | Optional. If true, returns only Bridge clients not assigned to any pool. Mutually exclusive with poolId and onlyDefaultPool. |
Request Body
None
cURL Request Example
curl "https://myco/api/3.28/sites/9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d/bridge-clients" -X GET -H "X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd"
Response Code
200
Response Body
<tsResponse> <bridgeClients> <bridgeClient id="12345" name="Bridge-Client-1" status="ONLINE" version="2024.1.0" poolId="abc-123-def-456" assignedToDefaultPool="false" unassigned="false" lastStatusConnectedTime="2024-10-30T10:30:00Z" ownerName="John Doe" ownerEmail="john.doe@example.com" /> <bridgeClient id="67890" name="Bridge-Client-2" status="OFFLINE" version="2024.1.0" assignedToDefaultPool="true" unassigned="false" lastStatusConnectedTime="2024-10-29T15:45:00Z" ownerName="Jane Smith" ownerEmail="jane.smith@example.com" /> </bridgeClients> </tsResponse>
{ "bridgeClients": { "bridgeClient": [ { "id": "12345", "name": "Bridge-Client-1", "status": "ONLINE", "version": "2024.1.0", "poolId": "abc-123-def-456", "assignedToDefaultPool": false, "unassigned": false, "lastStatusConnectedTime": "2024-10-30T10:30:00Z", "ownerName": "John Doe", "ownerEmail": "john.doe@example.com" }, { "id": "67890", "name": "Bridge-Client-2", "status": "OFFLINE", "version": "2024.1.0", "poolId": null, "assignedToDefaultPool": true, "unassigned": false, "lastStatusConnectedTime": "2024-10-29T15:45:00Z", "ownerName": "Jane Smith", "ownerEmail": "jane.smith@example.com" } ] } }
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | BAD_REQUEST | Multiple filters specified | Only one filter parameter can be specified at a time (poolId, onlyDefaultPool, or onlyUnassigned). |
| 400 | BAD_REQUEST | Invalid poolId | The poolId specified is reserved and cannot be used as a filter. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503002 | Unexpected server error | An unexpected error occurred while retrieving Bridge clients. |
For more information, see Handling Errors.
List Bridge Pools
Retrieves a list of all Bridge pools for the specified site, including pool details and associated domain mappings.
Each pool includes its ID, display name, and domains with status ALLOWED or BLOCKED. There is no pagination; consider caching results for 5–15 minutes for large deployments.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:read
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
GET /api/api-version/sites/site-luid/bridge-pools
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
None
Response Code
200
Response Body
<tsResponse> <edgePool> <poolList> <pool id="abc-123-def-456" name="Production Pool"> <domains> <domain name="example.com" status="ALLOWED" /> <domain name="subdomain.example.com" status="ALLOWED" /> </domains> </pool> <pool id="ghi-789-jkl-012" name="Development Pool"> <domains> <domain name="dev.example.com" status="ALLOWED" /> </domains> </pool> </poolList> </edgePool> </tsResponse>
{ "edgePool": { "poolList": [ { "pool": { "id": "abc-123-def-456", "name": "Production Pool" }, "domains": { "domain": [ { "name": "example.com", "status": "ALLOWED" }, { "name": "subdomain.example.com", "status": "ALLOWED" } ] } }, { "pool": { "id": "ghi-789-jkl-012", "name": "Development Pool" }, "domains": { "domain": [ { "name": "dev.example.com", "status": "ALLOWED" } ] } } ] } }
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503903 | Unexpected server error | An unexpected error occurred while retrieving pools. |
For more information, see Handling Errors.
Move Bridge Client
Moves a Bridge client between pools or to unassigned status.
The operation is atomic (all-or-nothing). For moveToNamedPool the pool must exist and be a valid UUID; moveToUnassigned is useful for temporarily deactivating a client without deleting it.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:update
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
PATCH /api/api-version/sites/site-luid/bridge-clients/bridge-client-id
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
| bridge-client-id | The unique identifier for the Bridge client to move. |
Request Body
<tsRequest> <bridgeClientMoveRequest> <moveToNamedPool poolId="abc-123-def-456" /> </bridgeClientMoveRequest> </tsRequest>
{ "bridgeClientMoveRequest": { "moveToNamedPool": { "poolId": "abc-123-def-456" } } }
Attribute Values
| poolId | Required when using moveToNamedPool. The UUID of the Bridge pool to move the client to. |
| moveToDefaultPool | Set to true to move the Bridge client to the default pool. Use in place of moveToNamedPool. |
| moveToUnassigned | Set to true to move the Bridge client to unassigned status. Use in place of moveToNamedPool. |
Response Code
204 No Content
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | BAD_REQUEST | Multiple operations specified | Cannot specify more than one move operation in a single request. |
| 400 | BAD_REQUEST | No operation / Missing poolId / Invalid poolId | Request must contain exactly one valid move operation; poolId required for moveToNamedPool and must be a valid UUID. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 404 | 503001 | Bridge client not found | Bridge client with the specified ID does not exist on this site. |
| 404 | 503005 | Pool not found | The specified poolId does not exist on this site. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503004 | Unexpected server error | An unexpected error occurred while moving the Bridge client. |
For more information, see Handling Errors.
Update Bridge Pool
Updates the display name of an existing Bridge pool.
The pool ID and domain/Bridge client assignments are unchanged.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:update
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
PATCH /api/api-version/sites/site-luid/bridge-pools/pool-id
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
| pool-id | The unique identifier (UUID) of the pool to update. |
Request Body
<tsRequest> <edgePool> <pool name="Updated Production Pool" /> </edgePool> </tsRequest>
{ "edgePool": { "pool": { "name": "Updated Production Pool" } } }
Attribute Values
| name | Required. New display name for the pool, 1–80 characters, unique on the site (excluding the current pool). |
Response Code
200
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 / 400929 | Invalid pool ID, missing name, or duplicate name | Pool ID must be valid UUID; name required, 1–80 characters, unique (excluding current pool). |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503901 | Unexpected server error | An unexpected error occurred while updating the pool. |
For more information, see Handling Errors.
Update Domain Among Pools
Moves a domain from its current pool to a different pool.
The operation is atomic (all-or-nothing); on failure the domain mapping is unchanged.
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:update
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
PATCH /api/api-version/sites/site-luid/bridge-domain-maps/change-pool-assignment
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
<tsRequest> <bridgeDomain existingDomainName="example.com" newPoolLuid="ebae40a5-d7e4-4214-b3d5-b0715c627b71" /> </tsRequest>
{ "bridgeDomain": { "existingDomainName": "example.com", "newPoolLuid": "ebae40a5-d7e4-4214-b3d5-b0715c627b71" } }
Attribute Values
| existingDomainName | Required. The domain to move. |
| newPoolLuid | Required. The UUID of the target Bridge pool. |
Response Code
200
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 | Invalid domain name, invalid pool ID, domain not found, or pool not found | Domain and pool ID must be valid; domain and pool must exist on the site. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503906 | Unexpected server error | An unexpected error occurred while updating the domain. |
For more information, see Handling Errors.
Update Domain Name
Updates an existing domain mapping by renaming the domain.
The operation is atomic (all-or-nothing).
This method is not available for Tableau Server.
Version: Available in API 3.28 (Tableau Cloud March 2026) and later. Not available for Tableau Server.
License: No additional license required.
Permissions: Tableau Cloud site admin.
Access Scope: tableau:bridge_rest_api:update
For more information, see Versions(Link opens in a new window), Permissions(Link opens in a new window), Access scopes for UATs(Link opens in a new window) (Cloud), and access scopes for Cloud(Link opens in a new window), Server-Windows,(Link opens in a new window) or Server-Linux(Link opens in a new window).
URI
PATCH /api/api-version/sites/site-luid/bridge-domain-maps/update-domain-name
URI Parameter Values
| api-version | The version of the API to use. For more information, see REST API and Resource Versions. |
| site-luid | The LUID for the site. |
Request Body
<tsRequest> <bridgeDomain existingDomainName="existing-domain.com" newDomainName="new-domain.com" /> </tsRequest>
{ "bridgeDomain": { "existingDomainName": "existing-domain.com", "newDomainName": "new-domain.com" } }
Attribute Values
| existingDomainName | Required. The current domain name. |
| newDomainName | Required. The new domain name. Must not already exist in the system. |
Response Code
200
Response Body
None
Errors
| HTTP status | error Code |
Condition | Details |
|---|---|---|---|
| 400 | 409004 | Invalid existing/new domain name, domain not found, or new name exists | Domain names must conform to valid format; existing domain must exist; new name must not already be in use. |
| 401 | 401000 / 401002 | Missing or invalid authentication | No authentication token provided, or token is expired or invalid. |
| 403 | 403000 | Insufficient permissions | User does not have Site Administrator role. |
| 429 | 429000 | Rate limit exceeded | Too many requests sent in a given time period. |
| 500 | 503906 | Unexpected server error | An unexpected error occurred while updating the domain. |
For more information, see Handling Errors.
