---
title: "Extract Tableau View"
method: POST
path: "/api/extract_tableau_view"
tags: ["tableau"]
---

# Extract Tableau View

`POST /api/extract_tableau_view`

## Request

- Base URL: `https://app.getdot.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.getdot.ai/api/extract_tableau_view`
- Auth: one of:
  - API key in header `X-API-KEY`
  - API key in cookie `Authorization`
  - OAuth 2 (password, token URL `/api/auth/token`)

Extract exact values from a Tableau view via the Connected App (JWT).

Self-describing for the context agent / Train / external callers:
- describe_only, no connection_id -> list this org's Tableau connections with
  {id, url, site_id, has_pat, has_jwt, sandbox_credentials} so the caller learns
  what's activated and which row its own TABLEAU_* env vars belong to.
- describe_only + connection_id, no view -> that connection's {has_pat, has_jwt}.
- describe_only + a view -> {worksheets, filters, parameters} for discovery.
- capture_evidence -> one same-session bundle containing controls, visual
  specifications, exact values, and the JWT-authenticated rendered image.
- otherwise -> {worksheets:[{name, columns, rows:[[{value, formatted_value}]]}]}.

Identify a view by `view_id`/`view_name` (resolved to a contentUrl over PAT)
or pass `view_content_url` directly to skip resolution (cheaper, and works on
JWT-only connections). Exact-value paths require Connected App (JWT) creds;
without them returns 409 so the caller falls back to the PAT catalog.

## Request body

- BodyExtractTableauViewApiExtractTableauViewPost
  - `connection_id` string, nullable
  - `view_id` string, nullable
  - `view_name` string, nullable
  - `workbook_id` string, nullable
  - `view_content_url` string, nullable
  - `filters` object, nullable
  - `parameters` object, nullable
  - `max_rows` integer
  - `describe_only` boolean
  - `capture_evidence` boolean
  - `include_values` boolean
  - `include_snapshot` boolean
  - `async_job` boolean
  - `worksheet_names` string[], nullable
  - `describe_level` 'controls' | 'full'

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getdot/apis/dot-api-2.md) · [All operations](https://skmtc.dev/getdot/apis/dot-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/getdot/apis/dot-api-2/revisions/d26fe7163a7f?raw)
