Posit Bundles API

The Bundles API from Posit — 5 operation(s) for bundles.

Operations 7

GET /v1/content/{guid}/bundles List bundles #
POST /v1/content/{guid}/bundles Create a bundle by uploading an archive #
DELETE /v1/content/{guid}/bundles/{id} Delete bundle #
GET /v1/content/{guid}/bundles/{id} Get bundle details #
GET /v1/content/{guid}/bundles/{id}/download Download the bundle archive #
GET /v1/content/{guid}/bundles/{id}/files List files in a bundle #
GET /v1/content/{guid}/bundles/{id}/files/*path Get the contents of a file in a bundle #

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-bundles-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-bundles-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 Bundles API
  version: 1.0.1
servers:
- url: /__api__
security:
- apiKey: []
tags:
- name: Bundles
paths:
  /v1/content/{guid}/bundles:
    get:
      description: 'List bundles associated with a specific content item.


        Bundle enumeration is permitted by all users with viewership rights to

        the content item and administrators. Information about the target

        environment is populated for users with "publisher" and "administrator" role.


        Results are sorted by ID in descending order (newest first).


        This endpoint supports `page_number` and `page_size` query

        parameters to limit the number of results returned.'
      operationId: getBundles
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - description: The page number to return.
        in: query
        name: page_number
        schema:
          default: 1
          format: int32
          type: integer
      - description: The number of items per page.
        in: query
        name: page_size
        schema:
          default: 20
          format: int32
          type: integer
      - description: Whether results are in ascending order.
        in: query
        name: asc_order
        schema:
          default: true
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Bundle'
                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 bundles
      tags:
      - Bundles
    post:
      description: Create a new deployment bundle by uploading an archive.
      operationId: uploadContentBundle
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - description: URL of a gzip compressed tar archive.
        in: query
        name: url
        schema:
          type: string
      - description: The Base64-encoded MD5 sum of the archive file.
        in: header
        name: X-Content-Checksum
        schema:
          type: string
      requestBody:
        content:
          application/gzip:
            schema:
              format: binary
              type: string
          application/x-gzip:
            schema:
              format: binary
              type: string
          multipart/form-data:
            schema:
              additionalProperties: false
              properties:
                archive:
                  description: A gzip compressed tar archive file.
                  format: binary
                  type: string
                metadata:
                  description: Optional JSON object containing metadata about this bundle.
                  type: string
                url:
                  description: URL of a gzip compressed tar archive. Either archive or url must be provided.
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bundle'
          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.
        '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 a bundle by uploading an archive
      tags:
      - Bundles
  /v1/content/{guid}/bundles/{id}:
    delete:
      description: 'Delete a specific bundle.


        Bundle deletion is permitted by authorized clients with collaborator

        rights and administrators.


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

        call. Deletion is not allowed while the bundle is still active.'
      operationId: deleteBundle
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: id
        required: true
        schema:
          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.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: A server error occurred.
      summary: Delete bundle
      tags:
      - Bundles
    get:
      description: 'Get detailed information about a specific bundle.


        Bundle reads are permitted by all users with viewership rights to the

        content item and administrators. Information about the target environment

        is populated for users with "publisher" and "administrator" role.'
      operationId: getBundle
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bundle'
          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 bundle details
      tags:
      - Bundles
  /v1/content/{guid}/bundles/{id}/download:
    get:
      description: '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 /v1/content/{guid}/bundles endpoint for details about

        the construction of bundle archives.'
      operationId: downloadBundle
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          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: Download the bundle archive
      tags:
      - Bundles
  /v1/content/{guid}/bundles/{id}/files:
    get:
      description: 'Returns a JSON object containing every file inside the

        bundle''s gzipped tar archive. Symlinks, directories, and

        other special tar entries are not listed. Listing bundle

        files is permitted by authorized clients with

        collaborator rights and administrators.'
      operationId: listBundleFiles
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response.
        '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 files in a bundle
      tags:
      - Bundles
  /v1/content/{guid}/bundles/{id}/files/*path:
    get:
      description: 'Returns the UTF-8 contents of one file inside a deployed

        bundle''s gzipped tar archive. Binary files and files

        larger than the inline-preview cap are reported with

        flags and a null content body. Reading bundle file

        content is permitted by authorized clients with

        collaborator rights and administrators.'
      operationId: getBundleFileContent
      parameters:
      - in: path
        name: guid
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response.
        '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 the contents of a file in a bundle
      tags:
      - Bundles
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
    BundleMetadata:
      additionalProperties: false
      description: Metadata about a bundle including source control information and custom fields.
      properties:
        source:
          description: 'Source for this bundle.

            `git` for bundles fetched from a git repository.'
          type:
          - string
          - 'null'
        source_repo:
          description: Repository URL for this bundle.
          type:
          - string
          - 'null'
        source_branch:
          description: Repository branch or ref name for this bundle.
          type:
          - string
          - 'null'
        source_commit:
          description: Commit ID (hash) for this bundle.
          type:
          - string
          - 'null'
        archive_md5:
          description: 'MD5 hash of the archive file for this bundle. `null` for bundles

            uploaded before this field was added.'
          example: 37324238a80595c453c706b22adb83d3
          type:
          - string
          - 'null'
        archive_sha1:
          description: 'SHA1 hash of the archive file for this bundle. `null` for bundles

            uploaded before this field was added.'
          example: a2f7d13d87657df599aeeabdb70194d508cfa92f
          type:
          - string
          - 'null'
      type: object
    Bundle:
      additionalProperties: false
      description: A deployment bundle associated with a content item.
      properties:
        id:
          description: The identifier for this bundle.
          example: '101'
          type: string
        content_guid:
          description: The identifier of the owning content.
          example: 25438b83-ea6d-4839-ae8e-53c52ac5f9ce
          format: uuid
          type: string
        created_by:
          description: The GUID of the user who created the bundle.
          format: uuid
          type:
          - string
          - 'null'
        created_time:
          description: The timestamp (RFC3339) of when this bundle was created.
          example: '2006-01-02T15:04:05-07:00'
          format: date-time
          type: string
        environment_guid:
          description: 'The guid of the execution environment used to run this content. Content

            running locally

            on the same server as Connect will have a `null` value.


            A `null` value is returned when the client does not have sufficient rights

            to see this

            information.'
          example: 36538b83-ea6d-4839-ae8e-53c52ac5f0bf
          format: uuid
          type:
          - string
          - 'null'
        cluster_name:
          description: 'The location where this content runs. Content running on the same

            server as Connect will have either a `null` value or the string

            "Local". Gives the name of the cluster when run external to the

            Connect host.


            A `null` value is returned when the client does not have sufficient

            rights to see this information.'
          example: Local
          type:
          - string
          - 'null'
        image_name:
          description: 'The name of the container image used to run this content in containerized

            environments such as Kubernetes. Content running locally

            on the same server as Connect will have either a `null` value or the string

            "Local".


            A `null` value is returned when the client does not have sufficient

            rights to see this information.'
          example: rstudio/content-base:r4.1.3-py3.10.11-jammy
          type:
          - string
          - 'null'
        r_version:
          description: 'The version of R used when last restoring this bundle. A `null`

            value represents that R is not used by this bundle or that the

            bundle has not been prepared for execution.


            R version is not disclosed to users with a "viewer" role; they

            receive a `null` value.'
          example: 3.5.1
          type:
          - string
          - 'null'
        r_environment_management:
          description: 'Indicates whether or not Connect is managing an R environment and

            has installed the required packages for this content. The `null`

            value represents that R is not used by this bundle or that it has

            not yet been determined if an R environment is required.


            R environment management is not disclosed to users with a "viewer"

            role; they receive a `null` value.'
          example: true
          type:
          - boolean
          - 'null'
        py_version:
          description: 'The version of Python used when last restoring this bundle. A `null`

            value represents that Python is not used by this bundle or that the

            bundle has not been prepared for execution.


            Python version is not disclosed to users with a "viewer" role; they

            receive a `null` value.'
          example: 3.8.2
          type:
          - string
          - 'null'
        py_environment_management:
          description: 'Indicates whether or not Connect is managing a Python environment

            and has installed the required packages for this content. The `null`

            value represents that Python is not used by this bundle or that it

            has not yet been determined if a Python environment is required.


            Python environment management is not disclosed to users with a

            "viewer" role; they receive a `null` value.'
          example: true
          type:
          - boolean
          - 'null'
        quarto_version:
          description: 'The version of Quarto used when last restoring this bundle. A `null`

            value represents that Quarto is not used by this bundle or that the

            bundle has not been successfully prepared for execution.


            Quarto version is not disclosed to users with a "viewer" role; they

            receive a `null` value.'
          example: 0.2.22
          type:
          - string
          - 'null'
        active:
          description: Indicates if this bundle is active for the owning content.
          example: false
          type: boolean
        size:
          description: 'On-disk size in bytes of the tar.gz file associated with this bundle.

            Zero when there is no on-disk file.'
          example: 1000000
          format: int64
          type: integer
        metadata:
          allOf:
          - $ref: '#/components/schemas/BundleMetadata'
          description: 'Metadata object associated with this bundle.

            May be generated by Connect, if using git-backed publishing,

            or supplied by the publisher at upload time.'
      type: object
  securitySchemes:
    apiKey:
      description: 'Prefix your API key with `Key `, e.g. `Key ABC123`.

        '
      in: header
      name: Authorization
      type: apiKey