With the Tableau Server REST API you can manage and change Tableau Server resources programmatically, via HTTP. The API gives you simple access to the functionality behind the data sources, projects, workbooks, site users, and sites on a Tableau server. You can use this access to create your own custom applications or to script interactions with Tableau Server resources.
Hope it helps.
Practically you should use Tableau JS API to control the visualizations on client side while the REST API helps you to interact with server objects. Typical workflow is:
From your web application:
- Get a trusted ticket for your user
- Open a visualizations using trusted tickets if required
- If you need to interact with server like show the list of workbooks in your web app:
- You can connect to the underlying tableau repository database - this is fast and easy
- Log on with impersonalized REST API (you can log on as your client user) and execute REST calls
Hope this helps