⇧ Back to top

RStudio Connect API Reference 1.0.1

Build 1.7.6.2-18

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:

Changes that are considered non-backward compatible are:

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.

  1. The /v1/endpoint is public and in use by RStudio Connect customers.
  2. RStudio Connect makes /v2/experimental/endpoint available for testing and feedback. Customers should still use /v1/endpoint for production work.
  3. RStudio Connect moves version 2 of the endpoint out of experimentation so, all within the same release:
    1. /v1/endpoint is marked as deprecated.
    2. /v2/experimental/endpoint is marked as deprecated.
    3. /v2/endpoint is made public.
  4. Six months later, /v2/experimental/endpoint is removed from the product.
  5. 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.

Keep your API Key safe. If your RStudio Connect server's URL does not begin with 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.

get   /v1/audit_logs Get audit logs
Operation ID: 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 requires administrator access.

This endpoint uses keyset pagination. The Keyset Pagination recipe in the RStudio Connect API Cookbook has example code for fetching multiple pages.

Parameters
limit integer (int32) (query)

Number of logs to return. The minimum supported value is 1 and maximum supported value is 500. Note that limit is a "best effort" request since there may not be enough logs to satisfy the limit.

It has a default value of 20.

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 true.

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

This group of endpoints is experimental and will be removed, renamed, or altered in an upcoming release.

These endpoints let you manage and obtain information about content bundles.

get   /v1/experimental/bundles/{id} Get bundle details
Operation ID: getBundle

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

Parameters
id string (path) (required)

The unique identifier of the desired bundle.

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.

delete   /v1/experimental/bundles/{id} Delete bundle
Operation ID: deleteBundle

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

Parameters
id string (path) (required)

The unique identifier of the desired bundle.

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.

get   /v1/experimental/bundles/{id}/download Download the bundle archive
Operation ID: downloadBundle

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

Parameters
id string (path) (required)

The unique identifier of the desired bundle.

200 string (binary)

A gzip compressed tar archive file.

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.

get   /v1/experimental/content/{guid}/bundles List bundles
Operation ID: getBundles

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

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 page_size. If page_number is 0 or negative, an error will be returned.

It has a default value of 1.

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 page_size is less than 1 or greater than 500, an error will be returned.

It has a default value of 20.

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

This group of endpoints is experimental and will be removed, renamed, or altered in an upcoming release.

These endpoints let you manage and obtain information about content hosted by RStudio Connect.

post   /v1/experimental/content Create content item
Operation ID: createContent

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

Create a new content item.

Authenticated access from a user having either "publisher" or "administrator" role is allowed. All other clients are rejected.

Parameters
content Content (body) (required)

The request body required when creating a new content item.

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.

get   /v1/experimental/content/{guid} Get content details
Operation ID: getContent

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

Parameters
guid string (uuid) (path) (required)

The unique identifier of the desired content item.

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.

post   /v1/experimental/content/{guid} Update content
Operation ID: updateContent

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

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.

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.

delete   /v1/experimental/content/{guid} Delete content
Operation ID: deleteContent

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

Delete a specific content item.

On-disk data and database records are removed as a consequence of this call.

Parameters
guid string (uuid) (path) (required)

The unique identifier of the desired content item.

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.

post   /v1/experimental/content/{guid}/deploy Deploy deployment bundle
Operation ID: deployContentBundle

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

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.

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.

post   /v1/experimental/content/{guid}/upload Upload deployment bundle
Operation ID: uploadContentBundle

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

Parameters
guid string (uuid) (path) (required)

The unique identifier of the desired content item.

archive string (binary) (body) (required)

A gzip compressed tar archive file.

X-Content-Checksum string (header)

The MD5 sum of the archive file.

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.

Operation ID: getGroups

This endpoint lists or searches for local groups.

  • For a prefix search, results are sorted based on similarity to the prefix. A prefix search ignores asc_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.
This endpoint is available only when groups are enabled in RStudio Connect and it will return an error otherwise.

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.

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 page_size. If page_number is 0 or negative, an error will be returned. For a prefix search, the first page of results will always be returned.

It has a default value of 1.

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 page_size is less than 1 or greater than 500, an error will be returned.

It has a default value of 20.

asc_order boolean (query)

Whether or not to return the groups in ascending order, sorted by name. For a prefix search, results are sorted first by exact match, then by increasing word length.

