Connect API Specification

rstudioconnect

#1

I notice that there's an API specification here:

http://docs.rstudio.com/connect/1.6.2/api/

But it seems to be pretty barebones.

At rstudio::conf I was told that nearly everything is available through the api. But I can't seem to find any reference to any other endpoints.

Has anyone else explored this more?

Ideally I'd like to be able to pull the full list of apps + permissions on demand.
(sitemap.xml doesn't give enough meta information)

I could probably generate this from the audit log but that seems like a lot of munging for what is probably just an undocumented endpoint.


#2

There may have been a mix-up in discussing the Server API at rstudio::conf, or perhaps I am missing something. That is definitely our vision for where the Server API will someday be, but the Server API made its entrance in Connect 1.6.0 (released in April 2018) and is currently in its early days. The Server API endpoints are backwards compatible, public, and documented.

As you have suggested, there is an internal API that is undocumented, but we do not recommend or support trying to use it, make no guarantees about its behavior or backwards compatibility, and ultimately would recommend waiting until we add content listing (the feature that you are requesting) to the Connect Server API.

In the meantime, we would love feedback on the Server API features that we have exposed, if you have any need to utilize them! Stay tuned to the RStudio Blog (blog.rstudio.com) or subscribe to stay up to date on latest releases and the features we continue adding to the Server API.

At the time of rstudio::conf, the Server API did not exist yet, so I expect that discussion was occurring around future vision, may have been discussing the internal API, or there was a mix-up discussing API assets like Plumber REST APIs or Tensorflow models. I for one am super excited about the Server API's future, and am encouraged to hear others excited about additional features.


#3

Thanks for the reply!

Currently an unstable API would be fine.

I'm more interested in 1-time pulls to get at the database without having to go through the backup -> SQLite -> remember the schema.

If I could get a nice list of everything I have, I don't need the endpoint to be supported long term.


Feedback

on the features that are currently documented:
With the exception of a security audit (where I will certainly need to pull everything), it seems as though it's lacking a way to search for particular kinds of audit events.

For example, all successful (or unsuccessful) deployments would be really nice.


#4

Thanks, @shapenaji! That feature (filtering for audit logs) is currently on our backlog. We'll be chipping away at bringing in new API endpoints (and enhancing the existing ones) in the coming months.