openapi: 3.1.0 info: version: 3.24.0 title: Tableau REST API description: >- The Tableau REST API allows you to manage and change Tableau Server and Tableau Cloud resources programmatically using HTTP. You can use the REST API to manage sites, projects, workbooks, views, data sources, users, groups, permissions, schedules, subscriptions, and more. license: name: Proprietary url: https://www.tableau.com/legal termsOfService: https://www.tableau.com/legal contact: name: Tableau Developer Support url: https://www.tableau.com/support servers: - url: https://{server}/api/{api-version} description: Tableau Server or Tableau Cloud variables: server: default: 10ax.online.tableau.com description: >- The hostname of your Tableau Server or Tableau Cloud site. For Tableau Cloud, use the pod URL (e.g., 10ax.online.tableau.com). For Tableau Server, use your server hostname. api-version: default: '3.24' description: >- The version of the REST API to use. The API version corresponds to the version of Tableau Server or Tableau Cloud. enum: - '3.24' - '3.23' - '3.22' - '3.21' - '3.20' - '3.19' externalDocs: description: Tableau REST API Reference url: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm tags: - name: Authentication description: >- Sign in and sign out of Tableau Server or Tableau Cloud. You must sign in to obtain an authentication token before calling other methods. - name: Data Sources description: >- Publish, query, update, delete, and download data sources. Data sources define the connection to data and can be shared across multiple workbooks. - name: Favorites description: >- Add and remove content items from a user's list of favorites, including workbooks, views, data sources, projects, and flows. - name: Groups description: >- Create, update, delete, and query groups. Groups are collections of users that simplify permission management. - name: Jobs description: >- Query and cancel background jobs on a site, including extract refreshes, subscriptions, and flow runs. - name: Permissions description: >- Query and set permissions on content items including workbooks, data sources, projects, views, and flows. - name: Projects description: >- Create, update, delete, and query projects. Projects are containers for organizing workbooks, data sources, and other content on a site. - name: Schedules description: >- Create, update, delete, and query schedules for extract refreshes and subscriptions on Tableau Server. - name: Sites description: >- Manage sites on Tableau Server. A site is a collection of users, groups, projects, workbooks, data sources, and other resources. - name: Subscriptions description: >- Create, update, delete, and query subscriptions. Subscriptions deliver snapshots of views to users on a schedule. - name: Users description: >- Add, update, remove, and query users on a site. Users are individuals who can sign in to Tableau Server or Tableau Cloud. - name: Views description: >- Query views and download view images or data. Views are the individual sheets, dashboards, or stories within a workbook. - name: Workbooks description: >- Publish, query, update, delete, and download workbooks. Workbooks contain one or more views (sheets, dashboards, or stories) and can connect to one or more data sources. security: - TableauAuth: [] paths: # ── Authentication ────────────────────────────────────────── /auth/signin: post: operationId: signIn summary: Tableau Sign in description: >- Signs you in as a user on the specified site on Tableau Server or Tableau Cloud. This call returns an authentication token that you use in subsequent calls to the server. Typically, a credentials token is valid for 240 minutes. tags: - Authentication security: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SignInRequest' examples: SigninRequestExample: summary: Default signIn request x-microcks-default: true value: credentials: name: Example Title password: example_value personalAccessTokenName: example_value personalAccessTokenSecret: example_value site: contentUrl: https://www.example.com responses: '200': description: Successfully signed in. content: application/json: schema: $ref: '#/components/schemas/SignInResponse' examples: Signin200Example: summary: Default signIn 200 response x-microcks-default: true value: credentials: token: example_value site: id: abc123 contentUrl: https://www.example.com user: id: abc123 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /auth/signout: post: operationId: signOut summary: Tableau Sign Out description: >- Signs you out of the current session. This invalidates the authentication token. tags: - Authentication responses: '204': description: Successfully signed out. '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /auth/switchSite: post: operationId: switchSite summary: Tableau Switch Site description: >- Switches you to the specified site without having to provide a user name and password again. The new site must be on the same server. tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: site: type: object properties: contentUrl: type: string description: The URL namespace of the site to switch to. examples: SwitchsiteRequestExample: summary: Default switchSite request x-microcks-default: true value: site: contentUrl: https://www.example.com responses: '200': description: Successfully switched to the specified site. content: application/json: schema: $ref: '#/components/schemas/SignInResponse' # ── Sites ─────────────────────────────────────────────────── examples: Switchsite200Example: summary: Default switchSite 200 response x-microcks-default: true value: credentials: token: example_value site: id: abc123 contentUrl: https://www.example.com user: id: abc123 x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites: get: operationId: querySites summary: Tableau Query Sites description: >- Returns a list of the sites on the server that the caller has access to. This method is available to Tableau Server administrators. tags: - Sites parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A paginated list of sites. content: application/json: schema: $ref: '#/components/schemas/SiteListResponse' examples: Querysites200Example: summary: Default querySites 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 sites: site: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createSite summary: Tableau Create Site description: >- Creates a site on Tableau Server. To create a site, you must be a server administrator. Not available for Tableau Cloud. tags: - Sites requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSiteRequest' examples: CreatesiteRequestExample: summary: Default createSite request x-microcks-default: true value: site: name: Example Title contentUrl: https://www.example.com adminMode: ContentAndUsers userQuota: 10 storageQuota: 10 disableSubscriptions: true responses: '201': description: Site was created successfully. content: application/json: schema: $ref: '#/components/schemas/SiteResponse' examples: Createsite201Example: summary: Default createSite 201 response x-microcks-default: true value: site: id: abc123 name: Example Title contentUrl: https://www.example.com adminMode: ContentAndUsers state: Active storageQuota: 10 userQuota: 10 numCreators: 10 numExplorers: 10 numViewers: 10 disableSubscriptions: true revision: example_value usage: numUsers: 10 storage: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}: get: operationId: querySite summary: Tableau Query Site description: >- Returns information about the specified site, with the option to return information about the storage space and the number of users. tags: - Sites parameters: - $ref: '#/components/parameters/SiteId' - name: includeUsageStatistics in: query schema: type: boolean default: false description: If true, returns usage statistics for the site. example: true responses: '200': description: Site details. content: application/json: schema: $ref: '#/components/schemas/SiteResponse' examples: Querysite200Example: summary: Default querySite 200 response x-microcks-default: true value: site: id: abc123 name: Example Title contentUrl: https://www.example.com adminMode: ContentAndUsers state: Active storageQuota: 10 userQuota: 10 numCreators: 10 numExplorers: 10 numViewers: 10 disableSubscriptions: true revision: example_value usage: numUsers: 10 storage: 10 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateSite summary: Tableau Update Site description: >- Updates the settings for the specified site, including the name, URL namespace, storage quota, and other settings. tags: - Sites parameters: - $ref: '#/components/parameters/SiteId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateSiteRequest' examples: UpdatesiteRequestExample: summary: Default updateSite request x-microcks-default: true value: site: name: Example Title contentUrl: https://www.example.com adminMode: ContentAndUsers state: Active storageQuota: 10 userQuota: 10 disableSubscriptions: true revision: example_value responses: '200': description: Site was updated successfully. content: application/json: schema: $ref: '#/components/schemas/SiteResponse' examples: Updatesite200Example: summary: Default updateSite 200 response x-microcks-default: true value: site: id: abc123 name: Example Title contentUrl: https://www.example.com adminMode: ContentAndUsers state: Active storageQuota: 10 userQuota: 10 numCreators: 10 numExplorers: 10 numViewers: 10 disableSubscriptions: true revision: example_value usage: numUsers: 10 storage: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteSite summary: Tableau Delete Site description: >- Deletes the specified site. Deleting a site also deletes all content on the site including workbooks, data sources, users, etc. tags: - Sites parameters: - $ref: '#/components/parameters/SiteId' responses: '204': description: Site was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' # ── Projects ──────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/projects: get: operationId: queryProjects summary: Tableau Query Projects description: >- Returns a list of projects on the specified site, with optional pagination. You can filter and sort the list of projects. tags: - Projects parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Sort' responses: '200': description: A paginated list of projects. content: application/json: schema: $ref: '#/components/schemas/ProjectListResponse' examples: Queryprojects200Example: summary: Default queryProjects 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 projects: project: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createProject summary: Tableau Create Project description: >- Creates a project on the specified site. You can also create project hierarchies by setting a parent project. tags: - Projects parameters: - $ref: '#/components/parameters/SiteId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' examples: CreateprojectRequestExample: summary: Default createProject request x-microcks-default: true value: project: name: Example Title description: A sample description. parentProjectId: '500123' contentPermissions: LockedToProject responses: '201': description: Project was created successfully. content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' examples: Createproject201Example: summary: Default createProject 201 response x-microcks-default: true value: project: id: abc123 name: Example Title description: A sample description. parentProjectId: '500123' contentPermissions: LockedToProject createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' owner: id: abc123 topLevelProject: true '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/projects/{project-id}: put: operationId: updateProject summary: Tableau Update Project description: >- Updates the name, description, or project hierarchy of the specified project. tags: - Projects parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateProjectRequest' examples: UpdateprojectRequestExample: summary: Default updateProject request x-microcks-default: true value: project: name: Example Title description: A sample description. parentProjectId: '500123' contentPermissions: LockedToProject responses: '200': description: Project was updated successfully. content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' examples: Updateproject200Example: summary: Default updateProject 200 response x-microcks-default: true value: project: id: abc123 name: Example Title description: A sample description. parentProjectId: '500123' contentPermissions: LockedToProject createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' owner: id: abc123 topLevelProject: true '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteProject summary: Tableau Delete Project description: >- Deletes the specified project on a site. When you delete a project, all Tableau assets inside the project are also deleted. tags: - Projects parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ProjectId' responses: '204': description: Project was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' # ── Workbooks ─────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks: get: operationId: queryWorkbooksForSite summary: Tableau Query Workbooks for Site description: >- Returns the workbooks on a site. If the user is not an administrator, the method returns just the workbooks that the user has permissions to view. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Fields' responses: '200': description: A paginated list of workbooks. content: application/json: schema: $ref: '#/components/schemas/WorkbookListResponse' examples: Queryworkbooksforsite200Example: summary: Default queryWorkbooksForSite 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 workbooks: workbook: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}: get: operationId: queryWorkbook summary: Tableau Query Workbook description: >- Returns information about the specified workbook, including information about views and tags. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' responses: '200': description: Workbook details. content: application/json: schema: $ref: '#/components/schemas/WorkbookResponse' examples: Queryworkbook200Example: summary: Default queryWorkbook 200 response x-microcks-default: true value: workbook: id: abc123 name: Example Title description: A sample description. contentUrl: https://www.example.com webpageUrl: https://www.example.com showTabs: true size: 10 createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' encryptExtracts: example_value defaultViewId: '500123' project: id: abc123 name: Example Title owner: id: abc123 name: Example Title tags: tag: {} views: view: {} usage: totalViewCount: 10 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateWorkbook summary: Tableau Update Workbook description: >- Modifies an existing workbook, allowing you to change the owner, project, or other properties. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateWorkbookRequest' examples: UpdateworkbookRequestExample: summary: Default updateWorkbook request x-microcks-default: true value: workbook: name: Example Title showTabs: true project: id: abc123 owner: id: abc123 encryptExtracts: example_value responses: '200': description: Workbook was updated successfully. content: application/json: schema: $ref: '#/components/schemas/WorkbookResponse' examples: Updateworkbook200Example: summary: Default updateWorkbook 200 response x-microcks-default: true value: workbook: id: abc123 name: Example Title description: A sample description. contentUrl: https://www.example.com webpageUrl: https://www.example.com showTabs: true size: 10 createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' encryptExtracts: example_value defaultViewId: '500123' project: id: abc123 name: Example Title owner: id: abc123 name: Example Title tags: tag: {} views: view: {} usage: totalViewCount: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteWorkbook summary: Tableau Delete Workbook description: >- Deletes a workbook. When a workbook is deleted, all of its assets are also deleted, including associated views. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' responses: '204': description: Workbook was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/connections: get: operationId: queryWorkbookConnections summary: Tableau Query Workbook Connections description: >- Returns a list of data connections for the specified workbook. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' responses: '200': description: A list of data connections for the workbook. content: application/json: schema: $ref: '#/components/schemas/ConnectionListResponse' examples: Queryworkbookconnections200Example: summary: Default queryWorkbookConnections 200 response x-microcks-default: true value: connections: connection: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/content: get: operationId: downloadWorkbook summary: Tableau Download Workbook description: >- Downloads a workbook in .twb or .twbx format. If the workbook contains extracts, the download is in .twbx format. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' - name: extractValue in: query schema: type: boolean default: true description: >- If true, and the workbook contains extracts, the download includes the extracts. example: true responses: '200': description: The workbook file. content: application/octet-stream: schema: type: string format: binary examples: Downloadworkbook200Example: summary: Default downloadWorkbook 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/previewImage: get: operationId: queryWorkbookPreviewImage summary: Tableau Query Workbook Preview Image description: >- Returns the thumbnail image for the specified workbook as a PNG file. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' responses: '200': description: A PNG preview image of the workbook. content: image/png: schema: type: string format: binary examples: Queryworkbookpreviewimage200Example: summary: Default queryWorkbookPreviewImage 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/views: get: operationId: queryViewsForWorkbook summary: Tableau Query Views for Workbook description: >- Returns all the views for the specified workbook, optionally including usage statistics. tags: - Views - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' - name: includeUsageStatistics in: query schema: type: boolean default: false description: If true, returns usage statistics for each view. example: true responses: '200': description: A list of views for the workbook. content: application/json: schema: $ref: '#/components/schemas/ViewListResponse' examples: Queryviewsforworkbook200Example: summary: Default queryViewsForWorkbook 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 views: view: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/publish: post: operationId: publishWorkbook summary: Tableau Publish Workbook description: >- Publishes a workbook on the specified site. To make changes to an existing workbook, call Update Workbook or Publish Workbook with overwrite set to true. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - name: overwrite in: query schema: type: boolean default: false description: >- If true, overwrites an existing workbook with the same name in the same project. example: true - name: skipConnectionCheck in: query schema: type: boolean default: false description: If true, skips the connection check during publish. example: true requestBody: required: true content: multipart/mixed: schema: type: object properties: request_payload: $ref: '#/components/schemas/PublishWorkbookRequest' tableau_workbook: type: string format: binary description: The workbook file (.twb or .twbx). examples: PublishworkbookRequestExample: summary: Default publishWorkbook request x-microcks-default: true value: request_payload: workbook: name: Example Title description: A sample description. showTabs: true project: id: abc123 connections: connection: {} tableau_workbook: example_value responses: '201': description: Workbook was published successfully. content: application/json: schema: $ref: '#/components/schemas/WorkbookResponse' examples: Publishworkbook201Example: summary: Default publishWorkbook 201 response x-microcks-default: true value: workbook: id: abc123 name: Example Title description: A sample description. contentUrl: https://www.example.com webpageUrl: https://www.example.com showTabs: true size: 10 createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' encryptExtracts: example_value defaultViewId: '500123' project: id: abc123 name: Example Title owner: id: abc123 name: Example Title tags: tag: {} views: view: {} usage: totalViewCount: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/tags: get: operationId: queryWorkbookTags summary: Tableau Query Workbook Tags description: >- Returns a list of tags that have been added to the specified workbook. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' responses: '200': description: A list of tags on the workbook. content: application/json: schema: $ref: '#/components/schemas/TagListResponse' examples: Queryworkbooktags200Example: summary: Default queryWorkbookTags 200 response x-microcks-default: true value: tags: tag: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: addTagsToWorkbook summary: Tableau Add Tags to Workbook description: >- Adds one or more tags to the specified workbook. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TagListRequest' examples: AddtagstoworkbookRequestExample: summary: Default addTagsToWorkbook request x-microcks-default: true value: tags: tag: - {} responses: '200': description: Tags were added successfully. content: application/json: schema: $ref: '#/components/schemas/TagListResponse' examples: Addtagstoworkbook200Example: summary: Default addTagsToWorkbook 200 response x-microcks-default: true value: tags: tag: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/tags/{tag-name}: delete: operationId: deleteTagFromWorkbook summary: Tableau Delete Tag From Workbook description: >- Deletes a tag from the specified workbook. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' - name: tag-name in: path required: true schema: type: string description: The name of the tag to delete. example: example_value responses: '204': description: Tag was deleted successfully. x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/revisions: get: operationId: getWorkbookRevisions summary: Tableau Get Workbook Revisions description: >- Returns a list of revision information (revision number, published date, and other metadata) for each revision of the specified workbook. tags: - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A list of workbook revisions. content: application/json: schema: $ref: '#/components/schemas/RevisionListResponse' # ── Views ─────────────────────────────────────────────────── examples: Getworkbookrevisions200Example: summary: Default getWorkbookRevisions 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 revisions: revision: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views: get: operationId: queryViewsForSite summary: Tableau Query Views for Site description: >- Returns all the views for the specified site, optionally including usage statistics. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Fields' - name: includeUsageStatistics in: query schema: type: boolean default: false description: If true, returns usage statistics for each view. example: true responses: '200': description: A paginated list of views. content: application/json: schema: $ref: '#/components/schemas/ViewListResponse' examples: Queryviewsforsite200Example: summary: Default queryViewsForSite 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 views: view: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views/{view-id}: get: operationId: queryViewById summary: Tableau Query View by Id description: >- Returns details about the specified view, including the view name, owner, project, and usage statistics. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ViewId' responses: '200': description: View details. content: application/json: schema: $ref: '#/components/schemas/ViewResponse' examples: Queryviewbyid200Example: summary: Default queryViewById 200 response x-microcks-default: true value: view: id: abc123 name: Example Title contentUrl: https://www.example.com createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' viewUrlName: https://www.example.com sheetType: worksheet project: id: abc123 name: Example Title owner: id: abc123 name: Example Title workbook: id: abc123 name: Example Title tags: tag: {} usage: totalViewCount: 10 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views/{view-id}/image: get: operationId: queryViewImage summary: Tableau Query View Image description: >- Returns an image of the specified view rendered as a PNG file. You can specify the resolution of the image. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ViewId' - name: resolution in: query schema: type: string enum: - standard - high default: standard description: The resolution of the image (standard or high). example: standard - name: maxAge in: query schema: type: integer minimum: 1 description: >- The maximum number of minutes a view image can be cached before being refreshed. example: 10 - name: vf_ in: query schema: type: string description: >- Apply a filter to the view. Replace with the name of the filter field. example: example_value responses: '200': description: A PNG image of the view. content: image/png: schema: type: string format: binary examples: Queryviewimage200Example: summary: Default queryViewImage 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views/{view-id}/data: get: operationId: queryViewData summary: Tableau Query View Data description: >- Returns the data used in a view as a comma-separated values (CSV) file. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ViewId' - name: maxAge in: query schema: type: integer minimum: 1 description: >- The maximum number of minutes a view can be cached before being refreshed. example: 10 - name: vf_ in: query schema: type: string description: >- Apply a filter to the view. Replace with the name of the filter field. example: example_value responses: '200': description: CSV data for the view. content: text/csv: schema: type: string examples: Queryviewdata200Example: summary: Default queryViewData 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views/{view-id}/pdf: get: operationId: queryViewPDF summary: Tableau Query View Pdf description: >- Returns a PDF rendering of the specified view. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ViewId' - name: type in: query schema: type: string enum: - A3 - A4 - A5 - B4 - B5 - Executive - Folio - Ledger - Legal - Letter - Note - Quarto - Tabloid - Unspecified default: Letter description: The paper size for the PDF. example: A3 - name: orientation in: query schema: type: string enum: - portrait - landscape default: portrait description: The orientation of the PDF. example: portrait responses: '200': description: A PDF rendering of the view. content: application/pdf: schema: type: string format: binary examples: Queryviewpdf200Example: summary: Default queryViewPDF 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views/{view-id}/previewImage: get: operationId: queryViewPreviewImage summary: Tableau Query View Preview Image description: >- Returns the thumbnail image for the specified view as a PNG file. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ViewId' responses: '200': description: A PNG preview image of the view. content: image/png: schema: type: string format: binary examples: Queryviewpreviewimage200Example: summary: Default queryViewPreviewImage 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/views/{view-id}/recommendations: get: operationId: getRecommendationsForViews summary: Tableau Get Recommendations for Views description: >- Returns a list of views that are recommended for a user, based on their viewing history. tags: - Views parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ViewId' responses: '200': description: A list of recommended views. content: application/json: schema: $ref: '#/components/schemas/ViewListResponse' # ── Data Sources ──────────────────────────────────────────── examples: Getrecommendationsforviews200Example: summary: Default getRecommendationsForViews 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 views: view: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources: get: operationId: queryDataSources summary: Tableau Query Data Sources description: >- Returns a list of published data sources on the specified site, with optional pagination, filtering, and sorting. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Sort' - $ref: '#/components/parameters/Fields' responses: '200': description: A paginated list of data sources. content: application/json: schema: $ref: '#/components/schemas/DataSourceListResponse' examples: Querydatasources200Example: summary: Default queryDataSources 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 datasources: datasource: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources/{datasource-id}: get: operationId: queryDataSource summary: Tableau Query Data Source description: >- Returns information about the specified data source. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' responses: '200': description: Data source details. content: application/json: schema: $ref: '#/components/schemas/DataSourceResponse' examples: Querydatasource200Example: summary: Default queryDataSource 200 response x-microcks-default: true value: datasource: id: abc123 name: Example Title description: A sample description. contentUrl: https://www.example.com type: example_value createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' isCertified: true certificationNote: example_value useRemoteQueryAgent: true hasExtracts: true encryptExtracts: example_value project: id: abc123 name: Example Title owner: id: abc123 name: Example Title tags: tag: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateDataSource summary: Tableau Update Data Source description: >- Updates the owner, project, or certification status of the specified data source. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDataSourceRequest' examples: UpdatedatasourceRequestExample: summary: Default updateDataSource request x-microcks-default: true value: datasource: name: Example Title project: id: abc123 owner: id: abc123 isCertified: true certificationNote: example_value encryptExtracts: example_value responses: '200': description: Data source was updated successfully. content: application/json: schema: $ref: '#/components/schemas/DataSourceResponse' examples: Updatedatasource200Example: summary: Default updateDataSource 200 response x-microcks-default: true value: datasource: id: abc123 name: Example Title description: A sample description. contentUrl: https://www.example.com type: example_value createdAt: '2026-01-15T10:30:00Z' updatedAt: '2026-01-15T10:30:00Z' isCertified: true certificationNote: example_value useRemoteQueryAgent: true hasExtracts: true encryptExtracts: example_value project: id: abc123 name: Example Title owner: id: abc123 name: Example Title tags: tag: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteDataSource summary: Tableau Delete Data Source description: >- Deletes the specified data source from a site. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' responses: '204': description: Data source was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources/{datasource-id}/content: get: operationId: downloadDataSource summary: Tableau Download Data Source description: >- Downloads the specified data source in .tdsx format. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' - name: includeExtract in: query schema: type: boolean default: true description: >- If true and the data source contains an extract, the download includes the extract. example: true responses: '200': description: The data source file. content: application/octet-stream: schema: type: string format: binary examples: Downloaddatasource200Example: summary: Default downloadDataSource 200 response x-microcks-default: true value: example_value '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources/{datasource-id}/connections: get: operationId: queryDataSourceConnections summary: Tableau Query Data Source Connections description: >- Returns a list of data connections for the specified data source. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' responses: '200': description: A list of data connections for the data source. content: application/json: schema: $ref: '#/components/schemas/ConnectionListResponse' examples: Querydatasourceconnections200Example: summary: Default queryDataSourceConnections 200 response x-microcks-default: true value: connections: connection: - {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources/{datasource-id}/revisions: get: operationId: getDataSourceRevisions summary: Tableau Get Data Source Revisions description: >- Returns a list of revision information for each revision of the specified data source. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A list of data source revisions. content: application/json: schema: $ref: '#/components/schemas/RevisionListResponse' examples: Getdatasourcerevisions200Example: summary: Default getDataSourceRevisions 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 revisions: revision: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources/{datasource-id}/tags: get: operationId: queryDataSourceTags summary: Tableau Query Data Source Tags description: >- Returns a list of tags associated with the specified data source. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' responses: '200': description: A list of tags on the data source. content: application/json: schema: $ref: '#/components/schemas/TagListResponse' examples: Querydatasourcetags200Example: summary: Default queryDataSourceTags 200 response x-microcks-default: true value: tags: tag: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: addTagsToDataSource summary: Tableau Add Tags to Data Source description: >- Adds one or more tags to the specified data source. tags: - Data Sources parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TagListRequest' examples: AddtagstodatasourceRequestExample: summary: Default addTagsToDataSource request x-microcks-default: true value: tags: tag: - {} responses: '200': description: Tags were added successfully. content: application/json: schema: $ref: '#/components/schemas/TagListResponse' # ── Users ─────────────────────────────────────────────────── examples: Addtagstodatasource200Example: summary: Default addTagsToDataSource 200 response x-microcks-default: true value: tags: tag: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/users: get: operationId: getUsers summary: Tableau Get Users on Site description: >- Returns the users associated with the specified site. tags: - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Sort' responses: '200': description: A paginated list of users. content: application/json: schema: $ref: '#/components/schemas/UserListResponse' examples: Getusers200Example: summary: Default getUsers 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 users: user: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: addUserToSite summary: Tableau Add User to Site description: >- Adds a user to the specified site. The user must already exist on the server or in the identity store. tags: - Users parameters: - $ref: '#/components/parameters/SiteId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddUserRequest' examples: AddusertositeRequestExample: summary: Default addUserToSite request x-microcks-default: true value: user: name: Example Title siteRole: Creator authSetting: example_value responses: '201': description: User was added successfully. content: application/json: schema: $ref: '#/components/schemas/UserResponse' examples: Addusertosite201Example: summary: Default addUserToSite 201 response x-microcks-default: true value: user: id: abc123 name: Example Title fullName: example_value email: user@example.com siteRole: Creator authSetting: example_value lastLogin: '2026-01-15T10:30:00Z' externalAuthUserId: '500123' locale: example_value language: example_value '409': $ref: '#/components/responses/Conflict' x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/users/{user-id}: get: operationId: queryUser summary: Tableau Query User on Site description: >- Returns information about the specified user on the site. tags: - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/UserId' responses: '200': description: User details. content: application/json: schema: $ref: '#/components/schemas/UserResponse' examples: Queryuser200Example: summary: Default queryUser 200 response x-microcks-default: true value: user: id: abc123 name: Example Title fullName: example_value email: user@example.com siteRole: Creator authSetting: example_value lastLogin: '2026-01-15T10:30:00Z' externalAuthUserId: '500123' locale: example_value language: example_value '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateUser summary: Tableau Update User description: >- Modifies information about the specified user. tags: - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/UserId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateUserRequest' examples: UpdateuserRequestExample: summary: Default updateUser request x-microcks-default: true value: user: fullName: example_value email: user@example.com siteRole: Creator authSetting: example_value responses: '200': description: User was updated successfully. content: application/json: schema: $ref: '#/components/schemas/UserResponse' examples: Updateuser200Example: summary: Default updateUser 200 response x-microcks-default: true value: user: id: abc123 name: Example Title fullName: example_value email: user@example.com siteRole: Creator authSetting: example_value lastLogin: '2026-01-15T10:30:00Z' externalAuthUserId: '500123' locale: example_value language: example_value x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: removeUserFromSite summary: Tableau Remove User From Site description: >- Removes the specified user from the site. tags: - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/UserId' responses: '204': description: User was removed successfully. x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/users/{user-id}/workbooks: get: operationId: queryWorkbooksForUser summary: Tableau Query Workbooks for User description: >- Returns the workbooks that the specified user owns or has Read (view) permissions for. tags: - Users - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/UserId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A paginated list of workbooks for the user. content: application/json: schema: $ref: '#/components/schemas/WorkbookListResponse' # ── Groups ────────────────────────────────────────────────── examples: Queryworkbooksforuser200Example: summary: Default queryWorkbooksForUser 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 workbooks: workbook: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/groups: get: operationId: queryGroups summary: Tableau Query Groups description: >- Returns a list of groups on the specified site. tags: - Groups parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' - $ref: '#/components/parameters/Sort' responses: '200': description: A paginated list of groups. content: application/json: schema: $ref: '#/components/schemas/GroupListResponse' examples: Querygroups200Example: summary: Default queryGroups 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 groups: group: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createGroup summary: Tableau Create Group description: >- Creates a group on the specified site. tags: - Groups parameters: - $ref: '#/components/parameters/SiteId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateGroupRequest' examples: CreategroupRequestExample: summary: Default createGroup request x-microcks-default: true value: group: name: Example Title minimumSiteRole: Creator responses: '201': description: Group was created successfully. content: application/json: schema: $ref: '#/components/schemas/GroupResponse' examples: Creategroup201Example: summary: Default createGroup 201 response x-microcks-default: true value: group: id: abc123 name: Example Title domainName: example_value minimumSiteRole: Creator userCount: 10 import: domainName: example_value siteRole: example_value grantLicenseMode: example_value x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/groups/{group-id}: put: operationId: updateGroup summary: Tableau Update Group description: >- Updates the name or Active Directory configuration of the specified group. tags: - Groups parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/GroupId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateGroupRequest' examples: UpdategroupRequestExample: summary: Default updateGroup request x-microcks-default: true value: group: name: Example Title minimumSiteRole: Creator responses: '200': description: Group was updated successfully. content: application/json: schema: $ref: '#/components/schemas/GroupResponse' examples: Updategroup200Example: summary: Default updateGroup 200 response x-microcks-default: true value: group: id: abc123 name: Example Title domainName: example_value minimumSiteRole: Creator userCount: 10 import: domainName: example_value siteRole: example_value grantLicenseMode: example_value x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteGroup summary: Tableau Delete Group description: >- Deletes the specified group from the site. tags: - Groups parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/GroupId' responses: '204': description: Group was deleted successfully. x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/groups/{group-id}/users: get: operationId: getGroupMembers summary: Tableau Get Group Members description: >- Returns a list of users who are members of the specified group. tags: - Groups - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/GroupId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A list of users in the group. content: application/json: schema: $ref: '#/components/schemas/UserListResponse' examples: Getgroupmembers200Example: summary: Default getGroupMembers 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 users: user: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: addUserToGroup summary: Tableau Add User to Group description: >- Adds a user to the specified group. tags: - Groups - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/GroupId' requestBody: required: true content: application/json: schema: type: object properties: user: type: object properties: id: type: string description: The ID of the user to add to the group. examples: AddusertogroupRequestExample: summary: Default addUserToGroup request x-microcks-default: true value: user: id: abc123 responses: '200': description: User was added to the group successfully. content: application/json: schema: $ref: '#/components/schemas/UserResponse' examples: Addusertogroup200Example: summary: Default addUserToGroup 200 response x-microcks-default: true value: user: id: abc123 name: Example Title fullName: example_value email: user@example.com siteRole: Creator authSetting: example_value lastLogin: '2026-01-15T10:30:00Z' externalAuthUserId: '500123' locale: example_value language: example_value x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/groups/{group-id}/users/{user-id}: delete: operationId: removeUserFromGroup summary: Tableau Remove User From Group description: >- Removes the specified user from the specified group. tags: - Groups - Users parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/GroupId' - $ref: '#/components/parameters/UserId' responses: '204': description: User was removed from the group successfully. # ── Permissions ───────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/workbooks/{workbook-id}/permissions: get: operationId: queryWorkbookPermissions summary: Tableau Query Workbook Permissions description: >- Returns a list of permissions for the specified workbook. tags: - Permissions - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' responses: '200': description: A list of permissions on the workbook. content: application/json: schema: $ref: '#/components/schemas/PermissionListResponse' examples: Queryworkbookpermissions200Example: summary: Default queryWorkbookPermissions 200 response x-microcks-default: true value: permissions: granteeCapabilities: - {} parent: project: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: addWorkbookPermissions summary: Tableau Add Workbook Permissions description: >- Adds permissions to the specified workbook for a user or group. tags: - Permissions - Workbooks parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WorkbookId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddPermissionsRequest' examples: AddworkbookpermissionsRequestExample: summary: Default addWorkbookPermissions request x-microcks-default: true value: permissions: granteeCapabilities: - {} responses: '200': description: Permissions were added successfully. content: application/json: schema: $ref: '#/components/schemas/PermissionListResponse' examples: Addworkbookpermissions200Example: summary: Default addWorkbookPermissions 200 response x-microcks-default: true value: permissions: granteeCapabilities: - {} parent: project: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/datasources/{datasource-id}/permissions: get: operationId: queryDataSourcePermissions summary: Tableau Query Data Source Permissions description: >- Returns a list of permissions for the specified data source. tags: - Data Sources - Permissions parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' responses: '200': description: A list of permissions on the data source. content: application/json: schema: $ref: '#/components/schemas/PermissionListResponse' examples: Querydatasourcepermissions200Example: summary: Default queryDataSourcePermissions 200 response x-microcks-default: true value: permissions: granteeCapabilities: - {} parent: project: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: addDataSourcePermissions summary: Tableau Add Data Source Permissions description: >- Adds permissions to the specified data source for a user or group. tags: - Data Sources - Permissions parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/DataSourceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddPermissionsRequest' examples: AdddatasourcepermissionsRequestExample: summary: Default addDataSourcePermissions request x-microcks-default: true value: permissions: granteeCapabilities: - {} responses: '200': description: Permissions were added successfully. content: application/json: schema: $ref: '#/components/schemas/PermissionListResponse' examples: Adddatasourcepermissions200Example: summary: Default addDataSourcePermissions 200 response x-microcks-default: true value: permissions: granteeCapabilities: - {} parent: project: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/projects/{project-id}/default-permissions/workbooks: get: operationId: queryDefaultWorkbookPermissions summary: Tableau Query Default Permissions for Workbooks description: >- Returns the default permissions for workbooks in the specified project. tags: - Permissions - Projects parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/ProjectId' responses: '200': description: Default workbook permissions for the project. content: application/json: schema: $ref: '#/components/schemas/PermissionListResponse' # ── Schedules ─────────────────────────────────────────────── examples: Querydefaultworkbookpermissions200Example: summary: Default queryDefaultWorkbookPermissions 200 response x-microcks-default: true value: permissions: granteeCapabilities: - {} parent: project: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK /schedules: get: operationId: querySchedules summary: Tableau Query Schedules description: >- Returns a list of extract refresh and subscription schedules. This method is available on Tableau Server only. tags: - Schedules parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A paginated list of schedules. content: application/json: schema: $ref: '#/components/schemas/ScheduleListResponse' # ── Subscriptions ─────────────────────────────────────────── examples: Queryschedules200Example: summary: Default querySchedules 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 schedules: schedule: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/subscriptions: get: operationId: querySubscriptions summary: Tableau Query Subscriptions description: >- Returns a list of all subscriptions on the site. tags: - Subscriptions parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': description: A paginated list of subscriptions. content: application/json: schema: $ref: '#/components/schemas/SubscriptionListResponse' examples: Querysubscriptions200Example: summary: Default querySubscriptions 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 subscriptions: subscription: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createSubscription summary: Tableau Create Subscription description: >- Creates a new subscription to a view or workbook for the specified user on the specified schedule. tags: - Subscriptions parameters: - $ref: '#/components/parameters/SiteId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSubscriptionRequest' examples: CreatesubscriptionRequestExample: summary: Default createSubscription request x-microcks-default: true value: subscription: subject: example_value content: id: abc123 type: Workbook schedule: id: abc123 user: id: abc123 attachImage: true attachPdf: true message: example_value responses: '201': description: Subscription was created successfully. content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse' examples: Createsubscription201Example: summary: Default createSubscription 201 response x-microcks-default: true value: subscription: id: abc123 subject: example_value attachImage: true attachPdf: true message: example_value pageOrientation: portrait pageSizeOption: A3 suspended: true content: id: abc123 type: Workbook schedule: id: abc123 name: Example Title user: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/subscriptions/{subscription-id}: get: operationId: querySubscription summary: Tableau Query Subscription description: >- Returns information about the specified subscription. tags: - Subscriptions parameters: - $ref: '#/components/parameters/SiteId' - name: subscription-id in: path required: true schema: type: string description: The ID of the subscription. example: '500123' responses: '200': description: Subscription details. content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse' examples: Querysubscription200Example: summary: Default querySubscription 200 response x-microcks-default: true value: subscription: id: abc123 subject: example_value attachImage: true attachPdf: true message: example_value pageOrientation: portrait pageSizeOption: A3 suspended: true content: id: abc123 type: Workbook schedule: id: abc123 name: Example Title user: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateSubscription summary: Tableau Update Subscription description: >- Modifies an existing subscription, changing the subject, schedule, or whether the full workbook or just a single view is sent. tags: - Subscriptions parameters: - $ref: '#/components/parameters/SiteId' - name: subscription-id in: path required: true schema: type: string description: The ID of the subscription to update. example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateSubscriptionRequest' examples: UpdatesubscriptionRequestExample: summary: Default updateSubscription request x-microcks-default: true value: subscription: subject: example_value schedule: id: abc123 suspended: true responses: '200': description: Subscription was updated successfully. content: application/json: schema: $ref: '#/components/schemas/SubscriptionResponse' examples: Updatesubscription200Example: summary: Default updateSubscription 200 response x-microcks-default: true value: subscription: id: abc123 subject: example_value attachImage: true attachPdf: true message: example_value pageOrientation: portrait pageSizeOption: A3 suspended: true content: id: abc123 type: Workbook schedule: id: abc123 name: Example Title user: id: abc123 name: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteSubscription summary: Tableau Delete Subscription description: >- Deletes the specified subscription from the site. tags: - Subscriptions parameters: - $ref: '#/components/parameters/SiteId' - name: subscription-id in: path required: true schema: type: string description: The ID of the subscription to delete. example: '500123' responses: '204': description: Subscription was deleted successfully. # ── Jobs ──────────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/jobs: get: operationId: queryJobs summary: Tableau Query Jobs description: >- Returns a list of active jobs on the specified site. tags: - Jobs parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/Filter' responses: '200': description: A paginated list of background jobs. content: application/json: schema: $ref: '#/components/schemas/JobListResponse' examples: Queryjobs200Example: summary: Default queryJobs 200 response x-microcks-default: true value: pagination: pageNumber: 10 pageSize: 10 totalAvailable: 10 backgroundJobs: backgroundJob: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/jobs/{job-id}: get: operationId: queryJob summary: Tableau Query Job description: >- Returns status information about the specified job. tags: - Jobs parameters: - $ref: '#/components/parameters/SiteId' - name: job-id in: path required: true schema: type: string description: The ID of the job. example: '500123' responses: '200': description: Job status information. content: application/json: schema: $ref: '#/components/schemas/JobResponse' examples: Queryjob200Example: summary: Default queryJob 200 response x-microcks-default: true value: job: id: abc123 mode: example_value type: example_value status: 10 progress: 10 createdAt: '2026-01-15T10:30:00Z' startedAt: '2026-01-15T10:30:00Z' endedAt: '2026-01-15T10:30:00Z' finishCode: 10 title: Example Title subtitle: example_value statusNotes: statusNote: {} extractRefreshJob: datasource: {} workbook: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: cancelJob summary: Tableau Cancel Job description: >- Cancels the specified background job on a site. tags: - Jobs parameters: - $ref: '#/components/parameters/SiteId' - name: job-id in: path required: true schema: type: string description: The ID of the job to cancel. example: '500123' responses: '200': description: Job was cancelled successfully. # ── Favorites ─────────────────────────────────────────────── x-microcks-operation: delay: 0 dispatcher: FALLBACK /sites/{site-id}/favorites/{user-id}: get: operationId: getFavorites summary: Tableau Get Favorites for User description: >- Returns a list of favorite items for the specified user. tags: - Favorites parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/UserId' responses: '200': description: A list of the user's favorite items. content: application/json: schema: $ref: '#/components/schemas/FavoritesResponse' examples: Getfavorites200Example: summary: Default getFavorites 200 response x-microcks-default: true value: favorites: favorite: - label: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: addFavorites summary: Tableau Add Favorites description: >- Adds the specified content to a user's favorites. You can add workbooks, views, data sources, projects, and flows. tags: - Favorites parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/UserId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddFavoriteRequest' examples: AddfavoritesRequestExample: summary: Default addFavorites request x-microcks-default: true value: favorite: label: Example Title workbook: id: abc123 view: id: abc123 datasource: id: abc123 project: id: abc123 responses: '200': description: Favorite was added successfully. content: application/json: schema: $ref: '#/components/schemas/FavoritesResponse' examples: Addfavorites200Example: summary: Default addFavorites 200 response x-microcks-default: true value: favorites: favorite: - label: Example Title x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: TableauAuth: type: apiKey in: header name: X-Tableau-Auth description: >- The authentication token obtained from the Sign In method. Include this token in the X-Tableau-Auth header of all subsequent requests. parameters: SiteId: name: site-id in: path required: true schema: type: string description: >- The ID of the site. You can get the site ID from the response to the Sign In method. ProjectId: name: project-id in: path required: true schema: type: string description: The ID of the project. WorkbookId: name: workbook-id in: path required: true schema: type: string description: The ID of the workbook. ViewId: name: view-id in: path required: true schema: type: string description: The ID of the view. DataSourceId: name: datasource-id in: path required: true schema: type: string description: The ID of the data source. UserId: name: user-id in: path required: true schema: type: string description: The ID of the user. GroupId: name: group-id in: path required: true schema: type: string description: The ID of the group. PageSize: name: pageSize in: query schema: type: integer minimum: 1 maximum: 1000 default: 100 description: >- The number of items to return in one response. The minimum is 1 and the maximum is 1000. PageNumber: name: pageNumber in: query schema: type: integer minimum: 1 default: 1 description: >- The page number of the set of items to return. The default is 1. Filter: name: filter in: query schema: type: string description: >- An expression that lets you specify a subset of items to return. Use the format filter=field:operator:value. Operators include eq, gt, gte, lt, lte, has, and in. Sort: name: sort in: query schema: type: string description: >- An expression that lets you specify the order in which items are returned. Use the format sort=field:direction where direction is asc or desc. Fields: name: fields in: query schema: type: string description: >- An expression that lets you specify which fields are included in the response. Use the format fields=field1,field2. Use _default_ to return the default set of fields, or _all_ to return all fields. responses: BadRequest: description: >- The request was malformed or contained invalid parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: >- The authentication credentials were missing or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: >- The caller does not have permission to perform the requested action. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: >- The specified resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Conflict: description: >- A resource with the same name or identifier already exists. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: # ── Error ────────────────────────────────────────────────── ErrorResponse: type: object properties: error: type: object properties: summary: type: string description: A short summary of the error. detail: type: string description: A detailed description of the error. code: type: string description: A numeric error code. # ── Pagination ───────────────────────────────────────────── example: example_value Pagination: type: object properties: pageNumber: type: integer description: The current page number. example: 10 pageSize: type: integer description: The number of items per page. example: 10 totalAvailable: type: integer description: The total number of items available. # ── Authentication ───────────────────────────────────────── example: 10 SignInRequest: type: object properties: credentials: type: object required: - site properties: name: type: string description: >- The name (user name) of the user signing in. Not required if using a personal access token. password: type: string format: password description: The password for the user. personalAccessTokenName: type: string description: >- The name of the personal access token. Use this instead of name and password for token-based authentication. personalAccessTokenSecret: type: string format: password description: The secret value of the personal access token. site: type: object properties: contentUrl: type: string description: >- The URL namespace of the site. For the default site on Tableau Server, use an empty string. For Tableau Cloud, this is the site name in the URL. example: example_value SignInResponse: type: object properties: credentials: type: object properties: token: type: string description: >- The authentication token to use in subsequent API calls. site: type: object properties: id: type: string description: The ID of the site. contentUrl: type: string description: The URL namespace of the site. user: type: object properties: id: type: string description: The ID of the authenticated user. # ── Site ─────────────────────────────────────────────────── example: example_value Site: type: object properties: id: type: string description: The unique identifier for the site. example: abc123 name: type: string description: The name of the site. example: Example Title contentUrl: type: string description: The URL namespace for the site. example: https://www.example.com adminMode: type: string enum: - ContentAndUsers - ContentOnly description: The administrator mode for the site. example: ContentAndUsers state: type: string enum: - Active - Suspended description: The current state of the site. example: Active storageQuota: type: integer description: The storage quota for the site in megabytes. example: 10 userQuota: type: integer description: >- The maximum number of users for the site. A value of -1 indicates no limit. example: 10 numCreators: type: integer description: The number of Creator-licensed users on the site. example: 10 numExplorers: type: integer description: The number of Explorer-licensed users on the site. example: 10 numViewers: type: integer description: The number of Viewer-licensed users on the site. example: 10 disableSubscriptions: type: boolean description: Whether subscriptions are disabled on the site. example: true revision: type: string description: The revision number of the site. example: example_value usage: type: object properties: numUsers: type: integer description: The number of users on the site. storage: type: integer description: The storage used in megabytes. example: example_value SiteListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' sites: type: object properties: site: type: array items: $ref: '#/components/schemas/Site' example: example_value SiteResponse: type: object properties: site: $ref: '#/components/schemas/Site' CreateSiteRequest: type: object properties: site: type: object required: - name - contentUrl properties: name: type: string description: The name of the site. contentUrl: type: string description: The URL namespace for the site. adminMode: type: string enum: - ContentAndUsers - ContentOnly userQuota: type: integer description: The maximum number of users for the site. storageQuota: type: integer description: The storage quota in megabytes. disableSubscriptions: type: boolean example: example_value UpdateSiteRequest: type: object properties: site: type: object properties: name: type: string contentUrl: type: string adminMode: type: string enum: - ContentAndUsers - ContentOnly state: type: string enum: - Active - Suspended storageQuota: type: integer userQuota: type: integer disableSubscriptions: type: boolean revision: type: string # ── Project ──────────────────────────────────────────────── example: example_value Project: type: object properties: id: type: string description: The unique identifier for the project. example: abc123 name: type: string description: The name of the project. example: Example Title description: type: string description: A description of the project. example: A sample description. parentProjectId: type: ['string', 'null'] description: >- The ID of the parent project. If null, this is a top-level project. example: '500123' contentPermissions: type: string enum: - LockedToProject - ManagedByOwner - LockedToProjectWithoutNested description: The permissions model for the project. example: LockedToProject createdAt: type: string format: date-time description: The date and time the project was created. example: '2026-01-15T10:30:00Z' updatedAt: type: string format: date-time description: The date and time the project was last updated. example: '2026-01-15T10:30:00Z' owner: type: object properties: id: type: string description: The ID of the project owner. example: example_value topLevelProject: type: boolean description: Whether this is a top-level project. example: true ProjectListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' projects: type: object properties: project: type: array items: $ref: '#/components/schemas/Project' example: example_value ProjectResponse: type: object properties: project: $ref: '#/components/schemas/Project' CreateProjectRequest: type: object properties: project: type: object required: - name properties: name: type: string description: The name for the project. description: type: string description: A description for the project. parentProjectId: type: string description: >- The ID of the parent project. Omit for a top-level project. contentPermissions: type: string enum: - LockedToProject - ManagedByOwner - LockedToProjectWithoutNested example: example_value UpdateProjectRequest: type: object properties: project: type: object properties: name: type: string description: type: string parentProjectId: type: string contentPermissions: type: string enum: - LockedToProject - ManagedByOwner - LockedToProjectWithoutNested # ── Workbook ─────────────────────────────────────────────── example: example_value Workbook: type: object properties: id: type: string description: The unique identifier for the workbook. example: abc123 name: type: string description: The name of the workbook. example: Example Title description: type: string description: A description of the workbook. example: A sample description. contentUrl: type: string description: >- The URL name of the workbook, used in URLs to access the workbook. example: https://www.example.com webpageUrl: type: string format: uri description: The full URL to the workbook on the server. example: https://www.example.com showTabs: type: boolean description: Whether the workbook shows views as tabs. example: true size: type: integer description: The size of the workbook in bytes. example: 10 createdAt: type: string format: date-time description: The date and time the workbook was created. example: '2026-01-15T10:30:00Z' updatedAt: type: string format: date-time description: The date and time the workbook was last updated. example: '2026-01-15T10:30:00Z' encryptExtracts: type: string description: Whether extracts in the workbook are encrypted. example: example_value defaultViewId: type: string description: The ID of the default view in the workbook. example: '500123' project: type: object properties: id: type: string description: The ID of the containing project. name: type: string description: The name of the containing project. example: example_value owner: type: object properties: id: type: string description: The ID of the workbook owner. name: type: string description: The name of the workbook owner. example: example_value tags: type: object properties: tag: type: array items: $ref: '#/components/schemas/Tag' example: example_value views: type: object properties: view: type: array items: $ref: '#/components/schemas/View' example: example_value usage: type: object properties: totalViewCount: type: integer description: The total number of times the workbook has been viewed. example: example_value WorkbookListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' workbooks: type: object properties: workbook: type: array items: $ref: '#/components/schemas/Workbook' example: example_value WorkbookResponse: type: object properties: workbook: $ref: '#/components/schemas/Workbook' UpdateWorkbookRequest: type: object properties: workbook: type: object properties: name: type: string showTabs: type: boolean project: type: object properties: id: type: string owner: type: object properties: id: type: string encryptExtracts: type: string example: example_value PublishWorkbookRequest: type: object properties: workbook: type: object required: - name - project properties: name: type: string description: The name of the workbook. description: type: string description: A description of the workbook. showTabs: type: boolean description: Whether to show views as tabs. project: type: object required: - id properties: id: type: string description: The ID of the project to publish to. connections: type: object properties: connection: type: array items: type: object properties: serverAddress: type: string serverPort: type: string credentials: type: object properties: name: type: string password: type: string format: password embed: type: boolean # ── View ─────────────────────────────────────────────────── example: example_value View: type: object properties: id: type: string description: The unique identifier for the view. example: abc123 name: type: string description: The name of the view. example: Example Title contentUrl: type: string description: The URL name of the view. example: https://www.example.com createdAt: type: string format: date-time description: The date and time the view was created. example: '2026-01-15T10:30:00Z' updatedAt: type: string format: date-time description: The date and time the view was last updated. example: '2026-01-15T10:30:00Z' viewUrlName: type: string description: >- The URL-friendly name of the view used in the content URL. example: https://www.example.com sheetType: type: string enum: - worksheet - dashboard - story description: The type of sheet (worksheet, dashboard, or story). example: worksheet project: type: object properties: id: type: string description: The ID of the containing project. name: type: string description: The name of the containing project. example: example_value owner: type: object properties: id: type: string description: The ID of the view owner. name: type: string description: The name of the view owner. example: example_value workbook: type: object properties: id: type: string description: The ID of the containing workbook. name: type: string description: The name of the containing workbook. example: example_value tags: type: object properties: tag: type: array items: $ref: '#/components/schemas/Tag' example: example_value usage: type: object properties: totalViewCount: type: integer description: The total number of times the view has been accessed. example: example_value ViewListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' views: type: object properties: view: type: array items: $ref: '#/components/schemas/View' example: example_value ViewResponse: type: object properties: view: $ref: '#/components/schemas/View' # ── Data Source ───────────────────────────────────────────── DataSource: type: object properties: id: type: string description: The unique identifier for the data source. example: abc123 name: type: string description: The name of the data source. example: Example Title description: type: string description: A description of the data source. example: A sample description. contentUrl: type: string description: The URL name of the data source. example: https://www.example.com type: type: string description: >- The type of data source (e.g., sqlserver, postgres, excel, hyper, etc.). example: example_value createdAt: type: string format: date-time description: The date and time the data source was created. example: '2026-01-15T10:30:00Z' updatedAt: type: string format: date-time description: The date and time the data source was last updated. example: '2026-01-15T10:30:00Z' isCertified: type: boolean description: Whether the data source is certified. example: true certificationNote: type: string description: The certification note for the data source. example: example_value useRemoteQueryAgent: type: boolean description: Whether the data source uses a remote query agent. example: true hasExtracts: type: boolean description: Whether the data source has extracts. example: true encryptExtracts: type: string description: Whether the data source extracts are encrypted. example: example_value project: type: object properties: id: type: string description: The ID of the containing project. name: type: string description: The name of the containing project. example: example_value owner: type: object properties: id: type: string description: The ID of the data source owner. name: type: string description: The name of the data source owner. example: example_value tags: type: object properties: tag: type: array items: $ref: '#/components/schemas/Tag' example: example_value DataSourceListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' datasources: type: object properties: datasource: type: array items: $ref: '#/components/schemas/DataSource' example: example_value DataSourceResponse: type: object properties: datasource: $ref: '#/components/schemas/DataSource' UpdateDataSourceRequest: type: object properties: datasource: type: object properties: name: type: string project: type: object properties: id: type: string owner: type: object properties: id: type: string isCertified: type: boolean certificationNote: type: string encryptExtracts: type: string # ── Connection ───────────────────────────────────────────── example: example_value Connection: type: object properties: id: type: string description: The unique identifier for the connection. example: abc123 type: type: string description: The type of connection (e.g., sqlserver, postgres). example: example_value serverAddress: type: string description: The address of the server for the connection. example: example_value serverPort: type: string description: The port used for the connection. example: example_value userName: type: string description: The user name for the connection. example: example_value datasource: type: object properties: id: type: string description: The ID of the associated data source. name: type: string description: The name of the associated data source. example: example_value ConnectionListResponse: type: object properties: connections: type: object properties: connection: type: array items: $ref: '#/components/schemas/Connection' # ── User ─────────────────────────────────────────────────── example: example_value User: type: object properties: id: type: string description: The unique identifier for the user. example: abc123 name: type: string description: The name (user name) of the user. example: Example Title fullName: type: string description: The display name of the user. example: example_value email: type: string format: email description: The email address of the user. example: user@example.com siteRole: type: string enum: - Creator - Explorer - ExplorerCanPublish - SiteAdministratorCreator - SiteAdministratorExplorer - Unlicensed - Viewer description: The role of the user on the site. example: Creator authSetting: type: string description: The authentication type for the user. example: example_value lastLogin: type: string format: date-time description: The date and time of the user's last login. example: '2026-01-15T10:30:00Z' externalAuthUserId: type: string description: The external authentication user ID. example: '500123' locale: type: string description: The user's locale setting. example: example_value language: type: string description: The user's language setting. example: example_value UserListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' users: type: object properties: user: type: array items: $ref: '#/components/schemas/User' example: example_value UserResponse: type: object properties: user: $ref: '#/components/schemas/User' AddUserRequest: type: object properties: user: type: object required: - name - siteRole properties: name: type: string description: The name of the user to add. siteRole: type: string enum: - Creator - Explorer - ExplorerCanPublish - SiteAdministratorCreator - SiteAdministratorExplorer - Unlicensed - Viewer authSetting: type: string description: The authentication type for the user. example: example_value UpdateUserRequest: type: object properties: user: type: object properties: fullName: type: string email: type: string format: email siteRole: type: string enum: - Creator - Explorer - ExplorerCanPublish - SiteAdministratorCreator - SiteAdministratorExplorer - Unlicensed - Viewer authSetting: type: string # ── Group ────────────────────────────────────────────────── example: example_value Group: type: object properties: id: type: string description: The unique identifier for the group. example: abc123 name: type: string description: The name of the group. example: Example Title domainName: type: string description: >- The domain name for Active Directory groups. For local groups, this is "local". example: example_value minimumSiteRole: type: string enum: - Creator - Explorer - ExplorerCanPublish - SiteAdministratorCreator - SiteAdministratorExplorer - Unlicensed - Viewer description: >- The minimum site role for members of the group when they are imported from Active Directory. example: Creator userCount: type: integer description: The number of users in the group. example: 10 import: type: object properties: domainName: type: string siteRole: type: string grantLicenseMode: type: string example: example_value GroupListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' groups: type: object properties: group: type: array items: $ref: '#/components/schemas/Group' example: example_value GroupResponse: type: object properties: group: $ref: '#/components/schemas/Group' CreateGroupRequest: type: object properties: group: type: object required: - name properties: name: type: string description: The name of the group. minimumSiteRole: type: string enum: - Creator - Explorer - ExplorerCanPublish - SiteAdministratorCreator - SiteAdministratorExplorer - Unlicensed - Viewer example: example_value UpdateGroupRequest: type: object properties: group: type: object properties: name: type: string minimumSiteRole: type: string enum: - Creator - Explorer - ExplorerCanPublish - SiteAdministratorCreator - SiteAdministratorExplorer - Unlicensed - Viewer # ── Tag ──────────────────────────────────────────────────── example: example_value Tag: type: object properties: label: type: string description: The text of the tag. example: Example Title TagListResponse: type: object properties: tags: type: object properties: tag: type: array items: $ref: '#/components/schemas/Tag' example: example_value TagListRequest: type: object properties: tags: type: object properties: tag: type: array items: $ref: '#/components/schemas/Tag' # ── Revision ─────────────────────────────────────────────── example: example_value Revision: type: object properties: revisionNumber: type: integer description: The revision number. example: 10 publishedAt: type: string format: date-time description: The date and time the revision was published. example: '2026-01-15T10:30:00Z' deleted: type: boolean description: Whether this revision has been deleted. example: true current: type: boolean description: Whether this is the current revision. example: true sizeInBytes: type: integer description: The size of the revision in bytes. example: 10 publisher: type: object properties: id: type: string description: The ID of the user who published this revision. name: type: string description: The name of the user who published this revision. example: example_value RevisionListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' revisions: type: object properties: revision: type: array items: $ref: '#/components/schemas/Revision' # ── Permissions ──────────────────────────────────────────── example: example_value Permission: type: object properties: granteeCapabilities: type: array items: type: object properties: user: type: object properties: id: type: string group: type: object properties: id: type: string capabilities: type: object properties: capability: type: array items: type: object properties: name: type: string description: >- The name of the capability (e.g., Read, Write, ChangePermissions, Delete, Filter, ViewComments, AddComment, ExportData, ExportImage, ShareView, ViewUnderlyingData, WebAuthoring, RunExplainData). mode: type: string enum: - Allow - Deny description: >- Whether the capability is allowed or denied. example: [] PermissionListResponse: type: object properties: permissions: $ref: '#/components/schemas/Permission' parent: type: object properties: project: type: object properties: id: type: string name: type: string example: example_value AddPermissionsRequest: type: object properties: permissions: $ref: '#/components/schemas/Permission' # ── Schedule ─────────────────────────────────────────────── Schedule: type: object properties: id: type: string description: The unique identifier for the schedule. example: abc123 name: type: string description: The name of the schedule. example: Example Title state: type: string enum: - Active - Suspended description: Whether the schedule is active or suspended. example: Active priority: type: integer minimum: 1 maximum: 100 description: >- The priority of the schedule (1-100). Lower numbers indicate higher priority. example: 10 createdAt: type: string format: date-time description: The date and time the schedule was created. example: '2026-01-15T10:30:00Z' updatedAt: type: string format: date-time description: The date and time the schedule was last updated. example: '2026-01-15T10:30:00Z' type: type: string enum: - Extract - Subscription - Flow description: The type of the schedule. example: Extract frequency: type: string enum: - Hourly - Daily - Weekly - Monthly description: How frequently the schedule runs. example: Hourly nextRunAt: type: string format: date-time description: The next scheduled run time. example: '2026-01-15T10:30:00Z' endScheduleAt: type: string format: date-time description: The time when the schedule ends. example: '2026-01-15T10:30:00Z' frequencyDetails: type: object properties: start: type: string description: The start time (HH:MM:SS). end: type: string description: The end time (HH:MM:SS). intervals: type: object properties: interval: type: array items: type: object properties: hours: type: string minutes: type: string weekDay: type: string monthDay: type: string example: example_value ScheduleListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' schedules: type: object properties: schedule: type: array items: $ref: '#/components/schemas/Schedule' # ── Subscription ─────────────────────────────────────────── example: example_value Subscription: type: object properties: id: type: string description: The unique identifier for the subscription. example: abc123 subject: type: string description: The subject line of the subscription email. example: example_value attachImage: type: boolean description: Whether to attach an image of the view. example: true attachPdf: type: boolean description: Whether to attach a PDF of the view. example: true message: type: string description: Custom message for the subscription. example: example_value pageOrientation: type: string enum: - portrait - landscape example: portrait pageSizeOption: type: string enum: - A3 - A4 - A5 - B4 - B5 - Executive - Folio - Ledger - Legal - Letter - Note - Quarto - Tabloid - Unspecified example: A3 suspended: type: boolean description: Whether the subscription is suspended. example: true content: type: object properties: id: type: string description: The ID of the subscribed content. type: type: string enum: - Workbook - View description: The type of the subscribed content. example: example_value schedule: type: object properties: id: type: string description: The ID of the schedule. name: type: string description: The name of the schedule. example: example_value user: type: object properties: id: type: string description: The ID of the subscriber. name: type: string description: The name of the subscriber. example: example_value SubscriptionListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' subscriptions: type: object properties: subscription: type: array items: $ref: '#/components/schemas/Subscription' example: example_value SubscriptionResponse: type: object properties: subscription: $ref: '#/components/schemas/Subscription' CreateSubscriptionRequest: type: object properties: subscription: type: object required: - subject - content - schedule - user properties: subject: type: string content: type: object required: - id - type properties: id: type: string type: type: string enum: - Workbook - View schedule: type: object required: - id properties: id: type: string user: type: object required: - id properties: id: type: string attachImage: type: boolean attachPdf: type: boolean message: type: string example: example_value UpdateSubscriptionRequest: type: object properties: subscription: type: object properties: subject: type: string schedule: type: object properties: id: type: string suspended: type: boolean # ── Job ──────────────────────────────────────────────────── example: example_value Job: type: object properties: id: type: string description: The unique identifier for the job. example: abc123 mode: type: string description: The mode of the job. example: example_value type: type: string description: The type of the job. example: example_value status: type: integer description: >- The status code of the job. 0 = Active/Queued, 1 = Complete, 2 = Cancelled. example: 10 progress: type: integer description: The progress of the job as a percentage. example: 10 createdAt: type: string format: date-time description: The date and time the job was created. example: '2026-01-15T10:30:00Z' startedAt: type: string format: date-time description: The date and time the job started running. example: '2026-01-15T10:30:00Z' endedAt: type: string format: date-time description: The date and time the job finished. example: '2026-01-15T10:30:00Z' finishCode: type: integer description: The completion code. 0 = success, 1 = error, 2 = cancelled. example: 10 title: type: string description: A description of what the job is doing. example: Example Title subtitle: type: string description: Additional detail about the job. example: example_value statusNotes: type: object properties: statusNote: type: array items: type: object properties: type: type: string value: type: string text: type: string example: example_value extractRefreshJob: type: object properties: datasource: type: object properties: id: type: string name: type: string workbook: type: object properties: id: type: string name: type: string example: example_value JobListResponse: type: object properties: pagination: $ref: '#/components/schemas/Pagination' backgroundJobs: type: object properties: backgroundJob: type: array items: $ref: '#/components/schemas/Job' example: example_value JobResponse: type: object properties: job: $ref: '#/components/schemas/Job' # ── Favorites ────────────────────────────────────────────── FavoritesResponse: type: object properties: favorites: type: object properties: favorite: type: array items: type: object properties: label: type: string description: The label for the favorite. workbook: $ref: '#/components/schemas/Workbook' view: $ref: '#/components/schemas/View' datasource: $ref: '#/components/schemas/DataSource' project: $ref: '#/components/schemas/Project' example: example_value AddFavoriteRequest: type: object properties: favorite: type: object required: - label properties: label: type: string description: The label for the favorite. workbook: type: object properties: id: type: string view: type: object properties: id: type: string datasource: type: object properties: id: type: string project: type: object properties: id: type: string example: example_value