It has a default value of true.

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.

Operation ID: 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 a guid. Note the temp_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.

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 GET /groups/remote endpoint.

Here is an example of what it may look like:

{
   "temp_ticket": ""
}
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.

post   /v1/groups Create a group from caller-supplied details (Password, PAM, OAuth2, SAML, Proxied)
Operation ID: 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.
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"
}
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.

Operation ID: 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.
Parameters
prefix string (query) (required)

Search groups by prefix. prefix is case insensitive.

limit integer (int32) (query)

The maximum number of groups to include in the results. If limit is less than 1 or greater than 500, an error will be returned.

It has a default value of 20.

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.

get   /v1/groups/{group_guid}/members Get group member details
Operation ID: 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 when Server.HideEmailAddresses is enabled.
Parameters
group_guid string (uuid) (path) (required)

The group's unique identifier

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.

post   /v1/groups/{group_guid}/members Add a group member
Operation ID: 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.
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"
}
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.

delete   /v1/groups/{group_guid}/members/{user_guid} Remove a group member
Operation ID: 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.
Parameters
group_guid string (uuid) (path) (required)

The group's unique identifier

user_guid string (uuid) (path) (required)

The group member's unique identifier

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.

get   /v1/groups/{guid} Get group details
Operation ID: getGroup

Get detailed information on a specific group.

This endpoint is available only when groups are enabled in RStudio Connect.
Parameters
guid string (uuid) (path) (required)

The group's unique identifier

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.

delete   /v1/groups/{guid} Delete a group
Operation ID: 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.
Parameters
guid string (uuid) (path) (required)

The group's unique identifier

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.

get   /v1/instrumentation/content/visits Get Content Visits
Operation ID: 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.

Prior to the release of this API, there was an issue with how visits were returned that caused extra entries to be stored under certain circumstances. These will affect analyses that interpret visit counts. Entries that were recorded before the issue was addressed are not returned by default. If you desire these records, specify the min_data_version filter with a value of 0.
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 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.

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 = 6f300623-1e0c-48e6-a473-ddf630c0c0c3 using UUID RFC4122 format.

Multiple content GUIDs may be specified using the bar character | which represents a logical OR across the surounding GUIDs. For example, content_guid=6f300623-1e0c-48e6-a473-ddf630c0c0c3|e08a86af-a262-4152-8366-f2d8ec3c54f9 will filter the result set to only the access records for content with a GUID of 6f300623-1e0c-48e6-a473-ddf630c0c0c3 or a GUID of e08a86af-a262-4152-8366-f2d8ec3c54f9.

  • The GUID associated with published content can be found on the Info panel for the content within the RStudio Connect Dashboard window.
  • Note that if you specify the content_guid more than once like this, content_guid=6f300623-1e0c-48e6-a473-ddf630c0c0c3&content_guid=&e08a86af-a262-4152-8366-f2d8ec3c54f9 you will receive results for the first GUID only; the 2nd and subsequent content_guid fields are ignored.
  • Note that there is a practical limit of around 40 to the number of GUIDs that may be specified due to the length of a html query string.
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 data_version values.

