External Client API (PRE-RELEASE - confidential) (0.2.12)
Download OpenAPI specification:Download
This REST API provides a programmatic interface for reading and authoring the open Tableau Studio document. Clients authenticate with the bearer token published in the per-user discovery file.
The External Client API Guide provides an overview of the External Client API and:
With Application operations, you can:
Get application info
Returns information about the running Tableau Studio process, including its version, edition, build, operating system, locale, and repository and log paths.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 421
- 500
- 503
{- "applicationVersion": "string",
- "edition": "string",
- "build": "string",
- "os": "string",
- "locale": "string",
- "repositoryLocation": "string",
- "logLocation": "string",
- "isStartPageVisible": true,
- "isDataSourcePageActive": true,
- "isPresentationMode": true
}Open a file
Opens a local file by path. A .twb/.twbx opens as a workbook; a datasource file (Excel, text, spatial, extract, .tds, and the like) attaches to the open workbook, creating one if none is open. An extension Tableau cannot open is rejected before dispatch. Note: opening a workbook when one is already open launches it in a NEW Studio window, and this API session stays bound to the workbook it started with -- GET /v0/workbook continues to report the original, not the newly opened one.
Authorizations:
Request Body schema: application/jsonrequired
| filePath required | string The absolute path of the local file to open. |
Responses
Request samples
- Payload
{- "filePath": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Set start page visibility
Sets whether the Tableau Studio start page is visible and returns the resulting visibility. Repeated requests for the same visibility have no additional effect.
Authorizations:
Request Body schema: application/jsonrequired
| isStartPageVisible required | boolean Determines whether the start page is visible ( |
Responses
Request samples
- Payload
{- "isStartPageVisible": true
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "isStartPageVisible": true
}With Dashboards operations, you can:
List dashboards
Lists the dashboards contained in the open workbook.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 421
- 500
- 503
{- "dashboards": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "isAutoUpdatesPaused": true,
- "containedSheets": [
- "string"
]
}
]
}Get a dashboard
Returns the metadata for a single dashboard in the open workbook identified by its id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "isAutoUpdatesPaused": true,
- "containedSheets": [
- "string"
]
}Get a dashboard document
Returns a single dashboard from the open workbook serialized as a Tableau XML subtree.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Responses
Response samples
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Apply a dashboard document
Replaces a single dashboard with the submitted Tableau XML, leaving the workbook's other sheets intact. The payload is checked for well-formed XML only and is NOT validated against the schema; use POST /v0/workbook/document:validate for XSD validation. This apply is unconditional last-writer-wins: it performs no precondition/If-Match check and will overwrite a concurrent edit to the same sheet. A concurrent rename of the target sheet is rejected as a failed operation (Tableau error 0xC655862E).
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Request Body schema: required
The workbook document as Tableau XML.
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
- 421
- 422
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Export a dashboard image
Renders a single dashboard (resolved by id) as an image, returned inline as base64 or written to a caller-supplied file path.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
query Parameters
| filePath | string Path to write the image to. Must be absolute and name a file; a directory, a trailing slash, or any '.'/'..' path segment is rejected with a 400. When set, the response projects this path instead of inline base64; when omitted, the image is returned as base64. |
| mimeType | string Requested image MIME type (e.g. image/png, image/jpeg). The effective type is returned in the response. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 409
- 421
- 500
- 503
{- "imageBase64": "string",
- "filePath": "string",
- "effectiveMimeType": "string",
- "width": 0,
- "height": 0
}Delete a dashboard
Deletes a single dashboard by id. Deleting the workbook's last visible sheet is a no-op.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Pause dashboard auto-updates
Pauses automatic query execution for a dashboard so several edits can be batched before the next refresh.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Rename a dashboard
Renames a dashboard identified by id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| name required | string The new name of the sheet. |
Responses
Request samples
- Payload
{- "name": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Resume dashboard auto-updates
Resumes automatic query execution for a dashboard.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Add a blank dashboard
Creates a single blank dashboard with a generated name. Any request body is ignored.
Authorizations:
query Parameters
| index | integer 0-based tab position at which the new dashboard(s) are inserted, shifting the existing tab at that position (and beyond) to the right. index=0 inserts before the first tab. To append at the end (make it the last tab), omit the parameter or use a value >=n (where n is the current number of tabs). Negative values also append at the end. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}With Datasources operations, you can:
Refresh a datasource's data
Refreshes the live data for the datasource resolved by {id} (its internal name from GET /v0/workbook/datasources) the way the toolbar Refresh Data Source does: it lowers the query-cache timestamp and clears the mapped-image cache, then re-fetches the datasource from its source. This is NOT an extract refresh -- if the datasource is backed by an extract, the data stays fresh only through the extract's metadata date. A datasource with no data connection to refresh is a no-op SUCCEEDED Operation.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Refresh a datasource extract
Kicks off an extract refresh on the datasource resolved by {id} (its internal name from GET /v0/workbook/datasources). By default the refresh is incremental when the extract supports it; send isFullRefresh=true to force a full refresh. A datasource that has no refreshable extract is a no-op SUCCEEDED Operation.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| isFullRefresh | boolean Force a full refresh instead of an incremental one. Defaults to false: incremental when the extract supports it, otherwise a full refresh. |
Responses
Request samples
- Payload
{- "isFullRefresh": true
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}With Operations, you can:
List operations
Lists in-flight and recently-completed async operations.
Authorizations:
query Parameters
| state | string Return only operations in this state (an OperationState value); an unrecognized value matches nothing. |
| kind | string Return only operations of this command kind. |
Responses
Response samples
- 200
- 400
- 401
- 421
- 500
- 503
{- "operations": [
- {
- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Get an operation
Polls a single async operation by id until it reaches a terminal state.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}With Service operations, you can:
Get protected-resource metadata
Returns the RFC 9728 OAuth Protected Resource Metadata document, which advertises the authorization servers and bearer methods that clients use to authenticate against this loopback API.
Responses
Response samples
- 200
- 421
- 500
{- "authorization_servers": [
- "string"
], - "bearer_methods_supported": [
- "string"
]
}Get the API root
Returns the API and application version strings together with a link map that points to the available top-level resources.
Responses
Response samples
- 200
- 421
- 500
- 503
{- "apiVersion": "string",
- "applicationVersion": "string",
- "links": {
- "property1": "string",
- "property2": "string"
}
}With Site operations, you can:
List published datasources
Lists the datasources that have been published to the connected Tableau site.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "datasources": [
- {
- "id": "string",
- "luid": "string",
- "name": "string",
- "caption": "string",
- "project": "string"
}
]
}List storyboards
Lists the storyboards contained in the open workbook.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 421
- 500
- 503
{- "storyboards": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "storyPointCount": 0
}
]
}Get a storyboard
Returns the metadata for a single storyboard in the open workbook identified by its id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "storyPointCount": 0
}Get a storyboard document
Returns a single storyboard from the open workbook serialized as a Tableau XML subtree.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Responses
Response samples
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Apply a storyboard document
Replaces a single storyboard with the submitted Tableau XML, leaving the workbook's other sheets intact. The payload is checked for well-formed XML only and is NOT validated against the schema; use POST /v0/workbook/document:validate for XSD validation. This apply is unconditional last-writer-wins: it performs no precondition/If-Match check and will overwrite a concurrent edit to the same sheet. A concurrent rename of the target sheet is rejected as a failed operation (Tableau error 0xC655862E).
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Request Body schema: required
The workbook document as Tableau XML.
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
- 421
- 422
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Export a storyboard image
Renders a storyboard's active story point (resolved by id) as an image, returned inline as base64 or written to a caller-supplied file path.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
query Parameters
| filePath | string Path to write the image to. Must be absolute and name a file; a directory, a trailing slash, or any '.'/'..' path segment is rejected with a 400. When set, the response projects this path instead of inline base64; when omitted, the image is returned as base64. |
| mimeType | string Requested image MIME type (e.g. image/png, image/jpeg). The effective type is returned in the response. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 409
- 421
- 500
- 503
{- "imageBase64": "string",
- "filePath": "string",
- "effectiveMimeType": "string",
- "width": 0,
- "height": 0
}Delete a storyboard
Deletes a single storyboard by id. Deleting the workbook's last visible sheet is a no-op.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Rename a storyboard
Renames a storyboard identified by id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| name required | string The new name of the sheet. |
Responses
Request samples
- Payload
{- "name": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Add a blank storyboard
Creates a single blank storyboard with a generated name. Any request body is ignored.
Authorizations:
query Parameters
| index | integer 0-based tab position at which the new storyboard(s) are inserted, shifting the existing tab at that position (and beyond) to the right. index=0 inserts before the first tab. To append at the end (make it the last tab), omit the parameter or use a value >=n (where n is the current number of tabs). Negative values also append at the end. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}With Workbook operations, you can:
- Get the open workbook's metadata and sheet inventory
- List the datasources the workbook uses
- Get a workbook datasource
- Get a datasource document
- Apply a datasource document
- Get the workbook as Tableau XML
- Apply a workbook document
- Validate a workbook document
- Save the workbook
- Export the workbook
- Publish the workbook
- Go to a sheet
- Undo the last change
- Redo the last undone change
Get the open workbook
Returns the metadata and sheet inventory of the workbook currently open in Tableau Studio, or a 404 response when no workbook is open.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 421
- 500
- 503
{- "title": "string",
- "location": "string",
- "unsavedChanges": true,
- "worksheets": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "isAutoUpdatesPaused": true,
- "datasources": [
- "string"
]
}
], - "dashboards": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "isAutoUpdatesPaused": true,
- "containedSheets": [
- "string"
]
}
], - "storyboards": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "storyPointCount": 0
}
]
}List workbook datasources
Lists the datasources that the open workbook uses.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 421
- 500
- 503
{- "datasources": [
- {
- "id": "string",
- "luid": "string",
- "name": "string",
- "caption": "string",
- "type": "string",
- "isExtract": true,
- "hasDownloadFilePermission": true
}
]
}Get a workbook datasource
Returns metadata for a single datasource by its URL-encoded inventory id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "luid": "string",
- "name": "string",
- "caption": "string",
- "type": "string",
- "isExtract": true,
- "hasDownloadFilePermission": true
}Get a datasource document
Returns the datasource's local workbook representation as a Tableau XML subtree.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Responses
Response samples
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Apply a datasource document
Replaces one datasource's local workbook representation with the submitted Tableau XML, leaving all other datasources and sheets intact. A missing or empty body is rejected with 400 and a non-XML Content-Type with 415. Malformed or invalid workbook XML is rejected with 422. The payload must contain exactly one datasource whose internal name matches {id}; a mismatch is rejected with 409. The apply is unconditional last-writer-wins and does not publish changes to a server-side datasource.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Request Body schema: required
The datasource's Tableau XML -- either the bare
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
- 421
- 422
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Get the workbook document
Returns the entire open workbook serialized as a Tableau XML document.
Authorizations:
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Responses
Response samples
- 202
- 400
- 401
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Apply a workbook document
Replaces the open workbook with the submitted Tableau XML. The payload is checked for well-formed XML only and is NOT validated against the schema; use POST /v0/workbook/document:validate for XSD validation. This apply is unconditional last-writer-wins: it performs no precondition/If-Match check; it overwrites concurrent edits and (Overwrite policy) deletes sheets the payload omits.
Authorizations:
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Request Body schema: required
The workbook document as Tableau XML.
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 415
- 421
- 422
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Validate a workbook document
Validates the submitted Tableau XML document against the schema and reports any issues without applying it to the open workbook.
Authorizations:
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Request Body schema: required
The workbook document as Tableau XML.
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 415
- 421
- 500
- 503
{- "isValid": true,
- "validationIssues": [
- "string"
]
}Export the workbook
Exports the open workbook to a non-native format, leaving the open document unchanged. Both filePath and format are required. format selects what to produce: "pdf" (a PDF of every sheet), "powerpoint" (a .pptx with one slide per sheet), "packaged-workbook" (a .twbx bundling the workbook and its data), or "prior-version" (a down-saved copy for an older Tableau release). filePath must end in the extension that format produces (.pdf, .pptx, .twbx, or .twb/.twbx respectively) or the request is rejected. For "prior-version", also supply targetVersion as the customer-facing release string (e.g. "2024.1"); an unrecognized version is rejected. The export always writes to the supplied filePath and never opens a dialog, so it is fully headless.
Authorizations:
Request Body schema: application/jsonrequired
| filePath required | string Absolute path to write the export to. Its extension must match format: .pdf for pdf, .pptx for powerpoint, .twbx for packaged-workbook, and .twb or .twbx for prior-version. |
| format required | string Enum: "pdf" "powerpoint" "packaged-workbook" "prior-version" The export format that selects what file to produce. Only the listed values are accepted; any other value is rejected with a 400. |
| targetVersion | string Required when format is prior-version: the customer-facing Tableau release to down-save to (e.g. "2024.1"). Ignored for other formats. |
Responses
Request samples
- Payload
{- "filePath": "string",
- "format": "pdf",
- "targetVersion": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Go to a sheet
Makes the identified worksheet, dashboard, or storyboard the active sheet.
Authorizations:
Request Body schema: application/jsonrequired
| id required | string The identifier of the sheet to activate. |
Responses
Request samples
- Payload
{- "id": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Publish the workbook
Publishes the open workbook to the connected Tableau site by opening the Publish Workbook dialog. Because the dialog is interactive, a terminal SUCCEEDED reports that the flow finished, not that a publish landed: dismissing or cancelling the dialog also resolves to SUCCEEDED. Returns 404 when not signed in to a site.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Redo the last undone change
Reapplies the change most recently undone on the open workbook, equivalent to Edit > Redo.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Save the workbook
Saves the open workbook. Supply a filePath to save a copy to that path, or omit it to save the workbook in place at the path it already has. filePath must end in .twb or .twbx: save writes workbook content verbatim without converting, so any other extension is rejected rather than writing a mislabeled file. The save is headless whenever there is a path to write to -- a supplied filePath, or the existing path of an already-saved workbook. It cannot be headless in one case: a workbook that has never been saved has no existing path, so omitting filePath leaves nowhere to write and the product opens its native Save As dialog, which blocks until a person responds. Supply filePath to keep that case headless too.
Authorizations:
Request Body schema: application/jsonrequired
| filePath | string Absolute path to save a copy to; must end in .twb or .twbx. Omit to save the workbook in place at its current path. |
Responses
Request samples
- Payload
{- "filePath": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Undo the last change
Reverses the most recent change to the open workbook, equivalent to Edit > Undo.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}With Worksheets operations, you can:
- List the worksheets in the open workbook
- Get a single worksheet's metadata
- Get a worksheet as a Tableau XML subtree
- Apply a worksheet document
- Export a worksheet image
- Get a worksheet's summary data
- List a worksheet's logical tables
- Get a worksheet's underlying data
- Add a blank worksheet
- Rename a worksheet
- Delete a worksheet
- Pause worksheet auto-updates
- Resume worksheet auto-updates
- Apply Show Me to a worksheet
- Sort a worksheet
- Validate a calculated-field formula
List worksheets
Lists the worksheets contained in the open workbook.
Authorizations:
Responses
Response samples
- 200
- 202
- 400
- 401
- 421
- 500
- 503
{- "worksheets": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "isAutoUpdatesPaused": true,
- "datasources": [
- "string"
]
}
]
}Get a worksheet
Returns the metadata for a single worksheet in the open workbook identified by its id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "name": "string",
- "type": "string",
- "hidden": true,
- "isActiveSheet": true,
- "index": 0,
- "isAutoUpdatesPaused": true,
- "datasources": [
- "string"
]
}Get a worksheet document
Returns a single worksheet from the open workbook serialized as a Tableau XML subtree.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Responses
Response samples
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Apply a worksheet document
Replaces a single worksheet with the submitted Tableau XML, leaving the workbook's other sheets intact. The payload is checked for well-formed XML only and is NOT validated against the schema; use POST /v0/workbook/document:validate for XSD validation. This apply is unconditional last-writer-wins: it performs no precondition/If-Match check and will overwrite a concurrent edit to the same sheet. A concurrent rename of the target sheet is rejected as a failed operation (Tableau error 0xC655862E).
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
header Parameters
| X-Tableau-Effective-Payload-Version | string Tableau payload (file-format) version the client authored the document against. |
Request Body schema: required
The workbook document as Tableau XML.
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 409
- 415
- 421
- 422
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Export a worksheet image
Renders a single worksheet (resolved by id) as an image, returned inline as base64 or written to a caller-supplied file path.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
query Parameters
| filePath | string Path to write the image to. Must be absolute and name a file; a directory, a trailing slash, or any '.'/'..' path segment is rejected with a 400. When set, the response projects this path instead of inline base64; when omitted, the image is returned as base64. |
| mimeType | string Requested image MIME type (e.g. image/png, image/jpeg). The effective type is returned in the response. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 409
- 421
- 500
- 503
{- "imageBase64": "string",
- "filePath": "string",
- "effectiveMimeType": "string",
- "width": 0,
- "height": 0
}List worksheet logical tables
Lists the logical table ids and captions available for a worksheet's underlying data.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "tables": [
- {
- "id": "string",
- "caption": "string"
}
]
}Get worksheet underlying data
Returns the underlying data for one logical table of a worksheet as JSON.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
| logicalTableId required | string Logical table id from the worksheet's logicalTables list. |
query Parameters
| maxRows | integer Maximum number of data rows to return. |
| ignoreAliases | boolean Return underlying values instead of display aliases. |
| ignoreSelection | boolean Return all data rather than only the current selection. |
| includeAllColumns | boolean Include every column rather than only the referenced columns. |
| columnsToIncludeByFieldName | Array of strings Restricts the returned columns. Each value is a base source-column name qualified by the datasource caption (e.g. "[Sample - Superstore].[Sales]"). A value that matches no column is silently ignored. Repeat the parameter to name several; values are not comma-split, so a name may contain a comma. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "columns": [
- {
- "name": "string",
- "dataType": "string"
}
], - "rows": [
- [ ]
]
}Get worksheet summary data
Returns the summary, or logical table, data for a single worksheet as JSON, optionally limited by maximum row count, current selection, display aliases, and a set of included columns.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
query Parameters
| maxRows | integer Maximum number of data rows to return. |
| ignoreAliases | boolean Determines whether underlying values are returned instead of display aliases ( |
| ignoreSelection | boolean Determines whether all data is returned rather than only the current selection ( |
| columnsToIncludeByFieldName | Array of strings Comma-separated field names to restrict the returned columns. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 404
- 421
- 500
- 503
{- "columns": [
- {
- "name": "string",
- "dataType": "string"
}
], - "rows": [
- [ ]
]
}Delete a worksheet
Deletes a single worksheet by id. Deleting the workbook's last visible sheet is a no-op.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Pause worksheet auto-updates
Pauses automatic query execution for a worksheet so several edits can be batched before the next refresh.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Rename a worksheet
Renames a worksheet identified by id.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| name required | string The new name of the sheet. |
Responses
Request samples
- Payload
{- "name": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Resume worksheet auto-updates
Resumes automatic query execution for a worksheet.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Apply Show Me to a worksheet
Applies a concrete Show Me visualization type to a worksheet using optional datasource and fully qualified selected-field context.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| showMeType required | string Enum: "text" "heat" "spot-table" "bar-horiz" "bar-stack" "bar-side" "bar-measure" "o-line" "qi-line" "o-area" "qi-area" "circle" "circle-side" "gantt" "scatter" "scatter-matrix" "histogram" "maps" "filled-maps" "pies" "dual-bar-line" "dual-line" "bullet" "treemap" "bubble" "box-plot" The serialized Show Me visualization type to apply. |
| dataSource | string Optional internal datasource name used to resolve selected fields. |
| fieldsSelectedInSchemaViewer | Array of strings Optional fully qualified encoded field names, each with at least a datasource and field component. An explicit empty array supplies an empty field selection; omission preserves ambient selection. |
Responses
Request samples
- Payload
{- "showMeType": "text",
- "dataSource": "string",
- "fieldsSelectedInSchemaViewer": [
- "string"
]
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Sort a worksheet
Applies a sort by field, direction, and type to a worksheet without opening the sort dialog.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| fieldName required | string The on-shelf field to sort, given as its fully-qualified column-instance name exactly as it appears in the worksheet document's |
| direction | string Enum: "asc" "desc" Sort direction; defaults to 'asc' when omitted. Only the listed values are accepted; any other value is rejected with a 400. |
| sortType | string Enum: "data-source-order" "alpha" Sort type; defaults to 'data-source-order' when omitted. Only the listed values are accepted; any other value is rejected with a 400. |
| clearSort | boolean Determines whether any existing sort on the field is cleared ( |
Responses
Request samples
- Payload
{- "fieldName": "string",
- "direction": "asc",
- "sortType": "data-source-order",
- "clearSort": true
}Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}Validate a calculated-field formula
Validates a calculated-field formula against a worksheet's data model without adding or changing any field. On a worksheet with more than one data source, a formula that does not qualify its fields with a data source is validated against the worksheet's active data source.
Authorizations:
path Parameters
| id required | string The resource's stable id as returned in its list or GET response, not its display name or caption. |
Request Body schema: application/jsonrequired
| formula required | string The calculated-field formula text to validate. |
Responses
Request samples
- Payload
{- "formula": "string"
}Response samples
- 200
- 202
- 400
- 401
- 403
- 404
- 421
- 500
- 503
{- "isValid": true,
- "errors": [
- {
- "position": 0,
- "length": 0,
- "message": "string"
}
]
}Add a blank worksheet
Creates a single blank worksheet with a generated name. Any request body is ignored.
Authorizations:
query Parameters
| index | integer 0-based tab position at which the new worksheet(s) are inserted, shifting the existing tab at that position (and beyond) to the right. index=0 inserts before the first tab. To append at the end (make it the last tab), omit the parameter or use a value >=n (where n is the current number of tabs). Negative values also append at the end. |
Responses
Response samples
- 200
- 202
- 400
- 401
- 403
- 421
- 500
- 503
{- "id": "string",
- "kind": "string",
- "state": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "completedAt": "string",
- "error": {
- "code": "string",
- "message": "string"
}, - "result": { },
- "warnings": [
- {
- "code": "string",
- "message": "string"
}
], - "blockingWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
], - "progressWindows": [
- {
- "objectName": "string",
- "title": "string",
- "className": "string",
- "messageText": "string",
- "informativeText": "string",
- "detailedText": "string",
- "iconLevel": "string",
- "buttons": [
- "string"
]
}
]
}