⇧ Back to top

RStudio Connect API Reference 1.0.0

Build 1.6.10-3

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__/v1)

The Connect Server 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: - [httr](http://httr.r-lib.org/) (R HTTP library) - [cURL](https://curl.haxx.se/) (Linux tool for making HTTP calls) - [requests](http://docs.python-requests.org/en/master/) (Python HTTP library) ## 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. See the RStudio Connect User Guide if you need help creating one. You can find a link to it on the **Documentation** tab of the Connect dashboard. ### API Keys API Keys are managed by each user in the 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. 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** ```bash curl -H "Authorization: Key XXXXXXXXXXX" \ https://rstudioconnect.example.com/__api__/v1/server_settings/r ``` **R** ```r library(httr) apiKey <- "XXXXXXXXXXX" result <- GET("https://rstudioconnect.example.com/__api__/v1/server_settings/r", add_headers(Authorization = paste("Key", apiKey)) ``` **Python** ```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__/v1 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.

Instrumentation

These endpoints allow retrieving the instrumentation data recorded by Connect when content gets accessed by users.
get   /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 recored that caused extra entries to be stored. These will affect analyses that interpret visit counts or durations. The records may be ignored by using the `from` filter appropriately.
This endpoint requires administrator or publisher access.
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". This affects record searching as follows: * When a usage record is partly or fully contained within the specified time window, it will be included. * Otherwise, the record will *not* be included. This endpoint uses keyset pagination. For examples, please see the RStudio Connect User Guide. You can find a link to it on the **Documentation** tab of the Connect dashboard.
Parameters
content_guid string (uuid) (query)
Filter by content GUID. `|` represents a logical OR. For example, `content_guid=guid-1|guid-2` means content with a GUID of `guid-1` or `guid-2`. Note that logical AND is also supported but will always return an empty result. For example, `content_guid=guid-1&content_guid=guid-2` would try to return data for an app that has a GUID equal to both `guid-1` _and_ `guid-2`. Note that there is a practical limit of around 40 to the number of GUIDs that may be specified.
from string (datetime) (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.
to string (datetime) (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.
limit integer (int32) (query)
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 logs to satisfy the limit.
It has a default value of `20`.
previous string (query)
Gets the previous page of shiny app usage logs relative to the given ID.
next string (query)
Gets the next page of shiny app usage logs relative to the given ID.
asc_order boolean (query)
Whether the shiny app usage logs should be listed in ascending order or descending. Ordering is by the `started` field.
It has a default value of `true`.

200 ShinyAppUsageLogs
The shiny app usage logs results and paging information
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
default APIError
An error occurred invoking the API.

Users

These endpoints allow you to discover what the Connect server knows about users.
get   /users Search for user details
Operation ID: getUsers

This endpoint searches for local users. 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 has a role less than what is specified by `Authorization.UsersListingMinRole`, the results contain only the given user.
#### Pagination This endpoint uses offset pagination (using page numbers). For examples, please see the RStudio Connect User Guide. You can find a link to it on the **Documentation** tab of the Connect dashboard. 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.
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.
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
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
500
A server error occurred.
default APIError
An error occurred invoking the API.
Operation ID: createPullUser

This endpoint creates the given user on the Connect server.
- This endpoint is used only for LDAP and OAuth2 authentication. All other authentication providers should use the [POST `/users` endpoint]( #create-a-user-from-caller-supplied-details-password-pam-proxy-). - Unlike the [POST `/users` endpoint](#create-a-user-from-caller-supplied-details-password-pam-proxy-), publisher 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 Connect? The first user can be created by simply logging into Connect. The 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](#search-for-user-details-from-a-remote-provider). This endpoint will return a list of potential matching accounts in LDAP or OAuth2. A user with no account on 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. For examples, please see the RStudio Connect User Guide. You can find a link to it on the **Documentation** tab of the Connect dashboard. #### 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 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 Connect server. It is obtained from the [GET `/users/remote` endpoint](#search-for-user-details-from-a-remote-provider).

Here is an example of what it may look like:

```json { "temp_ticket": "" } ```
200 User
The user object
400
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
409 APIError
The requested username is already in use. The result will have a code of `8`.
500
A server error occurred.
post   /users Create a user from caller-supplied details (password, PAM, proxy)
Operation ID: createPushUser

This endpoint creates the given user on the Connect server.
- This endpoint is used only for password, PAM, and proxy authentication. All other authentication providers should use the [PUT `/users` endpoint](#create-a-user-using-details-from-a-remote-authentication-provider-ldap-oauth2-). - 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 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 PAM or proxy authentication, the first user can be created by logging into 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. (See the RStudio Connect User Guide if you need help creating an API key. You can find a link to it on the **Documentation** tab of the Connect dashboard.) #### All Authentication Providers - When `user_role` is not specified, it will default to the role specified by the config setting `Authorization.DefaultUserRole`. #### PAM and Proxy 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
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`.
username string (required)
The user's desired username

Here is an example of what it may look like:

```json { "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
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
409 APIError
The requested username is already in use. The result will have a code of `8`.
500
A server error occurred.
Operation ID: searchRemoteUsers

This endpoint is used to support operations against users who do not have a Connect account, such as [creating LDAP and OAuth2 users](#create-a-user-for-password-pam-and-proxy-providers-). See [GET /users](#search-for-user-details) 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 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 has a role less than what is specified by `Authorization.UsersListingMinRole`, 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
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
500
A server error occurred.
default APIError
An error occurred invoking the API.
get   /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 (path) (required)
The user's GUID, or unique identifier

200 User
The requested user details.
400
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
500
A server error occurred.
put   /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.
#### Password Authentication - Changing an unconfirmed user's email will cause the confirmation email to be resent to the new email. - The config setting `Password.UserInfoEditableBy` controls whether or not non-admins can edit user properties.
Parameters
guid string (path) (required)
The user's GUID, or unique identifier
user (see below) (body) (required)
The new user values.

Body Schema

The body for this request must be specified as follows:

email string
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.
username string
The user's new username

Here is an example of what it may look like:

```json { "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
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
409 APIError
The requested username is already in use. The result will have a code of `8`.
500
A server error occurred.
post   /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 (path) (required)
The user's GUID, or unique identifier
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:

```json { "locked": false } ```
200
This response is returned only when the lock/unlock request is successful.
400
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
500
A server error occurred.

Audit Logs

These endpoints allow you to discover what the Connect server knows about the audit logs.
get   /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. For examples, please see the RStudio Connect User Guide. You can find a link to it on the **Documentation** tab of the Connect dashboard.
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
The requested operation is inavlid.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
404 APIError
The requested object does not exist. The result will have a code of `4`.
500
A server error occurred.
default APIError
An error occurred invoking the API.

R Information

These endpoints allow you to discover what the Connect server knows about its R installations.
get   /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.
For examples, please see the RStudio Connect User Guide. You can find a link to it on the **Documentation** tab of the Connect dashboard.
200 RInstallations
An object describing all the metadata information Connect has about each installation of R.
401 APIError
The requested operation requires authentication. The result will have a code of `24`.
403 APIError
You don't have permission to perform this operation. The result will have a code of `22`.
default APIError
An error occurred invoking the API.

Models

APIError

This object defines data that the Connect server in the case of an 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

```json { "code": 24, "payload": {}, "error": "The requested operation requires authentication." } ```

ShinyAppUsage

content_guid string (uuid) (required)
The GUID of the shiny app this information pertains to.
ended string (datetime) (required)
The timestamp of when the user left the shiny app.
started string (datetime) (required)
The timestamp of when the user opened the shiny app.
user_guid string (uuid) (required)
The GUID of the user that visited the shiny app.

Example

```json { "started": "string", "content_guid": "string", "user_guid": "string", "ended": "string" } ```

ShinyAppUsageLogs

paging ShinyAppUsagePager
results array of ShinyAppUsage
The shiny app usage logs

Example

```json { "paging": { "next": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?next=23948901087", "previous": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?previous=23948901087", "last": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?last=true", "cursors": { "next": "23948901087", "previous": "23948901087" }, "first": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage" }, "results": [ { "started": "string", "content_guid": "string", "user_guid": "string", "ended": "string" } ] } ```

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` when there is only a single page of results.
last nullable string (required)
A full URL of the last page of results. It will be `null` when there is only a single page of results.
next nullable string (required)
A full URL of the next page of results when the original request was made.
previous nullable string (required)
A full URL of the previous page of results when the original request was made.

Example

```json { "next": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?next=23948901087", "previous": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?previous=23948901087", "last": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage?last=true", "cursors": { "next": "23948901087", "previous": "23948901087" }, "first": "http://localhost:3443/__api__/v1/instrumentation/shiny/usage" } ```

EditableUser

email string (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 Connect server
user_role string (required)
The user's role
username string (required)
The user's username

Example

```json { "username": "jondoe", "first_name": "Jon", "last_name": "Doe", "user_role": "administrator", "updated_time": "2006-01-02T15:04:05Z07:00", "email": "jon.doe@localhost.com" } ```

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

```json { "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@localhost.com" } ], "current_page": 1 } ```

User

active_time nullable string (date-time) (required)
The timestamp (in RFC3339 format) when the user was last active on the 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 Connect server
email string (required)
The user's email
first_name string (required)
The user's first name
guid string (required)
The user's GUID, or unique identifier
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 Connect server
user_role string (required)
The user's role
username string (required)
The user's username

Example

```json { "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@localhost.com" } ```

UserWithTicket

active_time nullable string (date-time) (required)
The timestamp (in RFC3339 format) when the user was last active on the 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 Connect server
email string (required)
The user's email
first_name string (required)
The user's first name
guid nullable string (required)
The user's GUID, or unique identifier. When a user does not exist in the 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 Connect server
user_role string (required)
The user's role
username string (required)
The user's username

Example

```json { "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@localhost.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

```json { "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@localhost.com" } ], "current_page": 1 } ```

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

```json { "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

```json { "paging": { "next": "http://localhost:3443/__api__/audit_logs?next=23948901087", "previous": "http://localhost:3443/__api__/audit_logs?previous=23948901087", "last": "http://localhost:3443/__api__/audit_logs?last=true", "cursors": { "next": "23948901087", "previous": "23948901087" }, "first": "http://localhost:3443/__api__/audit_logs" }, "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` when there is only a single page of results.
last nullable string (required)
A full URL of the last page of results. It will be `null` when there is only a single page of results.
next nullable string (required)
A full URL of the next page of results when the original request was made.
previous nullable string (required)
A full URL of the previous page of results when the original request was made.

Example

```json { "next": "http://localhost:3443/__api__/audit_logs?next=23948901087", "previous": "http://localhost:3443/__api__/audit_logs?previous=23948901087", "last": "http://localhost:3443/__api__/audit_logs?last=true", "cursors": { "next": "23948901087", "previous": "23948901087" }, "first": "http://localhost:3443/__api__/audit_logs" } ```

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

```json { "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 Connect's R installations.

Example

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