REST API¶
The MetaMiner Server (MMS) REST API lets scripts and enterprise schedulers run Tableau Prep flows, manage Flow Scheduler objects, back up the Flow Scheduler and change Tableau Server sign-in credentials.
Every call goes to the MMS and is authorized by the token of an API client. This section explains how to set that up, how to call each endpoint family and how to read what was done.
What you can automate¶
| Job | Endpoint family |
|---|---|
| Run a flow, task or chain; follow and cancel runs | /fss/v1 |
| Create and change tasks, chains, schedules, flow parameters and notifications | /fss/v1 |
| Create, change, rotate and revoke API clients; read the API audit | /fss/v1/clients, /fss/v1/audit |
| Change the username and password MetaMiner uses for a Tableau Server environment, without restarting the MMS | /tab/credentials |
| Back up the Flow Scheduler database and configuration of one node | /fss/backup |
Requests and responses are JSON. There is no XML and no separate sign-in call: each request carries its own token.
Base URL¶
Every endpoint answers on the MMS port, the same port the MetaMiner Client uses.
| Situation | Base URL |
|---|---|
| SSL enabled on the MMS | https://<mms-host>:<port> (default port 49714) |
| SSL not enabled on the MMS | http://<mms-host>:<port>, for a lab only (see HTTPS and Network Exposure) |
| High-availability pair | The load balancer address, so calls reach a working node |
/fss/backup in a high-availability pair |
Each node's own address: a backup covers the node it is sent to |
The Flow Scheduler Service (FSS) itself listens on the MMS machine's loopback address only. Scripts never call it directly; the MMS relays /fss/v1 calls to it.
A quick first call is GET /fss/v1/info. It returns the API version, the authorization mode (TOKEN for API clients, NONE for Local only), the list of endpoints and, when the Flow Scheduler answers, this node's role and the current leader.
curl -sS "https://<mms-host>:<port>/fss/v1/info" \
-H "Authorization: Bearer <token>"
Invoke-RestMethod -Uri "https://<mms-host>:<port>/fss/v1/info" `
-Headers @{ Authorization = "Bearer <token>" }
How a request is handled¶
- The MMS checks the token against the API clients before it uses the request body. A missing, unknown, expired or revoked token gets
401. - It checks that the client may use this endpoint, environment and site. A client without the right gets
403. - It answers the call itself (
/tab/credentials, client management) or relays it to the Flow Scheduler (/fss/v1objects and runs,/fss/backup). - Writes, and attempts by a known client that were refused, are recorded in the API audit, with a few exceptions such as successful backups. Audit Trail lists what is and is not recorded.
Endpoint families and who may call them¶
| Family | What it covers | Who may call it |
|---|---|---|
/fss/v1 |
Runs, tasks, chains, schedules, flow parameters, notifications | Any API client, within its environment and site limits. Changing or running schedules needs an admin client without site limits. A non-admin client can run flows only with a bound Tableau user who may run them. |
/fss/v1/clients, /fss/v1/audit |
API clients and the API audit | An admin client without environment or site limits. Any client may rotate its own token (/fss/v1/clients/me/rotate). |
/tab/credentials |
Tableau Server sign-in, TSM and repository logins of an environment | An admin client without site limits, for an environment it may use. Tableau Server only. |
/fss/backup |
Flow Scheduler backup of one node | An admin client without environment or site limits |
With Local only authorization, a caller on the MMS machine itself acts as a full-access client named local, and callers on other machines are refused. See Authorization Modes.
Flow Scheduler switched off
The client and audit calls, GET /fss/v1/info and /tab/credentials keep working. Calls for runs, tasks, chains, schedules, parameters and notifications, and /fss/backup, fail until the Flow Scheduler is switched on.
Request bodies are limited to 64 KiB.
Pages in this section¶
-
Choose between API clients and Local only, and switch the mode safely.
-
Protect tokens and passwords in transit and limit who can reach the MMS port.
-
Create a client per script in MMA or over the API, choose its access and store its token.
-
Replace a token, set or extend an expiry and stop a client.
-
What happens to the old shared token at upgrade, and how to move to one client per caller.
-
Run flows and tasks, follow runs and manage tasks, chains and schedules under
/fss/v1. -
Map Tableau REST calls for flows and schedules to their
/fss/v1equivalents. -
Change a Tableau Server environment's logins from a secrets-rotation process.
-
Start a Flow Scheduler backup on a node and read its outcome.
-
Reference for
/fss/v1/clientsand/fss/v1/audit. -
Every status code the API returns, with the error body shapes.
-
What the API audit records, where it is kept and how to read it.
-
PowerShell and curl smoke tests for a new setup.
-
Fixes for common
401,403,409and503answers. -
The service behind
/fss/v1: tasks, schedules, chains, high availability and backups.