It has a default value of 1.

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 = 2018-09-15T18:00:00Z using RFC3339 format of (yyyy-mm-ddThh:mm:ss followed by either -##:##, .##Z or Z)

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 = 2018-09-15T18:00:00Z using RFC3339 format of (yyyy-mm-ddThh:mm:ss followed by either -##:##, .##Z or Z)

limit integer (int32) (query)

The number of records to return. The minimum supported value is 1 and maximum supported value is 500. Note that limit is a "best effort" request since there may not be enough visit entries to satisfy the limit.

It has a default value of 20.

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 started timestamp field.

It has a default value of true.

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.

get   /v1/instrumentation/shiny/usage Get Shiny App Usage
Operation ID: 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.

Prior to the release of this API, there was an issue with how visits were recorded that caused extra entries to be stored. These will affect analyses that interpret visit counts or durations. Entries that were recorded before the issue was addressed are not returned by default. If you desire these records, specify the 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.

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 = 6f300623-1e0c-48e6-a473-ddf630c0c0c3 using UUID RFC4122 format.

Multiple content GUIDs may be specified using the bar character | which represents a logical OR across the surounding GUIDs. For example, content_guid=6f300623-1e0c-48e6-a473-ddf630c0c0c3|e08a86af-a262-4152-8366-f2d8ec3c54f9 will filter the result set to only the access records for the Shiny Applications with a GUID of 6f300623-1e0c-48e6-a473-ddf630c0c0c3 or a GUID of e08a86af-a262-4152-8366-f2d8ec3c54f9.

  • The GUID associated with a published Shiny application can be found on the Info panel for the application within the RStudio Connect Dashboard window.
  • Note that if you specify the content_guid more than once like this, content_guid=6f300623-1e0c-48e6-a473-ddf630c0c0c3&content_guid=&e08a86af-a262-4152-8366-f2d8ec3c54f9 you will receive results for the first GUID only; the 2nd and subsequent content_guid fields are ignored.
  • Note that there is a practical limit of around 40 to the number of GUIDs that may be specified due to the length of a html query string.
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 data_version values.

It has a default value of 1.

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 = 2018-09-15T18:00:00Z using RFC3339 format of (yyyy-mm-ddThh:mm:ss followed by either -##:##, .##Z or Z)

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 = 2018-09-15T18:00:00Z using RFC3339 format of (yyyy-mm-ddThh:mm:ss followed by either -##:##, .##Z or Z)

limit integer (int32) (query)

The number of records to return. The minimum supported value is 1 and maximum supported value is 500. Note that limit is a "best effort" request since there may not be enough usage entries to satisfy the limit.

It has a default value of 20.

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 started timestamp field.

It has a default value of true.

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.

get   /v1/server_settings/r Get R Information
Operation ID: getRInformation

This endpoint returns a list of metadata objects for each installed version of R that RStudio Connect can run.

This endpoint requires authentication and is only available to publisher and administrator roles.

The Check Connect R Version recipe in the RStudio Connect API Cookbook contains a recipe with sample code.

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

This group of endpoints is experimental and will be removed, renamed, or altered in an upcoming release.

These endpoints provide output and status about recent operations run by RStudio Connect.

get   /v1/experimental/tasks/{id} Get task details
Operation ID: getTask

This endpoint is experimental and will be removed, renamed, or altered in an upcoming release.

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.

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 0 indicates that all lines should be returned.

Values less than 0 are not permitted. Values greater than the total number of lines produced by the task are not permitted.

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 0 or greater than 20 are not permitted.

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.

Operation ID: 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 when Server.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.

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, user_role=viewer|publisher means users who are either a viewer or a publisher will be included in the result.

Note that for user_role, logical AND is also supported but always returns no results. For example, user_role=viewer&user_role=publisher tries to return users who are both viewers and publishers.

It may have a value of administrator, publisher or viewer.

account_status string (query)

Filter by account status. "|" represents logical OR. For example, account_status=locked|licensed means users who are either locked or licensed. - locked - Users with a locked account. - licensed - Users regarded as licensed (unlocked and recently active). - inactive - Users not locked and not recently active.

Note that for account_status, logical AND is also supported but always returns no results. For example, account_status=locked&account_status=licensed tries to return users who are both locked and licensed.

It may have a value of locked, licensed or inactive.

page_number integer (int32) (query)

The page to return relative to the given page_size. If page_number is 0 or negative, an error will be returned.

It has a default value of 1.

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 page_size is less than 1 or greater than 500, an error will be returned.

It has a default value of 20.

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 true.

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.

Operation ID: 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 a guid. Note the temp_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.
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 GET /users/remote endpoint.

Here is an example of what it may look like:

{
   "temp_ticket": ""
}
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.

post   /v1/users Create a user from caller-supplied details (SAML, password, PAM, proxied)
Operation ID: 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 setting Authorization.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.
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 user_must_set_password is true.

user_must_set_password boolean

Applies only to password authentication.

  • When true, the created user will be asked to set their password on first login. The password request parameter cannot be set when this parameter is true.
  • When false, you must specify the password.
user_role nullable string

The user's role. If null it will default to the role specified by the config setting Authorization.DefaultUserRole.

It may have a value of administrator, publisher or viewer.

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"
}
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.

Operation ID: 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 when Server.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.
Parameters
prefix string (query) (required)

Search users by prefix (username, first name, or last name). prefix is case insensitive.

limit integer (int32) (query)

The maximum number of users to include in the results. If limit is less than 1 or greater than 500, an error will be returned.

It has a default value of 20.

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.

get   /v1/users/{guid} Get user details
Operation ID: getUser

Get detailed information on a specific user.

The email field is not populated for non-admins when Server.HideEmailAddresses is enabled.
Parameters
guid string (uuid) (path) (required)

The user's GUID, or unique identifier

Example value = 6f300623-1e0c-48e6-a473-ddf630c0c0c3 using UUID RFC4122 format.

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.

put   /v1/users/{guid} Update a user
Operation ID: 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.

If the authentication provider allows it:

  • 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.
Parameters
guid string (uuid) (path) (required)

The user's GUID, or unique identifier

Example value = 6f300623-1e0c-48e6-a473-ddf630c0c0c3 using UUID RFC4122 format.

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 administrator, publisher or viewer.

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"
}
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.

post   /v1/users/{guid}/lock Lock a user
Operation ID: 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.
Parameters
guid string (uuid) (path) (required)

The user's GUID, or unique identifier

Example value = 6f300623-1e0c-48e6-a473-ddf630c0c0c3 using UUID RFC4122 format.

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
}
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.

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

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

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

cursors object (required)

Cursors that can be used for navigation

next nullable string (required)

A cursor ID that can be used with the next query param to get the next page of results.

previous nullable string (required)

A cursor ID that can be used with the previous query param to get the previous page of results.

first nullable string (required)

A full URL of the first page of results.

It will be null if the current response represents the first page of results.

last nullable string (required)

A full URL of the last page of results.

It will be null if the current response represents the last page of results.

next nullable string (required)

A full URL of the next page of results when the current request was made.

It will be null if the current response represents the last page of results.

previous nullable string (required)

A full URL of the previous page of results when the curent request was made.

It will be null if the current response represents the first page of results.

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

This type is experimental and will be removed, renamed, or altered in an upcoming release.

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.

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 null represents that a Python interpreter is not used by this bundle or that the Python package environment has not been successfully restored.

Python version is not disclosed to users with a "viewer" role and returned with the value null.

r_version read-only nullable string

The version of the R interpreter used when last restoring this bundle. The value null represents that an R interpreter is not used by this bundle or that the R package environment has not been successfully restored.

R version is not disclosed to users with a "viewer" role and returned with the value null.

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

This type is experimental and will be removed, renamed, or altered in an upcoming release.
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

This type is experimental and will be removed, renamed, or altered in an upcoming release.

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. 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.

access_type string

Access type describes how this content manages its viewers. The value all is the most permissive; any visitor to RStudio Connect will be able to view this content. The value logged_in indicates that all RStudio Connect accounts may view the content. The acl value lets specifically enumerated users and groups view the content. Users configured as collaborators may always view content.

It may have a value of all, logged_in or acl.

app_mode read-only string

The runtime model for this content. Has a value of unknown before data is deployed to this item. Automatically assigned upon the first successful bundle deployment.

See the Content description for additional details.

It may have a value of rmd-static, shiny, rmd-shiny, static, api, jupyter-static, tensorflow-saved-model or unknown.

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 0 means connections will never time-out (not recommended). When null, the default Scheduler.ConnectionTimeout is used. Applies only to content types that are executed on demand.

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 app_mode of rmd-static.

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 null, the default Scheduler.IdleTimeout is used. Applies only to content types that are executed on demand.

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 null, the default Scheduler.InitTimeout is used. Applies only to content types that are executed on demand.

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 null, the default Scheduler.LoadFactor is used. Applies only to content types that are executed on demand.

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 null, the default Scheduler.MaxConnsPerProcess is used. Applies only to content types that are executed on demand.

max_processes nullable integer

Specifies the total number of concurrent processes allowed for a single interactive application. When null, the default Scheduler.MaxProcesses is used. Applies only to content types that are executed on demand.

min_processes nullable integer

Specifies the minimum number of concurrent processes allowed for a single interactive application. When null, the default Scheduler.MinProcesses is used. Applies only to content types that are executed on demand.

name string (required)

A simple, URL-friendly identifier. Allows alpha-numeric characters, hyphens ("-"), and underscores ("_").

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 null represents that a Python interpreter is not used by this content or that the Python package environment has not been successfully restored. Automatically assigned upon the successful deployment of a bundle.

r_version read-only nullable string

The version of the R interpreter associated with this content. The value null represents that an R interpreter is not used by this content or that the R package environment has not been successfully restored. Automatically assigned upon the successful deployment of a bundle.

read_timeout nullable integer

Maximum number of seconds allowed without data received from a client connection. A value of 0 means a lack of client (browser) interaction never causes the connection to close. When null, the default Scheduler.ReadTimeout is used. Applies only to content types that are executed on demand.

role read-only string

The relationship of the accessing user to this content. A value of owner is returned for the content owner. editor indicates a collaborator. The viewer value is given to users who are permitted to view the content. A none role is returned for administrators who cannot view the content but are permitted to view its configuration. Computed at the time of the request.

It may have a value of owner, editor, viewer or none.

run_as read-only nullable string

The UNIX user that executes this content. When null, the default Applications.RunAs is used. Applies only to executable content types - not static.

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 static.

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

This type is experimental and will be removed, renamed, or altered in an upcoming release.

Optionally identifies the target deployment bundle.

bundle_id nullable string

Example

{
   "bundle_id": "101"
}

ContentDeploymentTask

This type is experimental and will be removed, renamed, or altered in an upcoming release.

Identifies the task that can be used to track the progress of a deployment operation.

task_id read-only string

Identifier for the created deployment task.

Example

{
   "task_id": "M49MsuXt6XVzlRdL"
}

ContentUploadBundle

This type is experimental and will be removed, renamed, or altered in an upcoming release.

Describes the bundle created by a just-completed upload.

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

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 data_version values.

rendering_id integer

The ID of the rendering the user visited. This will be null for static content.

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 null for static content.

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

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

cursors object (required)

Cursors that can be used for navigation

next nullable string (required)

A cursor ID that can be used with the next query param to get the next page of results.

previous nullable string (required)

A cursor ID that can be used with the previous query param to get the previous page of results.

first nullable string (required)

A full URL of the first page of results.

It will be null if the current response represents the first page of results.

last nullable string (required)

A full URL of the last page of results.

It will be null if the current response represents the last page of results.

next nullable string (required)

A full URL of the next page of results when the original request was made.

It will be null if the current response represents the last page of results.

previous nullable string (required)

A full URL of the previous page of results when the original request was made.

It will be null if the current response represents the first page of results.

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

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 administrator, publisher or viewer.

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

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 null.

Example

{
   "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", 
   "name": "accounting", 
   "owner_guid": "string"
}

GroupMembers

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

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

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 null.

name string (required)

The group name

temp_ticket string (required)

This value is for actions that require a temp_ticket, such as adding an LDAP group to the Connect server.

Example

{
   "temp_ticket": "string", 
   "guid": "6f300623-1e0c-48e6-a473-ddf630c0c0c3", 
   "name": "accounting"
}

Groups

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.

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.

installations array of RInstallation

The array of information about RStudio Connect's R installations.

Example

{
   "installations": [
      {
         "version": "3.4.4"
      }
   ]
}

RemoteSearchResults

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

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 data_version values.

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

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

cursors object (required)

Cursors that can be used for navigation

next nullable string (required)

A cursor ID that can be used with the next query param to get the next page of results.

previous nullable string (required)

A cursor ID that can be used with the previous query param to get the previous page of results.

first nullable string (required)

A full URL of the first page of results.

It will be null if the current response represents the first page of results.

last nullable string (required)

A full URL of the last page of results.

It will be null if the current response represents the last page of results.

next nullable string (required)

A full URL of the next page of results when the original request was made.

It will be null if the current response represents the last page of results.

previous nullable string (required)

A full URL of the previous page of results when the original request was made.

It will be null if the current response represents the first page of results.

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

This type is experimental and will be removed, renamed, or altered in an upcoming release.

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.

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 first in the next request to only fetch output lines beyond what you have already received.

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 first input parameter. The offset of the last output line is indicated by the last response field.

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

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 false, the created user must confirm their account through an email. This feature is unique to password authentication.

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 administrator, publisher or viewer.

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

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 true for all authentication providers except password.

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 null.

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 temp_ticket, such as adding an LDAP or OAuth2 user to the Connect server.

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 administrator, publisher or viewer.

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

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 CodeMessageHTTP statusHTTP message
1An internal failure occurred.500Internal Server Error
2The requested method or endpoint is not supported.404Not Found
3The requested object ID is invalid.400Bad Request
4The requested object does not exist.404Not Found
5Application name must be between 3 and 64 alphanumeric characters, dashes, and underscores.400Bad Request
6The password is not strong enough. Try using a few words, avoiding common phrases. Don't base it on the names associated with this user or other common English names. Easy-to-guess passwords such as "password", dates or sequential numbers, letters or keystrokes on a keyboard are also considered weak. Character variety (uppercase, lowercase, digit, symbol, etc.) and "l33t speak" doesn't necessarily make a password harder to guess.400Bad Request
7The requested username is not permitted.400Bad Request
8The requested username is already in use.409Conflict
9The requested user could not be found.404Not Found
10The requested object doesn't belong to you.403Forbidden
11The requested filter could not be applied.400Bad Request
12A required parameter is missing.400Bad Request
13The requested range is invalid.400Bad Request
14Group name must be between 3 and 64 alphanumeric characters.400Bad Request
15The requested group name is already in use.409Conflict
16The user or group is already a member of the group.409Conflict
17The requested item could not be removed because it does not exist.404Not Found
18The requested item could not be changed because it does not exist.404Not Found
19You don't have permission to access this item.403Forbidden
20You don't have permission to remove this item.403Forbidden
21You don't have permission to change this item.403Forbidden
22You don't have permission to perform this operation.403Forbidden
23You don't have permission to give the user this role.403Forbidden
24The requested operation requires authentication.401Unauthorized
25The parameter is invalid.400Bad Request
26An object with that name already exists.409Conflict
27This version of R is in use and cannot be deleted.409Conflict
28No application bundle to deploy.404Not Found
29The token is expired. Authentication tokens must be claimed within one hour.401Unauthorized
30We couldn't log you in with the provided credentials. Please ask your RStudio Connect administrator for assistance.401Unauthorized
31Password change prohibited.403Forbidden
32The requested filter is not valid.400Bad Request
33This user cannot be added as a collaborator because they don't have permission to publish content.403Forbidden
34The application's owner cannot be added as a collaborator or viewer.400Bad Request
35Cannot delete object as it is being used elsewhere.409Conflict
36This user's username has already been set and cannot be changed.400Bad Request
37Schedules must have a start time and it must be after 1/1/2010.400Bad Request
38The application's manifest is invalid or missing.400Bad Request
39The application does not support this action.400Bad Request
40The current user has not been confirmed.400Bad Request
41The initial user must specify a password; it cannot be generated.400Bad Request
42The user has already been confirmed.400Bad Request
43This system has not been configured to send email. Please contact your RStudio Connect administrator.400Bad Request
44The current user does not have an email address.400Bad Request
45Invalid MinProcesses setting. The MinProcesses setting may not exceed the Scheduler.MinProcessesLimit setting.400Bad Request
46Internal user fields cannot be changed via API.400Bad Request
47Creation of new users is disabled.403Forbidden
48You cannot change the type of application once deployed. Try deploying this as a new application instead of updating an existing one.403Forbidden
49You don't have permission to lock/unlock this user.403Forbidden
50This user is locked.403Forbidden
51Vanity path conflicts with one or more already in use.409Conflict
52Vanity path is not permitted.400Bad Request
53Immutable field cannot be changed.400Bad Request
54You cannot set this content to run as the current user400Bad Request
55Custom RunAs settings are prohibited for static content.400Bad Request
56The RunAs setting references a prohibited Unix account.400Bad Request
57The RunAs setting does not reference a valid Unix account.400Bad Request
58The RunAs setting references a Unix account that does not have the correct group membership.400Bad Request
59There is no rendering available.400Bad Request
60This email address is not allowed to login to this server.400Bad Request
61You cannot change the role of the only remaining administrator.400Bad Request
62An API key name must not be blank.400Bad Request
63There was a problem communicating with the LDAP authentication server. Please contact your RStudio Connect administrator.400Bad Request
64The number of users permitted by this license has been exceeded. Please contact your administrator.400Bad Request
65API applications are not permitted by your license.403Forbidden
66You cannot assign ownership to another user.400Bad Request
67You must provide the source_key for an existing variant400Bad Request
68You cannot promote a variant without a valid rendering400Bad Request
69The bundle ID of the source and target variants must match400Bad Request
70Target rendering is more recent than source rendering400Bad Request
71Only parameterized documents support promoting output400Bad Request
72Not allowed to create schedule with different application association than its variant400Bad Request
73You may not schedule ad-hoc variants400Bad Request
74The requested report name is not permitted400Bad Request
75You may not delete the active bundle for an application400Bad Request
76A user using the same Unique ID already exists400Bad Request
77A tag name cannot be more than 255 characters400Bad Request
78A tag must have a name400Bad Request
79Cannot assign a category to an app400Bad Request
80The target object does not match the provided version.409Conflict
81Duplicate names are not permitted; a sibling tag or category already has this name400Bad Request
82The bundle for deployment must belong to the target application.400Bad Request
83Search results too large to return400Bad Request
84The token has already been claimed. Tokens can only be claimed once.403Forbidden
85A token using the same token key already exists400Bad Request
86A new token MUST contain a public_key and token in the json body.400Bad Request
87The request body cannot be parsed400Bad Request
88Cannot apply the requested change because it would make the target object an ancestor of itself.400Bad Request
89Unable to send email. Please contact your RStudio Connect administrator.400Bad Request
90User self-registration is disabled400Bad Request
91The external authentication provider did not provide a valid username.400Bad Request
92XSRF token mismatch403Forbidden
93Private variants cannot be configured to email users other than the owner403Forbidden
94You can only request a permissions upgrade once per 24-hour period.400Bad Request
95This API does not allow the current authentication type.403Forbidden
96Incorrect current password.403Forbidden
97Changing host or scheme in redirect is forbidden.403Forbidden
98We couldn't log you in with the provided credentials. Please ask your RStudio Connect administrator for assistance.401Unauthorized
99Please re-supply your credentials.401Unauthorized
100Unable to remove item. It is being processed.400Bad Request
101The provided password change token is invalid.403Forbidden
102A schedule for this variant already exists.409Conflict
103This system has not been configured to send email. Please contact your RStudio Connect administrator.400Bad Request
104The content checksum header and body MD5 sum are not equal.400Bad Request
105TensorFlow Model APIs are not permitted by your license.403Forbidden
106Unable to update environment variables because they were changed while you were editing them.409Conflict
107That username is not allowed because it is prohibited by policy.400Bad Request
108Environment changes contain a prohibited variable409Conflict
109This type of content is not allowed because it is prohibited by policy.403Forbidden
110You cannot change the categorization of content once deployed. Try deploying this as a new application instead of updating an existing one.403Forbidden
111You cannot change if an app is parameterized once deployed. Try deploying this as a new application instead of updating an existing one.403Forbidden
112The provided user role is not recognized.400Bad Request
113Invalid MaxProcesses setting. The MaxProcesses setting may not exceed the Scheduler.MaxProcessesLimit setting.400Bad Request
114Invalid MinProcesses setting. The MinProcesses setting may not exceed the MaxProcesses setting.400Bad Request
115The provided status is not recognized.400Bad Request
116The requested rendering does not match the variant.400Bad Request
117Unknown access type.400Bad Request
118This access type is not allowed because it is prohibited by policy.403Forbidden
119The authentication provider does not support creating records from a retrieved ticket. POST new content instead.400Bad Request
120The authentication provider does not support creating records from POST content. PUT a retrieved ticket instead.400Bad Request
121The request JSON is invalid.400Bad Request
122Application title must be between 3 and 1024 characters.400Bad Request
123Application description must be 4096 characters or less.400Bad Request
124No administrator has a configured email address.400Bad Request
125Content-Length cannot be 0.400Bad Request
126Request Content-Length did not match the number of bytes received.400Bad Request
127The temp_ticket is invalid.400Bad Request
128The email address cannot be blank.400Bad Request
129The user unique ID cannot be blank.400Bad Request
130The group unique ID cannot be blank.400Bad Request
131A group using the same unique ID already exists.400Bad Request
132The configured provider cannot access this endpoint.400Bad Request
133The source variant belongs to a different app.400Bad Request
134Unable to write bundle to disk.400Bad Request
135Unable to extract the bundle.400Bad Request
136Time values must be in RFC3339 format.400Bad Request
137The start of the time interval cannot be in the past, or more than 5 years in the future.400Bad Request
138The end of the time interval cannot be earlier than the start time.400Bad Request
139The length of the time interval cannot be more than 1 year.400Bad Request
140The time interval must have both start and end times.400Bad Request
141Task 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.html404Not Found
142The app is already managed by git.409Conflict
143The app is not managed by git.409Conflict
144Uploading a content bundle is not allowed for this application since it is managed by git.409Conflict
145Cannot deploy this content because git is not enabled.400Bad Request