Posit Environments API
The Environments API from Posit — 2 operation(s) for environments.
The Environments API from Posit — 2 operation(s) for environments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/posit-environments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
email: support@posit.co
name: Posit Connect Support
url: https://support.posit.co/hc/en-us
description: '## Overview
The Posit Connect Server API can be used to perform certain
user actions remotely.'
license:
name: Commercial. Copyright 2015-2026 Posit Software, PBC. All Rights Reserved.
url: https://posit.co/about/eula/
termsOfService: https://posit.co/about/eula/
title: Posit Connect API Reference Environments API
version: 1.0.1
servers:
- url: /__api__
security:
- apiKey: []
tags:
- name: Environments
paths:
/v1/environments:
get:
description: 'List all execution environments available to Posit Connect.
You must have administrator or publisher privileges to perform this action.'
operationId: listEnvironments
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Environment'
type: array
description: Successful response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation requires authentication.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: You do not have permission to perform this operation.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested object does not exist.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: A server error occurred.
summary: List execution environments
tags:
- Environments
post:
description: 'Create a new execution environment.
You must have administrator privileges to perform this action.'
operationId: createEnvironment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEnvironmentInput'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Environment'
description: Successful response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation requires authentication.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: You do not have permission to perform this operation.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested object does not exist.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: A server error occurred.
summary: Create execution environment
tags:
- Environments
/v1/environments/{guid}:
delete:
description: 'Delete a specific execution environment.
You must have administrator privileges to perform this action.
Environments managed by a configuration file cannot be deleted via the API.'
operationId: deleteEnvironment
parameters:
- in: path
name: guid
required: true
schema:
format: uuid
type: string
responses:
'204':
description: Successful response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation requires authentication.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: You do not have permission to perform this operation.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested object does not exist.
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The request could not be completed due to a conflict.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: A server error occurred.
summary: Delete an execution environment
tags:
- Environments
get:
description: 'Get detailed information about a specific execution environment.
You must have administrator or publisher privileges to perform this action.'
operationId: getEnvironment
parameters:
- in: path
name: guid
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Environment'
description: Successful response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation requires authentication.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: You do not have permission to perform this operation.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested object does not exist.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: A server error occurred.
summary: Get execution environment details
tags:
- Environments
put:
description: 'Update a specific execution environment.
You must have administrator privileges to perform this action.
Environments managed by a configuration file cannot be updated via the API.'
operationId: updateEnvironment
parameters:
- in: path
name: guid
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEnvironmentInput'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Environment'
description: Successful response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested operation requires authentication.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: You do not have permission to perform this operation.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The requested object does not exist.
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: The request could not be completed due to a conflict.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
description: A server error occurred.
summary: Update an execution environment
tags:
- Environments
components:
schemas:
APIError:
additionalProperties: false
description: The error object returned by the API on failure.
properties:
code:
description: The specific code for the type of error returned. See the [API error codes reference](#api-error-codes) for the full set of values.
type: integer
error:
description: A description of the problem that was encountered.
type: string
payload:
description: Additional error details, if any. The structure varies by error type.
type:
- object
- 'null'
required:
- code
- error
type: object
Installations:
additionalProperties: false
description: A list of language installations available to an environment.
properties:
installations:
description: The list of language installations.
items:
$ref: '#/components/schemas/Installation'
type: array
type: object
VolumeMount:
additionalProperties: false
description: A volume mount configuration for an environment.
properties:
source:
allOf:
- $ref: '#/components/schemas/VolumeSource'
description: The source specification for this mount.
target:
allOf:
- $ref: '#/components/schemas/VolumeTarget'
description: The target specification for this mount.
type: object
VolumeTarget:
additionalProperties: false
description: The target specification for a volume mount.
properties:
path:
description: The mount path inside the container.
example: /mnt/data
type: string
read_only:
description: Whether the volume is mounted read-only.
example: false
type:
- boolean
- 'null'
type: object
UpdateEnvironmentInput:
additionalProperties: false
description: The fields that can be specified when updating an environment.
properties:
title:
description: A human readable title for this environment.
example: Project Alpha (R 4.1.1, Python 3.10)
type:
- string
- 'null'
description:
description: A human readable description of this environment.
example: This is my description of the environment
type:
- string
- 'null'
matching:
description: 'This field indicates how environments can be considered for selection
when Posit Connect is choosing a compatible environment to use when
executing content.
`any` (the default) indicates that the image can be selected by Connect
automatically,
_or_ targeted in the bundle''s manifest.
`exact` indicates the image must be explicitly asked for in the bundle''s
manifest.
`none` indicates that the image should never be selected by Posit Connect.'
example: any
type:
- string
- 'null'
supervisor:
description: 'The path to the script or command that should be used as the
[program
supervisor](https://docs.posit.co/helm/rstudio-connect/kubernetes-howto/appendices/content_images.html#per-image-supervisors)
when executing content with this environment.'
example: /usr/local/bin/supervisor.sh
type:
- string
- 'null'
python:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Python installations in this environment.
nodejs:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Node.js installations in this environment.
quarto:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Quarto installations in this environment.
r:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available R installations in this environment.
tensorflow:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available TensorFlow installations in this environment.
volume_mounts:
description: The volume mounts for this environment.
items:
$ref: '#/components/schemas/VolumeMount'
type: array
type: object
Environment:
additionalProperties: false
description: An execution environment available to Posit Connect when Off Host Execution is enabled.
properties:
id:
description: The internal numeric identifier of this environment.
example: '314'
type: string
guid:
description: The unique identifier of this environment to be used with REST API requests.
example: 25438b83-ea6d-4839-ae8e-53c52ac5f9ce
format: uuid
type: string
created_time:
description: The timestamp (RFC3339) indicating when this environment was created.
example: '2006-01-02T15:04:05-07:00'
format: date-time
type: string
updated_time:
description: The timestamp (RFC3339) indicating when this environment was last updated.
example: '2006-01-02T15:04:05-07:00'
format: date-time
type: string
title:
description: A human readable title for this environment.
example: Project Alpha (R 4.1.1, Python 3.10)
type:
- string
- 'null'
description:
description: A human readable description of this environment.
example: This is my description of the environment
type:
- string
- 'null'
cluster_name:
description: 'The cluster identifier for this environment.
The value is always "Kubernetes" when Off Host Execution is enabled.'
example: Kubernetes
type: string
name:
description: 'The container image that will be used when executing content with this
environment.'
example: ghcr.io/rstudio/content-base:r4.1.3-py3.10.4-ubuntu1804
type: string
environment_type:
description: 'The type of environment.
The value is always "Kubernetes" when Off Host Execution is enabled.'
example: Kubernetes
type: string
matching:
description: 'This field indicates how environments can be considered for selection
when Posit Connect is choosing a compatible environment to use when
executing content.
`any` (the default) indicates that the image can be selected by Connect
automatically,
_or_ targeted in the bundle''s manifest.
`exact` indicates the image must be explicitly asked for in the bundle''s
manifest.
`none` indicates that the image should never be selected by Posit Connect.'
example: any
type: string
supervisor:
description: 'The path to the script or command that should be used as the
[program
supervisor](https://docs.posit.co/helm/rstudio-connect/kubernetes-howto/appendices/content_images.html#per-image-supervisors)
when executing content with this environment.'
example: /usr/local/bin/supervisor.sh
type:
- string
- 'null'
managed_by:
description: 'Indicates which system manages this environment. A `null` value indicates
the environment is not externally managed.'
type:
- string
- 'null'
python:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Python installations in this environment.
nodejs:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Node.js installations in this environment.
quarto:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Quarto installations in this environment.
r:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available R installations in this environment.
tensorflow:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available TensorFlow installations in this environment.
volume_mounts:
description: The volume mounts for this environment.
items:
$ref: '#/components/schemas/VolumeMount'
type: array
type: object
Installation:
additionalProperties: false
description: An instance of an interpreter within an execution environment.
properties:
version:
description: The semantic version of the interpreter.
example: 3.6.3
type: string
path:
description: The absolute path to the interpreter's executable.
example: /opt/R/3.6.3/bin/R
type: string
type: object
VolumeSource:
additionalProperties: false
description: The source specification for a volume mount.
properties:
volume_type:
description: The type of volume.
example: nfs
type: string
nfs_host:
description: The NFS host. Required when `volume_type` is `nfs`.
type:
- string
- 'null'
nfs_export_path:
description: The NFS export path. Required when `volume_type` is `nfs`.
type:
- string
- 'null'
pvc_name:
description: The PersistentVolumeClaim name. Required when `volume_type` is `pvc`.
type:
- string
- 'null'
type: object
CreateEnvironmentInput:
additionalProperties: false
description: The fields that can be specified when creating an environment.
properties:
title:
description: A human readable title for this environment.
example: Project Alpha (R 4.1.1, Python 3.10)
type:
- string
- 'null'
description:
description: A human readable description of this environment.
example: This is my description of the environment
type:
- string
- 'null'
cluster_name:
description: 'The cluster identifier for this environment.
The value must be "Kubernetes" when Off Host Execution is enabled.'
example: Kubernetes
type: string
name:
description: 'The container image that will be used when executing content with this
environment.'
example: ghcr.io/rstudio/content-base:r4.1.3-py3.10.4-ubuntu1804
type: string
matching:
description: 'This field indicates how environments can be considered for selection
when Posit Connect is choosing a compatible environment to use when
executing content.
`any` (the default) indicates that the image can be selected by Connect
automatically,
_or_ targeted in the bundle''s manifest.
`exact` indicates the image must be explicitly asked for in the bundle''s
manifest.
`none` indicates that the image should never be selected by Posit Connect.'
example: any
type:
- string
- 'null'
supervisor:
description: 'The path to the script or command that should be used as the
[program
supervisor](https://docs.posit.co/helm/rstudio-connect/kubernetes-howto/appendices/content_images.html#per-image-supervisors)
when executing content with this environment.'
example: /usr/local/bin/supervisor.sh
type:
- string
- 'null'
python:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Python installations in this environment.
nodejs:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Node.js installations in this environment.
quarto:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available Quarto installations in this environment.
r:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available R installations in this environment.
tensorflow:
allOf:
- $ref: '#/components/schemas/Installations'
description: The available TensorFlow installations in this environment.
volume_mounts:
description: The volume mounts for this environment.
items:
$ref: '#/components/schemas/VolumeMount'
type: array
type: object
securitySchemes:
apiKey:
description: 'Prefix your API key with `Key `, e.g. `Key ABC123`.
'
in: header
name: Authorization
type: apiKey