RStudio Connect API Reference 1.0.1
Build 1.8.0-9
This is a reference document explaining the RStudio Connect API. Please note that
paths are relative to the base API URL (i.e., http:/localhost:3939/__api__
)
The RStudio Connect API can be used to perform certain user actions remotely. You will need to install a tool or library that can make HTTP requests, such as:
Versioning of the API
The RStudio Connect Server API uses a simple, single number versioning scheme as noted as the first part of each endpoint path. This version number will only be incremented in the event that non-backward compatible changes are made to an existing endpoint. Note that this occurs on a per-endpoint basis; see the section on deprecation below for more information.
Changes that are considered backward compatible are:
- New fields in responses.
- New non-required fields in requests.
- New endpoint behavior which does not violate the current functional intent of the endpoint.
Changes that are considered non-backward compatible are:
- Removal or rename of request or response fields.
- A change of the type or format of one or more request or response fields.
- Addition of new required request fields.
- A substantial deviation from the current functional intent of the endpoint.
The points relating to functional intent are assumed to be extremely rare as more often such situations will result in a completely new endpoint, which makes the change a backward compatible addition.
Experimentation
RStudio Connect labels experimental endpoints in the API by including /experimental
in the endpoint path immediately after the version indicator. If an endpoint is noted
as experimental, it should not be relied upon for any production work. These are
endpoints that RStudio Connect is making available to our customers to solicit
feedback; they are subject to change without notice. Such changes include anything
from altered request/response shapes, to complete abandonment of the endpoint.
This public review of an experimental endpoint will last as long as necessary to either
prove its viability or to determine that it’s not really needed. The time for this
will vary based on the intricacies of each endpoint. When the endpoint is finalized,
the next release of RStudio Connect will mark the experimental path as deprecated while
adding the endpoint without the /experimental
prefix. The path with the experimental
prefix will be removed six months later. The documentation for the endpoint will also
note, during that time, the original, experimental, path.
All experimental endpoints are clearly marked as such in this documentation.
Deprecation and Removal of Old Versions
It is possible that RStudio Connect may decide to deprecate an endpoint. This will happen if either the endpoint serves no useful purpose because it’s functionality is now handled by a different endpoint or because there is a newer version of the endpoint that should be used.
If a deprecated endpoint is called, the response to it will include an extra HTTP
header called, X-Deprecated-Endpoint
and will have as a value the path of the
endpoint that should be used instead. If the functionality has no direct replacement,
the value will be set to n/a
.
Deprecated versions of an endpoint will be supported for 1 year from the release date of RStudio Connect in which the endpoint was marked as deprecated. At that time, the endpoint is subject to removal at the discretion of RStudio Connect. The life cycle of an endpoint will follow these steps.
- The
/v1/endpoint
is public and in use by RStudio Connect customers. - RStudio Connect makes
/v2/experimental/endpoint
available for testing and feedback. Customers should still use/v1/endpoint
for production work. - RStudio Connect moves version 2 of the endpoint out of experimentation so, all within
the same release:
/v1/endpoint
is marked as deprecated./v2/experimental/endpoint
is marked as deprecated./v2/endpoint
is made public.
- Six months later,
/v2/experimental/endpoint
is removed from the product. - Twelve months later,
/v1/endpoint
is removed from the product.
Note that it is possible that RStudio Connect may produce a new version of an existing endpoint without making an experimental version of it first. The same life cycle, without those parts, will still be followed.
Authentication
Most endpoints require you to identify yourself as a valid RStudio Connect user. You do this by specifying an API Key when you make a call to the server. The API Keys chapter of the RStudio Connect User Guide explains how to create an API Key.
API Keys
API Keys are managed by each user in the RStudio Connect dashboard. If you ever lose an API Key or otherwise feel it has been compromised, use the dashboard to revoke the key and create another one.
https
, your API Key could be intercepted and used by a malicious actor.
Once you have an API Key, you can authenticate by passing the key with a prefix
of "Key "
(the space is important) in the Authorization header.
Below are examples of invoking the "Get R Information" endpoint.
cURL
curl -H "Authorization: Key XXXXXXXXXXX" \ https://rstudioconnect.example.com/__api__/v1/server_settings/r
R
library(httr) apiKey <- "XXXXXXXXXXX" result <- GET("https://rstudioconnect.example.com/__api__/v1/server_settings/r", add_headers(Authorization = paste("Key", apiKey)))
Python
import requests r = requests.get( 'https://rstudioconnect.example.com/__api__/v1/server_settings/r', headers = { 'Authorization': 'Key XXXXXXXXXXX' } )
Endpoints
The URIs for all endpoints below must be prefixed with /__api__
to function properly. Unless otherwise noted, all endpoints which accept a request body
will require the body to be in application/json
format. Similarly, all response bodies will be returned in
application/json
format.
Audit Logs
These endpoints let you obtain auditing information.
getAuditLogs
This endpoint returns a portion of the audit logs, as well as paging information that can be used to navigate the audit log results.
This endpoint uses keyset pagination. The Keyset Pagination recipe in the RStudio Connect API Cookbook has example code for fetching multiple pages.
Request
Parameters
limit
|
integer (int32) (query)
Number of logs to return. The minimum supported value is 1 and
maximum supported value is 500. Note that It has a default value of |
previous
|
string (query)
Gets the previous page of audit logs relative to the given id. |
next
|
string (query)
Gets the next page of audit logs relative to the given id. |
ascOrder
|
boolean (query)
Whether the audit logs should be listed in ascending order It has a default value of |
Responses
200 |
AuditLogs
The audit logs results and paging information |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
Bundles
These endpoints let you manage and obtain information about content bundles.
getBundle
Get detailed information about a specific bundle.
Bundle reads are permitted by all users with viewership rights to the content item. R and Python versions are populated for users with "publisher" and "administrator" role.
Request
Parameters
id
|
string (path)
(required)
The unique identifier of the desired bundle. |
Responses
200 |
Bundle
The bundle details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
deleteBundle
Delete a specific bundle.
Bundle deletion is permitted by authorized clients with collaborator rights.
On-disk data and database records are removed as a consequence of this call. Deletion is not allowed while the bundle is still active.
Request
Parameters
id
|
string (path)
(required)
The unique identifier of the desired bundle. |
Responses
204 |
Returned when the bundle was successfully removed. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
downloadBundle
Download a deployment bundle.
Bundle download is permitted by authorized clients with collaborator rights.
Download a gzip
compressed tar
archive (.tar.gz
) containing the
code/data from one deployment of the associated content.
See the POST
/experimental/content/{guid}/upload
endpoint
for details about the construction of bundle archives.
Request
Parameters
id
|
string (path)
(required)
The unique identifier of the desired bundle. |
Responses
200 |
string (binary)
A |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
getBundles
List bundles associated with a specific content item.
Bundle enumeration is permitted by all users with viewership rights to the content item. R and Python versions are populated for users with "publisher" and "administrator" role.
Results are sorted by ID.
Pagination
This endpoint uses offset pagination (using page numbers). The Offset Pagination recipe in the RStudio Connect API Cookbook has sample code for fetching multiple pages from a list endpoint.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The unique identifier of the desired content item. |
page_number
|
integer (int32) (query)
The page to return relative to the given It has a default value of |
page_size
|
integer (int32) (query)
The number of items to include in each page. This parameter is
"best effort" since there may not be enough bundles to honor the
request. If It has a default value of |
Responses
200 |
Bundles
The list of bundles. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
Content
These endpoints let you manage and obtain information about content hosted by RStudio Connect.
createContent
Create a new content item.
Authenticated access from a user having either "publisher" or "administrator" role is allowed. All other clients are rejected.
Request
Parameters
content
|
Content (body)
(required)
The request body required when creating a new content item. |
Responses
200 |
Content
The details for the newly created content. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
getContent
Get detailed information about a specific content item.
Unauthenticated clients are rejected regardless of the content access type.
Authorized, non-administrator clients without viewership rights to this content are rejected.
Authorized, administrator clients without viewership rights are
permitted to obtain information about this content. The computed
role
for these users will be none
, representing that these users
cannot view the content itself.
Authorized clients with viewership (or collaborator) rights are
permitted to obtain information about this content. The computed
role
for these users will reflect the level of access.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The unique identifier of the desired content item. |
Responses
200 |
Content
The requested content details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
updateContent
Update fields for a specific content item.
Authenticated access from a user having either "publisher" or "administrator" role is allowed. All other clients are rejected.
Authorized clients with collaborator or administrator rights are permitted to modify content item fields.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The unique identifier of the desired content item. |
content
|
Content (body)
(required)
The request body required when creating a new content item. |
Responses
200 |
Content
The details for the newly created content. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
deleteContent
Delete a specific content item.
On-disk data and database records are removed as a consequence of this call.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The unique identifier of the desired content item. |
Responses
204 |
Returned when the content was successfully removed. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
deployContentBundle
Deploy (activate) a deployment bundle.
Deployment requests spawn an asynchronous task to make your previously uploaded data available for serving. The workflow applied to the bundled files varies depending on the type of content.
Executable content has its environment reconstructed. This includes
using the packrat
R package to install R package dependencies.
Documents (R Markdown reports, Jupyter Notebooks) are rendered and the result made available.
Interactive content (Shiny applications, Plumber APIs) available to be launched on the next client visit.
The deployment workflow for static content (HTML, plots) is lighter-weight than for executable content. File time-stamps are updated to ensure that browsers do not cache previous results and instead see the newly promoted files.
The response from this endpoint includes a task identifier. Poll the
GET /experimental/tasks/{id}
endpoint to track the
progress of this task.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The unique identifier of the desired content item. |
instructions
|
ContentDeploymentInstructions (body)
The request body when requesting the deployment of a bundle. |
Responses
200 |
ContentDeploymentTask
The requested content details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
uploadContentBundle
Upload a new deployment bundle.
Upload a compressed tar
archive containing code/data that represent
one deployment of this content. Bundles must be gzip
compressed
tar
archives.
All deployment bundles include a manifest.json
describing the
contained files and their runtime dependencies.
A bundle for a Shiny application include an app.R
or ui.R
and server.R
, and any images or data files required by the
application.
An R Markdown document bundle includes the index.Rmd
file along with
any R scripts and data files needed to render the report.
Bundles containing HTML content would include the CSS, Javascript, and images required by that document.
The archive paths for the manifest.json
file and primary source
files like app.R
or index.Rmd
must not specify a directory
structure. Directories may be used for secondary data and scripts.
Here is how you might use tar
to create an archive for a Shiny
application. It includes the manifest, the application, and an image.
tar zcf bundle.tar.gz ./manifest.json ./app.R ./www/logo.png
Here is another example of creating a bundle for that same application
but from its parent directory. The Shiny application is in a
sales-analyzer
sub-directory.
tar -C sales-analyzer zcf bundle.tar.gz .
Both tar
commands will produce an archive with the manifest.json
and app.R
at the top-most level.
Publishers with collaborator rights to this content (including the owner) are permitted to upload deployment bundles. Users without these rights are rejected.
Administrators must be a collaborator for a content item before they receive upload rights.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The unique identifier of the desired content item. |
archive
|
string (binary) (body)
(required)
A |
X-Content-Checksum
|
string (header)
The MD5 sum of the archive file. |
Responses
200 |
ContentUploadBundle
The requested content details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
Groups
These endpoints let you manage user groups.
getGroups
This endpoint lists or searches for local groups.
- For a
prefix
search, results are sorted based on similarity to theprefix
. Aprefix
search ignoresasc_order
. The first page of results will always be returned. - For a non-
prefix
search, results are sorted by group name. - For LDAP authentication, this endpoint executes an
unbounded LDAP query. Instead,
page_size
is applied locally by RStudio Connect.
Pagination
This endpoint uses offset pagination (using page numbers). The Offset Pagination recipe in the RStudio Connect API Cookbook has sample code for fetching multiple pages from a list endpoint.
Request
Parameters
prefix
|
string (query)
Filters groups by prefix (group name). The filter is case insensitive. |
page_number
|
integer (int32) (query)
The page to return relative to the given It has a default value of |
page_size
|
integer (int32) (query)
The number of items to include in each page. This parameter
is "best effort" since there may not be enough groups to
honor the request. If It has a default value of |
asc_order
|
boolean (query)
Whether or not to return the groups in ascending order,
sorted by name. For a It has a default value of |
Responses
200 |
Groups
The search results |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
createRemoteGroup
This endpoint creates the given group on the RStudio Connect server.
- This endpoint is used only for LDAP authentication. Password,
PAM, SAML, OAuth2 and Proxied authentication providers should
use the
POST /groups
endpoint. - Publisher or administrator access is required to access this endpoint.
Group Creation Workflow on LDAP
The API lets you identify an existing group in the LDAP system and create a corresponding group on RStudio Connect. This is a two-step process:
- Use the
GET /groups/remote
endpoint. This endpoint will return a list of potential matching groups in LDAP. A group that does not exist in RStudio Connect will lack aguid
. Note thetemp_ticket
for the desired group. - Use this PUT endpoint with the
temp_ticket
to create a corresponding group on RStudio Connect.
The Create a Group from LDAP recipe in the API Cookbook has sample code using this workflow.
Request
Parameters
request
|
(see below) (body)
(required)
The request body needed for creating a group on the RStudio Connect server. |
Body Schema
The body for this request must be specified as follows:
temp_ticket
|
string
(required)
The temporary ticket used for creating a group on the
RStudio Connect server. It is obtained from the |
Here is an example of what it may look like:
{ "temp_ticket": "" }
Responses
200 |
Group
The group object |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
409 |
APIError
The request could not be completed due to a conflict. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
createGroup
This endpoint creates the given group.
- This endpoint is available only when groups are enabled in RStudio Connect and only for Password, PAM, OAuth2, SAML and Proxied authentication.
- Publisher or administrator access is required to create groups.
Request
Parameters
group
|
(see below) (body)
(required)
The new group values. |
Body Schema
The body for this request must be specified as follows:
name
|
string
(required)
The group's desired name |
Here is an example of what it may look like:
{ "name": "marketing" }
Responses
200 |
Group
The group object |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
409 |
APIError
The request could not be completed due to a conflict. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
searchRemoteGroups
This endpoint is used to support operations against groups not
managed by Connect, such as creating LDAP
groups. See GET /groups
for
listing groups on RStudio Connect.
This endpoint searches for groups on RStudio Connect and on your LDAP system.
Results are sorted based on similarity to the prefix
.
- This endpoint can be used only by LDAP authentication and will return an error otherwise.
- Publisher or administrator access is required to access this endpoint.
Request
Parameters
prefix
|
string (query)
(required)
Search groups by prefix. |
limit
|
integer (int32) (query)
The maximum number of groups to include in the results. If
It has a default value of |
Responses
200 |
GroupRemoteSearch
The search results. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
getGroupMembers
This endpoint gets the group member details. Group member enumeration is currently not supported for LDAP.
- This endpoint is available only when groups are enabled in RStudio Connect and only for Password, PAM, OAuth2, SAML and Proxied authentication.
- The
email
field is not populated for non-admins whenServer.HideEmailAddresses
is enabled.
Request
Parameters
group_guid
|
string (uuid) (path)
(required)
The group's unique identifier |
Responses
200 |
GroupMembers
The requested group member details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
addGroupMember
This endpoint adds a user to a group.
- This endpoint is available only when groups are enabled in RStudio Connect and only for Password, PAM, OAuth2, SAML and Proxied authentication.
- Administrator access is required to modify a group you do not own.
Request
Parameters
group_guid
|
string (uuid) (path)
(required)
The group's unique identifier |
user
|
(see below) (body)
(required)
The user to add as a member |
Body Schema
The body for this request must be specified as follows:
user_guid
|
string (uuid)
(required)
The user's unique identifier |
Here is an example of what it may look like:
{ "user_guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3" }
Responses
204 |
This response is returned only when the user was successfully added to the group. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
409 |
APIError
The request could not be completed due to a conflict. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
removeGroupMember
This endpoint removes a user from a group.
- This endpoint is available only when groups are enabled in RStudio Connect and only for Password, PAM, OAuth2, SAML and Proxied authentication.
- Administrator access is required to remove a user from a group you do not own, but no special access is needed to remove yourself from a group.
Request
Parameters
group_guid
|
string (uuid) (path)
(required)
The group's unique identifier |
user_guid
|
string (uuid) (path)
(required)
The group member's unique identifier |
Responses
204 |
This response is returned only when the user was successfully removed from the group. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
getGroup
Get detailed information on a specific group.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The group's unique identifier |
Responses
200 |
Group
The requested group details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
deleteGroup
Delete the given group.
- This endpoint can be used only when groups are enabled in RStudio Connnect and will return an error otherwise.
- Administrator access is required to delete a group you do not own.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The group's unique identifier |
Responses
204 |
This response is returned only when the group was successfully removed. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
Instrumentation
The RStudio Connect server is instrumented to record usage data when users access published content.
The instrumentation endpoints provide a REST API for the appropriate users to query and retrieve the recorded usage data. This API supports server-side filtering of the data results as well as a flexible paging mechanism to handle large quantities of records. For further details on this, see the documentation for each endpoint.
Code examples showing how to access the instrumentation data are in the User Activity recipes within the RStudio Connect API Cookbook.
The sol-eng/usage GitHub repository contains an R Markdown dashboard that uses these instrumentation APIs.
getContentVisits
This endpoint returns a portion of the visit (or "hits") information for renderend and static content. Rendered content includes R Markdown (both with and without parameters), Jupyter Notebooks, etc. Static content includes plots, spreadsheets, sites, etc. This endpoint does not return information on Shiny applications, plumber APIs or TensorFlow models. The results returned include paging details that can be used to navigate the information this endpoint returns.
The information returned is based on data collected by RStudio Connect as users visit rendered and static content.
min_data_version
filter with a value of 0.
Filtering of results:
There are several ways the result set can be filtered by the server before being sent back within the API response. If multiple filters are in effect, they will be logically ANDed together.
Implicit Filtering
If the user calling the endpoint is a publisher, the data returned will be limited to the content owned by the user.
Time Windows
This API accepts optional from
and to
timestamps to define a window of
interest. If from
is not specified, it is assumed to be before the earliest
recorded information. If to
is not specified, it is assumed to be "now".
Any visit to content that falls inclusively within the time window will be part of the result set.
Responses
The response of a call will contain zero or more data records representing a visit
by a user to a piece of content. No more than limit
records will be returned.
Multiple requests of this endpoint are typically required to retrieve the complete
result set from the server. To facilitate this, each response includes a paging
object containing full URL links which can be requested to iteratively move forward
or backward through multiple response pages.
Request
Parameters
content_guid
|
string (uuid) (query)
Filter results by content GUID. This parameter will limit the results to include only the access records for content matching the content GUID filter value. Example value = Multiple content GUIDs may be specified using the bar character
|
min_data_version
|
integer (int32) (query)
Filter by data version. Records with a data version lower than the given value will be excluded from the set of results. The Rendered and Static Content Visit
Events
section of the RStudio Connect Admin Guide explains how to
interpret It has a default value of |
from
|
string (date-time) (query)
The timestamp that starts the time window of interest. Any visit information that happened prior to this timestamp will not be returned. Example value = |
to
|
string (date-time) (query)
The timestamp that ends the time window of interest. Any visit information that happened after this timestamp will not be returned. Example value = |
limit
|
integer (int32) (query)
The number of records to return. The minimum supported value is 1 and maximum
supported value is 500. Note that It has a default value of |
previous
|
string (query)
Retrieve the previous page of content visit logs relative to the provided value. This value corresponds to an internal reference within the server and should be sourced from the appropriate attribute within the paging object of a previous response. |
next
|
string (query)
Retrieve the next page of content visit logs relative to the provided value. This value corresponds to an internal reference within the server and should be sourced from the appropriate attribute within the paging object of a previous response. |
asc_order
|
boolean (query)
Determines if the response records should be listed in ascending or descending
order within the response. Ordering is by the It has a default value of |
Responses
200 |
ContentVisitLogs
The content visit results and paging information |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
default |
APIError
An error occurred invoking the API. |
getShinyAppUsage
This endpoint returns a portion of the Shiny application usage information, as well as paging details that can be used to navigate that information.
The information returned is based on data collected by RStudio Connect as users visit Shiny applications. Because of how visits are detected, end times will be slightly inflated by a reconnect timeout, generally around 15 seconds.
min_data_version
filter with a value of 0.
- Because of how visits are detected, end times will be slightly inflated by the currently configured client reconnect timeout, which defaults to 15 seconds. The ending time may also be affected by connect and read timeout settings.
The Shiny Application Events section of the RStudio Connect Admin Guide has more details about how these events are collected. - This endpoint requires administrator or publisher access.
Filtering of results:
There are several ways the result set can be filtered by the server before being sent back within the API response. If multiple filters are in effect, they will be logically ANDed together.
Implicit Filtering
If the user calling the endpoint is a publisher, the data returned will be limited to those applications owned by the user.
Time Windows
This API accepts optional from
and to
timestamps to define a window of
interest. If from
is not specified, it is assumed to be before the earliest
recorded information. If to
is not specified, it is assumed to be "now".
Any visit to content that falls inclusively within the time window will be part of the result set.
Responses
The response of a call will contain zero or more data records representing a session
by a user of a Shiny application. No more than limit
records will be returned.
Multiple requests of this endpoint are typically required to retrieve the complete
result set from the server. To facilitate this, each response includes a paging
object containing full URL links which can be requested to iteratively move forward
or backward through multiple response pages.
Request
Parameters
content_guid
|
string (uuid) (query)
Filter results by content GUID. This parameter will limit the results to include only the access records for the Shiny application(s) matching the content GUID filter value. Example value = Multiple content GUIDs may be specified using the bar character
|
min_data_version
|
integer (int32) (query)
Filter by data version. Records with a data version lower than the given value will be excluded from the set of results. The Shiny Application
Events
section of the RStudio Connect Admin Guide explains how to
interpret It has a default value of |
from
|
string (date-time) (query)
The timestamp that starts the time window of interest. Any usage information that ends prior to this timestamp will not be returned. Individual records may contain a starting time that is before this if they end after it or have not finished. Example value = |
to
|
string (date-time) (query)
The timestamp that ends the time window of interest. Any usage information that starts after this timestamp will not be returned. Individual records may contain an ending time that is after this (or no ending time) if they start before it. Example value = |
limit
|
integer (int32) (query)
The number of records to return. The minimum supported value is 1 and maximum
supported value is 500. Note that It has a default value of |
previous
|
string (query)
Retrieve the previous page of Shiny application usage logs relative to the provided value. This value corresponds to an internal reference within the server and should be sourced from the appropriate attribute within the paging object of a previous response. |
next
|
string (query)
Retrieve the next page of Shiny application usage logs relative to the provided value. This value corresponds to an internal reference within the server and should be sourced from the appropriate attribute within the paging object of a previous response. |
asc_order
|
boolean (query)
Determines if the response records should be listed in ascending or descending
order within the response. Ordering is by the It has a default value of |
Responses
200 |
ShinyAppUsageLogs
The Shiny application usage results and paging information |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
default |
APIError
An error occurred invoking the API. |
R Information
These endpoints provide details about the server's R installations.
getRInformation
This endpoint returns a list of metadata objects for each installed version of R that RStudio Connect can run.
publisher
and administrator
roles.
The R Versions Available recipe in the RStudio Connect API Cookbook contains a recipe with sample code.
Responses
200 |
RInstallations
An object containing metadata about each installation of R. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
default |
APIError
An error occurred invoking the API. |
Tasks
These endpoints provide output and status about recent operations run by RStudio Connect.
getTask
Returns the current state of a task and any output lines past the
requested initial position (first
).
When wait
is non-zero, will wait up to that number of seconds for
the task to complete before responding. The current state of the task
is returned once the task completes or wait
seconds elapse.
Incrementally receive task output by using the last
response field
value as the first
value in a subsequent query.
Use wait
and first
together to incrementally fetch generated
output.
Here is a URL that allows up to 5 seconds before returning all available output:
/experimental/tasks/CmsfmnfDDyRUrsAc?wait=5&first=0
Let's assume that request has a JSON response with the last
field
having a value of 23
. Here is a URL that requests output past that
point, again allowing up to 5 seconds:
/experimental/tasks/CmsfmnfDDyRUrsAc?wait=5&first=23
Continue with this pattern until the JSON response indicates that the task has finished.
Request
Parameters
id
|
string (path)
(required)
The identifier of the desired task. |
first
|
integer (int32) (query)
The first line of output to include in the response. The value Values less than |
wait
|
integer (int32) (query)
The number of seconds to wait for task completion before responding. The current state of the task is returned once the task completes or this time elapses. Values less than |
Responses
200 |
Task
The task details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
Users
These endpoints let you manage users.
getUsers
This endpoint lists local users. When called with a prefix parameter, it searches for local users matching the prefix.
Results are sorted by first name, then last name, then
username, then email. prefix
searches are first sorted based
on similarity to the prefix and then by first name, last
name, username, email.
- Administrator access is required for filtering by
account_status
. - The
email
field is not populated for non-admins whenServer.HideEmailAddresses
is enabled. - When the user making the request is a viewer and
Authorization.ViewersCanOnlySeeThemselves
is being used, the results contain only the given user.
Pagination
This endpoint uses offset pagination (using page numbers). The Offset Pagination recipe in the RStudio Connect API Cookbook has sample code for fetching multiple pages from a list endpoint.
Note that searching by prefix
will always return the first
page of results.
Request
Parameters
prefix
|
string (query)
Filters users by prefix (username, first name, or last name). The filter is case insensitive. |
user_role
|
string (query)
Filter by user role. "|" represents logical OR. For example,
Note that for It may have a value of |
account_status
|
string (query)
Filter by account status. "|" represents logical OR. For
example, Note that for It may have a value of |
page_number
|
integer (int32) (query)
The page to return relative to the given It has a default value of |
page_size
|
integer (int32) (query)
The number of items to include in each page. This parameter
is "best effort" since there may not be enough users to
honor the request. If It has a default value of |
asc_order
|
boolean (query)
Whether or not to return the users in ascending order, sorted by first name, last name, username, and email. It has a default value of |
Responses
200 |
Users
The search results |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
createPullUser
This endpoint creates the given user on the RStudio Connect server.
- This endpoint is used only for LDAP and OAuth2
authentication. All other authentication providers should
use the
POST /users
endpoint. - Unlike the
POST /users
endpoint, publisher or administrator access is required to access this endpoint.
User Creation Workflow on LDAP and OAuth2
This endpoint requires authentication, which means that you need an API Key for access. How do you get an API Key if there are no users in RStudio Connect? The first user can be created by simply logging into RStudio Connect. The RStudio Connect Server API cannot be used to create the first user. Once logged in, you can create an API Key.
For LDAP and OAuth2, the API lets you identify an existing user in the LDAP or OAuth2 system and create a corresponding account on RStudio Connect. This is a two-step process:
- Use the
GET /users/remote
endpoint. This endpoint will return a list of potential matching accounts in LDAP or OAuth2. A user with no account on RStudio Connect will lack aguid
. Note thetemp_ticket
for the desired user account. - Use this PUT endpoint with the
temp_ticket
to create a corresponding account on RStudio Connect.
The Create a User from LDAP/OAuth recipe in the API Cookbook has sample code using this workflow.
LDAP and OAuth2 Authentication
- The created user role will default to the role specified by
the config setting
Authorization.DefaultUserRole
.
Request
Parameters
request
|
(see below) (body)
(required)
The request body needed for creating a user on the RStudio Connect server. |
Body Schema
The body for this request must be specified as follows:
temp_ticket
|
string
(required)
The temporary ticket used for creating a user on the RStudio
Connect server. It is obtained from the |
Here is an example of what it may look like:
{ "temp_ticket": "" }
Responses
200 |
User
The user object |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
409 |
APIError
The request could not be completed due to a conflict. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
createPushUser
This endpoint creates the given user.
- This endpoint is used only for SAML, password, PAM, and proxied
authentication. All other authentication providers should
use the
PUT /users
endpoint. - Administrator access is required to create other users.
Initial User Creation Workflow
This endpoint requires authentication to create other users, which means that you need an API Key for access. How do you get an API Key if there are no users in RStudio Connect?
- For password authentication, you can use this endpoint without an API Key to create the first user. The first user will be an administrator.
- For SAML, PAM or proxied authentication, the first user can be created by logging into RStudio Connect. The API cannot be used.
Once the first user is created, an API Key can be used to access this endpoint and create subsequent users. The API Keys chapter of the RStudio Connect User Guide explains how to create an API Key.
All Authentication Providers
- When
user_role
is not specified, it will default to the role specified by the config settingAuthorization.DefaultUserRole
.
SAML, PAM and Proxied Authentication
- An API Key must always be used. Users cannot use this endpoint to create their own account.
- Administrator access is always required to create accounts.
Password Authentication
- Users must confirm their account through an email. This feature is unique to password authentication.
- Administrator access is always required except for the first created user.
Request
Parameters
user
|
(see below) (body)
(required)
The new user values. |
Body Schema
The body for this request must be specified as follows:
email
|
string (email)
The user's email. |
first_name
|
string
The user's first name |
last_name
|
string
The user's last name |
password
|
string
Applies only to password authentication. Must be at
least 6 characters long. Cannot be set when
|
unique_id
|
string
Applies only to proxied authentication when |
user_must_set_password
|
boolean
Applies only to password authentication.
|
user_role
|
nullable string
The user's role. If It may have a value of |
username
|
string
(required)
The user's desired username |
Here is an example of what it may look like:
{ "username": "john_doe", "first_name": "John", "last_name": "Doe", "user_role": "viewer", "user_must_set_password": false, "password": "", "email": "john_doe@rstudio.com", "unique_id": "string" }
Responses
200 |
User
The user object |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
409 |
APIError
The request could not be completed due to a conflict. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
searchRemoteUsers
This endpoint is used to support operations against users who
do not have an RStudio Connect account, such as creating LDAP and
OAuth2 users. See
GET /users
for listing users.
This endpoint searches for users on RStudio Connect and on your LDAP or OAuth2 system.
Results are first sorted based on similarity to the prefix
and then by first name, last name, username, and email.
- This endpoint can be used only by LDAP or OAuth2 authentication and will return an error otherwise.
- Publisher or administrator access is required to access this endpoint.
- The
email
field is not populated for non-admins whenServer.HideEmailAddresses
is enabled. - When the user making the request is a viewer and
Authorization.ViewersCanOnlySeeThemselves
is being used, the results contain only the given user.
Request
Parameters
prefix
|
string (query)
(required)
Search users by prefix (username, first name, or last
name). |
limit
|
integer (int32) (query)
The maximum number of users to include in the results. If
It has a default value of |
Responses
200 |
RemoteSearchResults
The search results. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
getUser
Get detailed information on a specific user.
email
field is not populated for non-admins when
Server.HideEmailAddresses
is enabled.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The user's GUID, or unique identifier Example value = |
Responses
200 |
User
The requested user details. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
updateUser
This endpoint updates a given user and returns the updated user properties. Note that it returns only the properties that can be modified by this endpoint.
- a user can change their own user properties.
- another user's properties can be changed with administrator access.
- The configuration setting
Authorization.UserInfoEditableBy
controls whether or not non-admins can edit their own properties.
Password Authentication
- Emails are required.
- Changing an unconfirmed user's email will cause the confirmation email to be resent to the new email.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The user's GUID, or unique identifier Example value = |
user
|
(see below) (body)
(required)
The new user values. |
Body Schema
The body for this request must be specified as follows:
email
|
string (email)
The user's new email. |
first_name
|
string
The user's new first name |
last_name
|
string
The user's new last name |
user_role
|
string
The user's new role. Note that you can only downgrade yourself. Administrators can change other users' roles to any valid role. It may have a value of |
username
|
string
The user's new username |
Here is an example of what it may look like:
{ "username": "john_doe", "first_name": "John", "last_name": "Doe", "email": "john_doe@rstudio.com", "user_role": "viewer" }
Responses
200 |
EditableUser
The latest user properties that can be modified by this endpoint. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
409 |
APIError
The request could not be completed due to a conflict. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
lockUser
This endpoint locks or unlocks a given user account.
- License limits are taken into account when unlocking a user.
- Administrator access is required to access this endpoint.
- You cannot lock or unlock yourself.
Request
Parameters
guid
|
string (uuid) (path)
(required)
The user's GUID, or unique identifier Example value = |
request
|
(see below) (body)
(required)
The lock request |
Body Schema
The body for this request must be specified as follows:
locked
|
boolean
(required)
Whether or not the user should be locked. |
Here is an example of what it may look like:
{ "locked": false }
Responses
200 |
This response is returned only when the lock/unlock request is successful. |
400 |
APIError
The requested operation is invalid. |
401 |
APIError
The requested operation requires authentication. |
403 |
APIError
You do not have permission to perform this operation. |
404 |
APIError
The requested object does not exist. |
500 |
A server error occurred. |
default |
APIError
An error occurred invoking the API. |
Models
APIError
This object defines data returned in the case of an error. The API
error codes reference enumerates all values for
code
. The response error
message can vary from the default message
to provide additional details about the error.
Definition
code
|
integer
(required)
The specific code for the type of error returned. |
error
|
string
(required)
Some text which describes the problem that was encountered. |
payload
|
nullable object |
Example
{ "code": 24, "payload": {}, "error": "The requested operation requires authentication." }
AuditEntry
Definition
action
|
string
(required)
Audit action taken |
event_description
|
string
(required)
Description of action |
id
|
string
(required)
ID of the audit action |
time
|
string (date-time)
(required)
Timestamp in RFC3339 format when action was taken |
user_description
|
string
(required)
Description of the actor |
user_id
|
string
(required)
User ID of the actor who made the audit action |
Example
{ "event_description": "Added user Full Name (username)", "user_id": "string", "user_description": "Full name (username)", "time": "2006-01-02T15:04:05Z07:00", "action": "add_user", "id": "string" }
AuditLogs
Definition
paging
|
AuditPager |
results
|
array of AuditEntry
The audit logs |
Example
{ "paging": { "first": "http://localhost:3443/__api__/audit_logs", "previous": "http://localhost:3443/__api__/audit_logs?previous=23948901087", "last": "http://localhost:3443/__api__/audit_logs?last=true", "cursors": { "previous": "23948901087", "next": "23948901087" }, "next": "http://localhost:3443/__api__/audit_logs?next=23948901087" }, "results": [ { "event_description": "Added user Full Name (username)", "user_id": "string", "user_description": "Full name (username)", "time": "2006-01-02T15:04:05Z07:00", "action": "add_user", "id": "string" } ] }
AuditPager
Paging object that can be used for navigation
Definition
cursors
|
object
(required)
Cursors that can be used for navigation
|
||||
first
|
nullable string
(required)
A full URL of the first page of results. It will be |
||||
last
|
nullable string
(required)
A full URL of the last page of results. It will be |
||||
next
|
nullable string
(required)
A full URL of the next page of results when the current request was made. It will be |
||||
previous
|
nullable string
(required)
A full URL of the previous page of results when the curent request was made. It will be |
Example
{ "first": "http://localhost:3443/__api__/audit_logs", "previous": "http://localhost:3443/__api__/audit_logs?previous=23948901087", "last": "http://localhost:3443/__api__/audit_logs?last=true", "cursors": { "previous": "23948901087", "next": "23948901087" }, "next": "http://localhost:3443/__api__/audit_logs?next=23948901087" }
Bundle
Content published to RStudio Connect is encapsulated in a "bundle" that contains the source code and data necessary to execute the content. An application or report is updated by uploading a new bundle.
Definition
active
|
read-only boolean
Indicates if this bundle is active for the owning content. |
content_guid
|
read-only string (uuid)
The identifier of the owning content. |
created_time
|
read-only string (date-time)
The timestamp (RFC3339) of when this bundle was created. |
id
|
read-only string
The identifier for this bundle. |
py_version
|
read-only nullable string
The version of the Python interpreter used when last restoring this
bundle. The value Python version is not disclosed to users with a "viewer" role and
returned with the value |
r_version
|
read-only nullable string
The version of the R interpreter used when last restoring this
bundle. The value R version is not disclosed to users with a "viewer" role and
returned with the value |
size
|
read-only number
On-disk size in bytes of the tar.gz file associated with this bundle. Zero when there is no on-disk file. |
Example
{ "content_guid": "25438b83-ea6d-4839-ae8e-53c52ac5f9ce", "r_version": "3.5.1", "created_time": "2006-01-02T15:04:05Z07:00", "active": false, "py_version": "2.7.10", "id": "101", "size": 1000000 }
Bundles
Definition
current_page
|
integer
The current page of results. |
results
|
array of Bundle
The bundles list |
total
|
integer
The total number of bundles that belong to the given content. |
Example
{ "total": 1, "results": [ { "content_guid": "25438b83-ea6d-4839-ae8e-53c52ac5f9ce", "r_version": "3.5.1", "created_time": "2006-01-02T15:04:05Z07:00", "active": false, "py_version": "2.7.10", "id": "101", "size": 1000000 } ], "current_page": 1 }
Content
The content object models all the "things" you may deploy to RStudio Connect. This includes Shiny applications, R Markdown documents, Plumber APIs, TensorFlow Model APIs, and plots.
Content has an app_mode
field that represents the type of content
represented by this item and its runtime model. This field initially has
a value of unknown
and receives its final value upon its first
successful bundle deploy.
rmd-static
- An R Markdown document or site.shiny
- R code defining a Shiny application.rmd-shiny
- An R Markdown document with a Shiny runtime.static
- Content deployed without source; often HTML and plots.api
- R code defining a Plumber API.jupyter-static
- A Jupyter Notebook.tensorflow-saved-model
- A TensorFlow Model API.unknown
- No known runtime model.
Content marked as shiny
, rmd-shiny
, api
, or
tensorflow-saved-model
is executed on demand as requests arrive.
Content marked as rmd-static
or jupyter-static
renders from source
to output HTML. This rendering can occur based on some schedule or when
explicitly triggered. It is not on each visit. Viewers of this type of
content see a previously rendered result.
Content marked static
is presented to viewers in its deployed form.
The content_category
field refines the type of content specified by
app_mode
. It is empty by default. The rsconnect
R package may assign
a value when analyzing your content and building its manifest and
bundle. Plots (images created in the RStudio IDE and presented in the
"Plots" pane) have an app_mode
of static
and receive a
content_category
of plot
to distinguish them from other HTML
documents. Pinned static data sets have an app_mode
of static
and a
content_category
of pin
. Multi-document R Markdown sites have an
app_mode
of rmd-static
and a content_category
of site
.
Fields marked "read-only" cannot be written by
POST /experimental/content
or
POST /experimental/content/{guid}
.
The fields bundle_id
, app_mode
, content_category
,
has_parameters
, r_version
, and py_version
are computed as a
consequence of a POST
/experimental/content/{guid}/deploy
deployment
operation.
The run_as
and run_as_current_user
fields are read-only as fields of
Content objects. A future API will allow adjustment of these properties.
Use the RStudio Connect dashboard to adjust what Unix user executes your
content.
Definition
access_type
|
string
Access type describes how this content manages its viewers. The
value It may have a value of |
app_mode
|
read-only string
The runtime model for this content. Has a value of See the Content description for additional details. It may have a value of |
bundle_id
|
read-only nullable string
The identifier for the active deployment bundle. Automatically assigned upon the successful deployment of that bundle. |
connection_timeout
|
nullable integer
Maximum number of seconds allowed without data sent or received
across a client connection. A value of |
content_category
|
read-only string
Describes the specialization of the content runtime model. Automatically assigned upon the first successful bundle deployment. |
created_time
|
read-only string (date-time)
The timestamp (RFC3339) indicating when this content was created. |
description
|
string
A rich description of this content. |
guid
|
read-only string (uuid)
The unique identifier of this content item. |
has_parameters
|
read-only boolean
True when R Markdown rendered content allows parameter
configuration. Automatically assigned upon the first successful
bundle deployment. Applies only to content with an |
idle_timeout
|
nullable integer
The maximum number of seconds a worker process for an interactive
application to remain alive after it goes idle (no active
connections). When |
init_timeout
|
nullable integer
The maximum number of seconds allowed for an interactive application
to start. RStudio Connect must be able to connect to a newly
launched Shiny application, for example, before this threshold has
elapsed. When |
last_deployed_time
|
read-only string (date-time)
The timestamp (RFC3339) indicating when this content last had a successful bundle deployment performed. |
load_factor
|
nullable number
Controls how aggressively new processes are spawned. When |
max_conns_per_process
|
nullable integer
Specifies the maximum number of client connections allowed to an
individual process. Incoming connections which will exceed this
limit are routed to a new process or rejected. When |
max_processes
|
nullable integer
Specifies the total number of concurrent processes allowed for a
single interactive application. When |
min_processes
|
nullable integer
Specifies the minimum number of concurrent processes allowed for a
single interactive application. When |
name
|
string
(required)
A simple, URL-friendly identifier. Allows alpha-numeric
characters, hyphens ( |
owner_guid
|
read-only string (uuid)
The unique identifier of the user who created this content item. Automatically assigned when the content is created. |
py_version
|
read-only nullable string
The version of the Python interpreter associated with this content.
The value |
r_version
|
read-only nullable string
The version of the R interpreter associated with this content. The
value |
read_timeout
|
nullable integer
Maximum number of seconds allowed without data received from a
client connection. A value of |
role
|
read-only string
The relationship of the accessing user to this content. A value of
It may have a value of |
run_as
|
read-only nullable string
The UNIX user that executes this content. When |
run_as_current_user
|
read-only boolean
Indicates if this content is allowed to execute as the logged-in
user when using PAM authentication. Applies only to executable
content types - not |
title
|
nullable string
The title of this content. |
url
|
read-only string
The URL associated with this content. Computed from the associated vanity URL or the identifiers for this content. |
Example
{ "max_conns_per_process": 20, "run_as": "rstudio-connect", "max_processes": 3, "access_type": "acl", "app_mode": "shiny", "created_time": "2006-01-02T15:04:05Z07:00", "init_timeout": 60, "min_processes": 0, "read_timeout": 3600, "py_version": "2.7.10", "guid": "25438b83-ea6d-4839-ae8e-53c52ac5f9ce", "title": "Quarterly Analysis of Team Velocity", "run_as_current_user": false, "role": "owner", "description": "This report calculates per-team statistics ...", "load_factor": 0.5, "r_version": "3.5.1", "has_parameters": false, "idle_timeout": 5, "bundle_id": "101", "connection_timeout": 3600, "name": "quarterly-analysis", "url": "http://rstudio-connect.company.com/content/42", "content_category": "site", "last_deployed_time": "2006-01-02T15:04:05Z07:00", "owner_guid": "25438b83-ea6d-4839-ae8e-53c52ac5f9ce" }
ContentDeploymentInstructions
Optionally identifies the target deployment bundle.
Definition
bundle_id
|
nullable string |
Example
{ "bundle_id": "101" }
ContentDeploymentTask
Identifies the task that can be used to track the progress of a deployment operation.
Definition
task_id
|
read-only string
Identifier for the created deployment task. |
Example
{ "task_id": "M49MsuXt6XVzlRdL" }
ContentUploadBundle
Describes the bundle created by a just-completed upload.
Definition
bundle_id
|
read-only string
Identifier for the newly created bundle. |
size
|
read-only number
The number of bytes received. |
Example
{ "bundle_id": "449", "size": 1000000 }
ContentVisit
Definition
bundle_id
|
integer
(required)
The ID of the particular bundle used. |
content_guid
|
string (uuid)
(required)
The GUID, in RFC4122 format, of the content this information pertains to. |
data_version
|
integer
(required)
The data version the record was recorded with. The Rendered and Static Content Visit
Events
section of the RStudio Connect Admin Guide explains how to interpret
|
rendering_id
|
integer
The ID of the rendering the user visited. This will be |
time
|
string (date-time)
(required)
The timestamp, in RFC3339 format, when the user visited the content. |
user_guid
|
string (uuid)
(required)
The GUID, in RFC4122 format, of the user that visited the content. |
variant_key
|
string
The key of the variant the user visited. This will be |
Example
{ "content_guid": "bd1d2285-6c80-49af-8a83-a200effe3cb3", "rendering_id": 7, "variant_key": "HidI2Kwq", "data_version": 1, "time": "2018-09-15T18:00:00-05:00", "bundle_id": 33, "user_guid": "08e3a41d-1f8e-47f2-8855-f05ea3b0d4b2" }
ContentVisitLogs
Definition
paging
|
ContentVisitPager |
results
|
array of ContentVisit
The content visit logs |
Example
{ "paging": { "first": "http://localhost:3443/__api__/v1/instrumentation/content/visits", "previous": "http://localhost:3443/__api__/v1/instrumentation/content/visits?previous=23948901087", "last": "http://localhost:3443/__api__/v1/instrumentation/content/visits?last=true", "cursors": { "previous": "23948901087", "next": "23948901087" }, "next": "http://localhost:3443/__api__/v1/instrumentation/content/visits?next=23948901087" }, "results": [ { "content_guid": "bd1d2285-6c80-49af-8a83-a200effe3cb3", "rendering_id": 7, "variant_key": "HidI2Kwq", "data_version": 1, "time": "2018-09-15T18:00:00-05:00", "bundle_id": 33, "user_guid": "08e3a41d-1f8e-47f2-8855-f05ea3b0d4b2" } ] }
ContentVisitPager
Paging object that can be used for navigation
Definition
cursors
|
object
(required)
Cursors that can be used for navigation
|
||||
first
|
nullable string
(required)
A full URL of the first page of results. It will be |
||||
last
|
nullable string
(required)
A full URL of the last page of results. It will be |
||||
next
|
nullable string
(required)
A full URL of the next page of results when the original request was made. It will be |
||||
previous
|
nullable string
(required)
A full URL of the previous page of results when the original request was made. It will be |
Example
{ "first": "http://localhost:3443/__api__/v1/instrumentation/content/visits", "previous": "http://localhost:3443/__api__/v1/instrumentation/content/visits?previous=23948901087", "last": "http://localhost:3443/__api__/v1/instrumentation/content/visits?last=true", "cursors": { "previous": "23948901087", "next": "23948901087" }, "next": "http://localhost:3443/__api__/v1/instrumentation/content/visits?next=23948901087" }
EditableUser
Definition
email
|
string (email)
(required)
The user's email |
first_name
|
string
(required)
The user's first name |
last_name
|
string
(required)
The user's last name |
updated_time
|
string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was last updated in the RStudio Connect server |
user_role
|
string
(required)
The user's role It may have a value of |
username
|
string
(required)
The user's username |
Example
{ "username": "jondoe", "first_name": "Jon", "last_name": "Doe", "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "email": "jon.doe@example.com" }
Group
Definition
guid
|
string (uuid)
(required)
The unique identifier |
name
|
string
(required)
The group name |
owner_guid
|
nullable string (uuid)
(required)
The group owner's unique identifier. When using LDAP, or
Proxied authentication with group provisioning enabled
this property will always be |
Example
{ "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "name": "accounting", "owner_guid": "string" }
GroupMembers
Definition
current_page
|
integer:int32 (0 <= n)
The current page of results |
results
|
array of User
The group members list |
total
|
integer
The number of group members |
Example
{ "total": 1, "results": [ { "username": "jondoe", "active_time": "2006-01-02T15:04:05Z07:00", "first_name": "Jon", "last_name": "Doe", "locked": false, "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "confirmed": true, "created_time": "2006-01-02T15:04:05Z07:00", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "email": "jon.doe@example.com" } ], "current_page": 1 }
GroupRemoteSearch
Definition
current_page
|
integer:int32 (0 <= n)
The current page of results |
results
|
array of GroupWithTicket
The groups list |
total
|
integer
The number of groups in the search results |
Example
{ "total": 1, "results": [ { "temp_ticket": "string", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "name": "accounting" } ], "current_page": 1 }
GroupWithTicket
Definition
guid
|
nullable string (uuid)
(required)
The group's unique identifier in
RFC4122 format. When
a group does not exist in the RStudio Connect server, this
property will be |
name
|
string
(required)
The group name |
temp_ticket
|
string
(required)
This value is for actions that require a |
Example
{ "temp_ticket": "string", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "name": "accounting" }
Groups
Definition
current_page
|
integer:int32 (0 <= n)
The current page of results |
results
|
array of Group
The groups list |
total
|
integer
The number of users that match the given filters |
Example
{ "total": 1, "results": [ { "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "name": "accounting", "owner_guid": "string" } ], "current_page": 1 }
RInstallation
This defines the information provided by the server about a single installation of R.
Definition
version
|
string
The version number of this R installation. |
Example
{ "version": "3.4.4" }
RInstallations
This defines the top-level object that describes the data returned by the server. It contains information about each installation of R that is known.
Definition
installations
|
array of RInstallation
The array of information about RStudio Connect's R installations. |
Example
{ "installations": [ { "version": "3.4.4" } ] }
RemoteSearchResults
Definition
current_page
|
integer:int32 (0 <= n)
The current page of results |
results
|
array of UserWithTicket
The users list |
total
|
integer
The number of users in the search results |
Example
{ "total": 1, "results": [ { "username": "jondoe", "active_time": "2006-01-02T15:04:05Z07:00", "first_name": "Jon", "last_name": "Doe", "locked": false, "temp_ticket": "string", "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "confirmed": true, "created_time": "2006-01-02T15:04:05Z07:00", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "email": "jon.doe@example.com" } ], "current_page": 1 }
ShinyAppUsage
Definition
content_guid
|
string (uuid)
(required)
The GUID, in RFC4122 format, of the Shiny application this information pertains to. |
data_version
|
integer
(required)
The data version the record was recorded with. The Shiny Application
Events
section of the RStudio Connect Admin Guide explains how to interpret
|
ended
|
string (date-time)
(required)
The timestamp, in RFC3339 format, when the user left the application. |
started
|
string (date-time)
(required)
The timestamp, in RFC3339 format, when the user opened the application. |
user_guid
|
string (uuid)
(required)
The GUID, in RFC4122 format, of the user that visited the application. |
Example
{ "started": "2018-09-15T18:00:00-05:00", "content_guid": "bd1d2285-6c80-49af-8a83-a200effe3cb3", "user_guid": "08e3a41d-1f8e-47f2-8855-f05ea3b0d4b2", "ended": "2018-09-15T18:01:00-05:00", "data_version": 1 }
ShinyAppUsageLogs
Definition
paging
|
ShinyAppUsagePager |
results
|
array of ShinyAppUsage
The Shiny application usage logs |
Example
{ "paging": { "first": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage", "previous": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?previous=23948901087", "last": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?last=true", "cursors": { "previous": "23948901087", "next": "23948901087" }, "next": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?next=23948901087" }, "results": [ { "started": "2018-09-15T18:00:00-05:00", "content_guid": "bd1d2285-6c80-49af-8a83-a200effe3cb3", "user_guid": "08e3a41d-1f8e-47f2-8855-f05ea3b0d4b2", "ended": "2018-09-15T18:01:00-05:00", "data_version": 1 } ] }
ShinyAppUsagePager
Paging object that can be used for navigation
Definition
cursors
|
object
(required)
Cursors that can be used for navigation
|
||||
first
|
nullable string
(required)
A full URL of the first page of results. It will be |
||||
last
|
nullable string
(required)
A full URL of the last page of results. It will be |
||||
next
|
nullable string
(required)
A full URL of the next page of results when the original request was made. It will be |
||||
previous
|
nullable string
(required)
A full URL of the previous page of results when the original request was made. It will be |
Example
{ "first": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage", "previous": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?previous=23948901087", "last": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?last=true", "cursors": { "previous": "23948901087", "next": "23948901087" }, "next": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?next=23948901087" }
Task
The task tracks the output and status of some operation being performed by RStudio Connect. It is most commonly used to contain details about the progress of a deployment operation.
Definition
code
|
read-only integer
Numeric indication as to the cause of an error. Non-zero when an error has occured. |
error
|
read-only string
Description of the error. An empty string when no error has occurred. |
finished
|
read-only boolean
Indicates that a task has completed. |
id
|
read-only string
The identifier for this task. |
last
|
read-only integer
The total number of output lines produced so far. Use as the value
to |
output
|
read-only array of string
An array containing lines of output produced by the task. The
initial line of output is dictated by the |
Example
{ "code": 1, "last": 2, "finished": true, "error": "Unable to render: Rendering exited abnormally: exit status 1", "output": [ "Building static content...", "Launching static content..." ], "id": "jXhOhdm5OOSkGhJw" }
User
Definition
active_time
|
nullable string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was last active on the RStudio Connect server |
confirmed
|
boolean
(required)
When |
created_time
|
string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was created in the RStudio Connect server |
email
|
string (email)
(required)
The user's email |
first_name
|
string
(required)
The user's first name |
guid
|
string (uuid)
(required)
The user's GUID, or unique identifier, in UUID RFC4122 format |
last_name
|
string
(required)
The user's last name |
locked
|
boolean
(required)
Whether or not the user is locked |
updated_time
|
string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was last updated in the RStudio Connect server |
user_role
|
string
(required)
The user's role It may have a value of |
username
|
string
(required)
The user's username |
Example
{ "username": "jondoe", "active_time": "2006-01-02T15:04:05Z07:00", "first_name": "Jon", "last_name": "Doe", "locked": false, "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "confirmed": true, "created_time": "2006-01-02T15:04:05Z07:00", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "email": "jon.doe@example.com" }
UserWithTicket
Definition
active_time
|
nullable string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was last active on the RStudio Connect server |
confirmed
|
boolean
(required)
Whether or not the user is confirmed. This property will
always be |
created_time
|
string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was created in the RStudio Connect server |
email
|
string (email)
(required)
The user's email |
first_name
|
string
(required)
The user's first name |
guid
|
nullable string (uuid)
(required)
The user's GUID, or unique identifier in RFC4122
format. When a user does not exist in the RStudio Connect server, this property
will be |
last_name
|
string
(required)
The user's last name |
locked
|
boolean
(required)
Whether or not the user is locked |
temp_ticket
|
string
(required)
This value is for actions that require a |
updated_time
|
string (date-time)
(required)
The timestamp (in RFC3339 format) when the user was last updated in the RStudio Connect server |
user_role
|
string
(required)
The user's role It may have a value of |
username
|
string
(required)
The user's username |
Example
{ "username": "jondoe", "active_time": "2006-01-02T15:04:05Z07:00", "first_name": "Jon", "last_name": "Doe", "locked": false, "temp_ticket": "string", "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "confirmed": true, "created_time": "2006-01-02T15:04:05Z07:00", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "email": "jon.doe@example.com" }
Users
Definition
current_page
|
integer:int32 (0 <= n)
The current page of results |
results
|
array of User
The users list |
total
|
integer
The number of users that match the given filters |
Example
{ "total": 1, "results": [ { "username": "jondoe", "active_time": "2006-01-02T15:04:05Z07:00", "first_name": "Jon", "last_name": "Doe", "locked": false, "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "confirmed": true, "created_time": "2006-01-02T15:04:05Z07:00", "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", "email": "jon.doe@example.com" } ], "current_page": 1 }
API Error Codes
The following is a reference of all error codes returned as part of an
APIError
response. It includes
the text and the HTTP status most commonly returned with that error code.
Error Code | Message | HTTP status | HTTP message |
---|---|---|---|
1 | An internal failure occurred. | 500 | Internal Server Error |
2 | The requested method or endpoint is not supported. | 404 | Not Found |
3 | The requested object ID is invalid. | 400 | Bad Request |
4 | The requested object does not exist. | 404 | Not Found |
5 | Application name must be between 3 and 64 alphanumeric characters, dashes, and underscores. | 400 | Bad Request |
6 | The password is not strong enough. Please try again. | 400 | Bad Request |
7 | The requested username is not permitted. | 400 | Bad Request |
8 | The requested username is already in use. | 409 | Conflict |
9 | The requested user could not be found. | 404 | Not Found |
10 | The requested object doesn't belong to you. | 403 | Forbidden |
11 | The requested filter could not be applied. | 400 | Bad Request |
12 | A required parameter is missing. | 400 | Bad Request |
13 | The requested range is invalid. | 400 | Bad Request |
14 | Group name must be between 3 and 64 alphanumeric characters. | 400 | Bad Request |
15 | The requested group name is already in use. | 409 | Conflict |
16 | The user or group is already a member of the group. | 409 | Conflict |
17 | The requested item could not be removed because it does not exist. | 404 | Not Found |
18 | The requested item could not be changed because it does not exist. | 404 | Not Found |
19 | You don't have permission to access this item. | 403 | Forbidden |
20 | You don't have permission to remove this item. | 403 | Forbidden |
21 | You don't have permission to change this item. | 403 | Forbidden |
22 | You don't have permission to perform this operation. | 403 | Forbidden |
23 | You don't have permission to give the user this role. | 403 | Forbidden |
24 | The requested operation requires authentication. | 401 | Unauthorized |
25 | The parameter is invalid. | 400 | Bad Request |
26 | An object with that name already exists. | 409 | Conflict |
27 | This version of R is in use and cannot be deleted. | 409 | Conflict |
28 | No application bundle to deploy. | 404 | Not Found |
29 | The token is expired. Authentication tokens must be claimed within one hour. | 401 | Unauthorized |
30 | We couldn't log you in with the provided credentials. Please ask your RStudio Connect administrator for assistance. | 401 | Unauthorized |
31 | Password change prohibited. | 403 | Forbidden |
32 | The requested filter is not valid. | 400 | Bad Request |
33 | This user cannot be added as a collaborator because they don't have permission to publish content. | 403 | Forbidden |
34 | The application's owner cannot be added as a collaborator or viewer. | 400 | Bad Request |
35 | Cannot delete object as it is being used elsewhere. | 409 | Conflict |
36 | This user's username has already been set and cannot be changed. | 400 | Bad Request |
37 | Schedules must have a start time and it must be after 1/1/2010. | 400 | Bad Request |
38 | The application's manifest is invalid or missing. | 400 | Bad Request |
39 | The application does not support this action. | 400 | Bad Request |
40 | The current user has not been confirmed. | 400 | Bad Request |
41 | The initial user must specify a password; it cannot be generated. | 400 | Bad Request |
42 | The user has already been confirmed. | 400 | Bad Request |
43 | This system has not been configured to send email. Please contact your RStudio Connect administrator. | 400 | Bad Request |
44 | The current user does not have an email address. | 400 | Bad Request |
45 | Invalid MinProcesses setting. The MinProcesses setting may not exceed the Scheduler.MinProcessesLimit setting. | 400 | Bad Request |
46 | Internal user fields cannot be changed via API. | 400 | Bad Request |
47 | Creation of new users is disabled. | 403 | Forbidden |
48 | You cannot change the type of application once deployed. Try deploying this as a new application instead of updating an existing one. | 403 | Forbidden |
49 | You don't have permission to lock/unlock this user. | 403 | Forbidden |
50 | This user is locked. | 403 | Forbidden |
51 | Vanity path conflicts with one or more already in use. | 409 | Conflict |
52 | Vanity path is not permitted. | 400 | Bad Request |
53 | Immutable field cannot be changed. | 400 | Bad Request |
54 | You cannot set this content to run as the current user | 400 | Bad Request |
55 | Custom RunAs settings are prohibited for static content. | 400 | Bad Request |
56 | The RunAs setting references a prohibited Unix account. | 400 | Bad Request |
57 | The RunAs setting does not reference a valid Unix account. | 400 | Bad Request |
58 | The RunAs setting references a Unix account that does not have the correct group membership. | 400 | Bad Request |
59 | There is no rendering available. | 400 | Bad Request |
60 | This email address is not allowed to login to this server. | 400 | Bad Request |
61 | You cannot change the role of the only remaining administrator. | 400 | Bad Request |
62 | An API key name must not be blank. | 400 | Bad Request |
63 | There was a problem communicating with the LDAP authentication server. Please contact your RStudio Connect administrator. | 400 | Bad Request |
64 | The number of users permitted by this license has been exceeded. Please contact your administrator. | 400 | Bad Request |
65 | API applications are not permitted by your license. | 403 | Forbidden |
66 | You cannot assign ownership to another user. | 400 | Bad Request |
67 | You must provide the source_key for an existing variant | 400 | Bad Request |
68 | You cannot promote a variant without a valid rendering | 400 | Bad Request |
69 | The bundle ID of the source and target variants must match | 400 | Bad Request |
70 | Target rendering is more recent than source rendering | 400 | Bad Request |
71 | Only parameterized documents support promoting output | 400 | Bad Request |
72 | Not allowed to create schedule with different application association than its variant | 400 | Bad Request |
73 | You may not schedule ad-hoc variants | 400 | Bad Request |
74 | The requested report name is not permitted | 400 | Bad Request |
75 | You may not delete the active bundle for an application | 400 | Bad Request |
76 | A user using the same Unique ID already exists | 400 | Bad Request |
77 | A tag name cannot be more than 255 characters | 400 | Bad Request |
78 | A tag must have a name | 400 | Bad Request |
79 | Cannot assign a category to an app | 400 | Bad Request |
80 | The target object does not match the provided version. | 409 | Conflict |
81 | Duplicate names are not permitted; a sibling tag or category already has this name | 400 | Bad Request |
82 | The bundle for deployment must belong to the target application. | 400 | Bad Request |
83 | Too many search results. Be more specific. | 400 | Bad Request |
84 | The token has already been claimed. Tokens can only be claimed once. | 403 | Forbidden |
85 | A token using the same token key already exists | 400 | Bad Request |
86 | A new token MUST contain a public_key and token in the json body. | 400 | Bad Request |
87 | The request body cannot be parsed | 400 | Bad Request |
88 | Cannot apply the requested change because it would make the target object an ancestor of itself. | 400 | Bad Request |
89 | Unable to send email. Please contact your RStudio Connect administrator. | 400 | Bad Request |
90 | User self-registration is disabled | 400 | Bad Request |
91 | The external authentication provider did not provide a valid username. | 400 | Bad Request |
92 | XSRF token mismatch | 403 | Forbidden |
93 | Private variants cannot be configured to email users other than the owner | 403 | Forbidden |
94 | You can only request a permissions upgrade once per 24-hour period. | 400 | Bad Request |
95 | This API does not allow the current authentication type. | 403 | Forbidden |
96 | Incorrect current password. | 403 | Forbidden |
97 | Changing host or scheme in redirect is forbidden. | 403 | Forbidden |
98 | We couldn't log you in with the provided credentials. Please ask your RStudio Connect administrator for assistance. | 401 | Unauthorized |
99 | Please re-supply your credentials. | 401 | Unauthorized |
100 | Unable to remove item. It is being processed. | 400 | Bad Request |
101 | The provided password change token is invalid. | 403 | Forbidden |
102 | A schedule for this variant already exists. | 409 | Conflict |
103 | This system has not been configured to send email. Please contact your RStudio Connect administrator. | 400 | Bad Request |
104 | The content checksum header and body MD5 sum are not equal. | 400 | Bad Request |
105 | TensorFlow Model APIs are not permitted by your license. | 403 | Forbidden |
106 | Unable to update environment variables because they were changed while you were editing them. | 409 | Conflict |
107 | That username is not allowed because it is prohibited by policy. | 400 | Bad Request |
108 | Environment changes contain a prohibited variable | 409 | Conflict |
109 | This type of content is not allowed because it is prohibited by policy. | 403 | Forbidden |
110 | You cannot change the categorization of content once deployed. Try deploying this as a new application instead of updating an existing one. | 403 | Forbidden |
111 | You cannot change if an app is parameterized once deployed. Try deploying this as a new application instead of updating an existing one. | 403 | Forbidden |
112 | The provided user role is not recognized. | 400 | Bad Request |
113 | Invalid MaxProcesses setting. The MaxProcesses setting may not exceed the Scheduler.MaxProcessesLimit setting. | 400 | Bad Request |
114 | Invalid MinProcesses setting. The MinProcesses setting may not exceed the MaxProcesses setting. | 400 | Bad Request |
115 | The provided status is not recognized. | 400 | Bad Request |
116 | The requested rendering does not match the variant. | 400 | Bad Request |
117 | Unknown access type. | 400 | Bad Request |
118 | This access type is not allowed because it is prohibited by policy. | 403 | Forbidden |
119 | The authentication provider does not support creating records from a retrieved ticket. POST new content instead. | 400 | Bad Request |
120 | The authentication provider does not support creating records from POST content. PUT a retrieved ticket instead. | 400 | Bad Request |
121 | The request JSON is invalid. | 400 | Bad Request |
122 | Application title must be between 3 and 1024 characters. | 400 | Bad Request |
123 | Application description must be 4096 characters or less. | 400 | Bad Request |
124 | No administrator has a configured email address. | 400 | Bad Request |
125 | Content-Length cannot be 0. | 400 | Bad Request |
126 | Request Content-Length did not match the number of bytes received. | 400 | Bad Request |
127 | The temp_ticket is invalid. | 400 | Bad Request |
128 | The email address cannot be blank. | 400 | Bad Request |
129 | The user unique ID cannot be blank. | 400 | Bad Request |
130 | The group unique ID cannot be blank. | 400 | Bad Request |
131 | A group using the same unique ID already exists. | 400 | Bad Request |
132 | The configured provider cannot access this endpoint. | 400 | Bad Request |
133 | The source variant belongs to a different app. | 400 | Bad Request |
134 | Unable to write bundle to disk. | 400 | Bad Request |
135 | Unable to extract the bundle. | 400 | Bad Request |
136 | Time values must be in RFC3339 format. | 400 | Bad Request |
137 | The start of the time interval cannot be in the past, or more than 5 years in the future. | 400 | Bad Request |
138 | The end of the time interval cannot be earlier than the start time. | 400 | Bad Request |
139 | The length of the time interval cannot be more than 1 year. | 400 | Bad Request |
140 | The time interval must have both start and end times. | 400 | Bad Request |
141 | Task lookup failures can indicate that a load balancer is not using sticky sessions or a client is not including the session cookie. Details: https://docs.rstudio.com/connect/admin/high-availability.html | 404 | Not Found |
142 | The app is already managed by git. | 409 | Conflict |
143 | The app is not managed by git. | 409 | Conflict |
144 | Uploading a content bundle is not allowed for this application since it is managed by git. | 409 | Conflict |
145 | Cannot deploy this content because git is not enabled. | 400 | Bad Request |
146 | Git urls with usernames are not supported. | 400 | Bad Request |
Copyright 2019 RStudio | All Rights Reserved | Legal Terms Generated on December 16, 2019 at 11:29 PM UTC