4 Replies Latest reply on Feb 3, 2016 10:59 AM by Sunil Unnithan Branched to a new discussion.

    Join us for Developer Office Hours:  REST API

    Ben Lower

      We're going to have a special event next week that we're calling "Developer Office Hours".  The event will be at 10am PST on Feb 3.


      The focus will be on the Tableau REST API.  It's a live event that will happen via Webex.  I will be joined by two of our engineers (Hieu and Quentin) who work on the API.


      We want you to join the event and bring your questions!  If you can't join us live please submit your questions to this thread and we'll get them answered.


      More information and registration is at Dev Office Hours: REST API | Tableau Software


      Hope you can join us next week!



      Developer Platform Product Management




      Update: Thank you all for attending the event! We've posted some materials below:

      • Video recording from the event
      • Slides used (as a PDF)
      • List of submitted questions (with answers)


      Additionally, thanks for all the great questions!  Even when the answer is "no the API won't support that" we take these requests into account for future planning. Please keep sharing your use cases and scenarios with us so we can incorporate into our road map.



      Event Video




      • Supporting multiple authentication methods (SP-NEGO, Siteminder, oauth 2, etc.)?
        • Been looking at them. No concrete plans to support any of them yet. Maybe in the future. We'd love any more information from our dev community on how to prioritize these.
      • Why does 90% of REST API require admin access?
        • There are two levels of admin: server vs site admins. In 9.2 we enabled a lot of APIs for site admins. Some of the permissions are required because the task is an admin task. Users can authenticate as a non-admin via the REST API and will be able to do what the user identity has permissions to do.
        • (follow-up question) For example: Can you get a list of sites? Can I get a list of sites that I'm the admin for?
          • No. We can look into an API to get sites that I can log into. We won't return to you a list of all the sites that you're a member of.
      • Can we use the API on Hadoop datasets?
        • Not really sure what we're trying to do. If you can use HTTP calls from your environment, you can call REST API. Need more information here if you are blocked somehow.
      • Can you update the user locale?
        • Can't change the user language through the API. We respect the client-set language (e.g. if your call says you're ja-jp, you get the response back in that language.)
      • Any plans for page views history to have a REST endpoint?
        • Currently we don't have analytics functionality via the REST API
      • Batch operations? Using users to groups, etc.
        • Can do that with users but you'd have to batch things up in a client script.  You can also batch permissions from Active Directory.
      • Can you add extract refresh API?
        • In 9.3, we can query to get status of Extract refreshes.  We are considering expanding to do more in future.
      • What about support publish of tde with multiple data sources?
        • Future versions of Tableau might support multiple data sources. If that happens, we would consider adding an API.
      • Can the API be used to integrate with a web portal?
        • Yes. Have to create your own portal, but you have to do it yourself. API was originally designed to allow users to create their own portals.
      • Is there any way we can measure the size of an extract over a period of time?
        • Not today. If we put that elsewhere in Tableau then we'd consider an API.  In 9.3 we added a 'size' attribute along with attribute on last update. If you are using a twbx and the extract is embedded there you could hack together a process to look at size changes using the 'size' and last update attributes.
      • Support Active Directory (AD) sync for selected groups? right now, only server UI for all groups
        • You'd have to batch that yourself by making a series of calls.
      • Any way to get attributes and dimensions of a data source?  What about the column names?
        • In 9.3, we are adding a couple of attributes (like size) to get info about data. We don't provide any way to get columns or data types for the underlying data source. We'd like to better understand your scenario here to see what we might be able to do to help.
      • Ability to change user role at the site level?
        • We do support this in the API today. Must be a site admin to do that.
      • What about generating log snapshots at the site level?
        • Not supported in the product yet. Our logging is at the server level only today.
      • Support to create package workbooks? Need to automate creation of workbooks.
        • Directly create workbook? No API to do that.
      • Can we use "initiate file upload" and "append to file" to manage extracts?
        • In 9.3, we are adding support to append to an extract. In the old API, you'd overwrite the data source if you used an existing content URL. Now you can append using a new query parameter (e.g. append flag set to true).
      • As an owner of content, I can change permissions on my content. What about audit capabilities?
        • We're not sure what 'audit' means here...more info please?  But there aren't any auditing APIs now.
      • Any plans to support JSON payloads?
        • This is a common, popular request. We're looking into it, nothing to report yet.
      • We're using SAML for SSO. Can we use a SAML token to authenticate with REST API?
        • Not today -> we only support username/password now.
      • How does REST handle SAML?
        • Does not handle it at the moment. See previous question about auth methods.
      • New API allow us to pull metadata from a query. Can the API return any info about database schema?
        • No. We would like more information about your scenario so we can consider for future.
      • Trigger refresh extract jobs?
        • We can query right now, but can't trigger/add a job.
      • Preserve existing connection info?
        • No; we overwrite and therefore blow away the workbook.
      • Automate snapshots: there is a published workbook on server, take snapshot. (Like you can using tabcmd)
        • Not on the roadmap yet.
      • Export workbook as PDF or image?
        • No export features except thumbnail (which might work for you but could also be too low resolution).
      • In the JS API is there a way to retrieve filter values for a given filter?
        • (since this was REST API focused we didn't have right people in the event to answer this)
      • Consider YAML in addition to JSON?
        • We'll consider. :-)
      • When can we create schedules?
        • This is on our road map.
      • Why does the REST API and SDK require different versions of Python?
        • We don't require different versions. We'd like specifics here so we can say for sure but we suspect this could be due to using a client library or a sample that has dependency.
      • What support is there for looking at user subscriptions? For a given site/project/workbook/view...
        • We are looking into a subscriptions API.
      • Why can't we use API tokens in VizPortal? We could use them in 8.x...
        • We've never supported API tokens. That they worked in the past was an unintended feature/Easter Egg. We'd like more info on your use case so we can consider as part of our thinking on other auth mechanisms.
      • [SDK question] Can you give a RAM drive path--write a TDE and publish to server. Use system memory instead of writing to disk.
        • This isn't something we've test. We think it should work provided the RAM disk is using normal, OS filesystem APIs. Please let us know how it goes.


      Message was edited by: Diego Medrano

        • 1. Re: Join us for Developer Office Hours:  REST API
          Ben Lower

          (question from Craig Bloodworth (@craigbloodworth) via Twitter)


          @benlower @tableau in case I forget to ask...why does 90% of it have to rely on admin access? It's so restrictive for app devs

          • 2. Re: Join us for Developer Office Hours:  REST API
            Michelle Wallace

            Two more questions came in from Twitter:


            • @ VMuraliKRaju: Can we use the API on Hadoop datasets?
            • @ felpscm: Is there a way to update localization/language of the users using REST API?


            Keep 'em coming!


            • 3. Re: Join us for Developer Office Hours:  REST API
              Sunil Unnithan

              1. Support multiple authentication methods like SPNEGO, Siteminder, OAuth2, etc.

              2. Batch Operations

              • Add Users to Groups
              • Add Users to Site
              • and so on

              3. Support publish of tde/twb with multiple data source.  Currently we can only do it with single data source.

              4. Support active directly sync for selected user groups.  Right now it can be only done using the server ui for all the groups.

              5. Ability to change user default role at site level

              6. Generate log snapshots at site level.

              7. Trigger refresh extracts so that we can automate and schedule it in autosys.  Our jobs have upstream dependency on other jobs for etl.

              8. Any plans to support JSON payload for api.  Very convenient for nodejs based environments.

              9. Preserve connection information of existing workbook in publish api.

              10.  Export workbook as pdf/png similar to tabcmd get ...

              1 of 1 people found this helpful
              • 4. Re: Join us for Developer Office Hours:  REST API
                Sunil Unnithan

                Thank you very much for hosting this.  It was really helpful.


                Going back to my question about batch operations, we did try looping and calling the api but found performance issue with that approach.  You guys do support this using your server ui if you look at the json payload that is going between the ui and the server.  It will be really helpful if you could support it on the api side as well.




                1 of 1 people found this helpful