Posit Environments API

The Environments API from Posit — 2 operation(s) for environments.

Business capability
Environment Management BC-4210.20

Operations 5

GET /v1/environments List execution environments #
POST /v1/environments Create execution environment #
DELETE /v1/environments/{guid} Delete an execution environment #
GET /v1/environments/{guid} Get execution environment details #
PUT /v1/environments/{guid} Update an execution environment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/posit-environments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

posit-environments-api-openapi.yml Raw ↑
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