Replicated releases API

The releases API from Replicated — 13 operation(s) for releases.

Operations 14

POST /app/{app_id}/channel/{channel_id}/release/{sequence}/demote Demote a channel release. #
POST /app/{app_id}/channel/{channel_id}/release/{sequence}/undemote Un-demote a channel release. #
POST /app/{app_id}/release Create a new release. #
POST /app/{app_id}/release/draft Draft a release for an app. #
GET /app/{app_id}/release/{sequence} Get a release by sequence. #
PUT /app/{app_id}/release/{sequence} Update a release. #
POST /app/{app_id}/release/{sequence}/compatibility Report a compatibility result. #
GET /app/{app_id}/release/{sequence}/exposure Get exposure counts for a release. #
POST /app/{app_id}/release/{sequence}/promote Promote a release. #
POST /app/{app_id}/release/{sequence}/test Test a release. #
GET /app/{app_id}/releases List releases for an app. #
GET /app/{app_id}/releases/active List active releases for an app. #
POST /app/{app_id}/releases/archive Archive releases. #
GET /app/{app_id}/releases/search Find releases containing a container image reference. #

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/replicated-releases-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

replicated-releases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Manage enterprise portal users, install options, branding, documentation, email templates, and access control.
  title: Vendor API V3 apps Releases API
  contact:
    name: Replicated, Inc.
    url: http://www.replicated.com/
    email: info@replicated.com
  version: 3.0.0
servers:
- url: https://api.replicated.com/vendor/v3
tags:
- name: releases
paths:
  /app/{app_id}/channel/{channel_id}/release/{sequence}/demote:
    post:
      security:
      - api_key: []
      description: 'Demote a specific release from a channel, making it unavailable for new installations or upgrades via that channel.

        Demoted releases can be un-demoted if needed.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/release/[:releasesequence]/demote'
      tags:
      - releases
      summary: Demote a channel release.
      operationId: demoteChannelRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/demoteChannelRelease'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: Demote channel release parameters.
  /app/{app_id}/channel/{channel_id}/release/{sequence}/undemote:
    post:
      security:
      - api_key: []
      description: 'Restore a previously demoted release to a channel, making it available again for installations and upgrades via that channel.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/release/[:releasesequence]/undemote'
      tags:
      - releases
      summary: Un-demote a channel release.
      operationId: unDemoteChannelRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/unDemoteChannelRelease'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: UnDemote channel release parameters.
  /app/{app_id}/release:
    post:
      security:
      - api_key: []
      description: 'Create a new release for the specified app using the provided release specification.

        The release can be configured with a raw or gzipped spec and will be available for promotion to channels.


        Required RBAC Policy: kots/app/[:appid]/release/create'
      tags:
      - releases
      summary: Create a new release.
      operationId: createRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          $ref: '#/components/responses/createRelease'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                spec:
                  description: The spec to use in the new release
                  type: string
                  x-go-name: Spec
                spec_gzip:
                  description: The spec to use in the new release, but gzipped
                  type: array
                  items:
                    type: integer
                    format: uint8
                  x-go-name: SpecGzip
        description: Create release parameters.
  /app/{app_id}/release/draft:
    post:
      security:
      - api_key: []
      description: 'Create a draft release for the specified app, which can be further edited and eventually promoted.

        Supports both KOTS and Builders draft types depending on team entitlements.


        Required RBAC Policy: kots/app/[:appid]/release/create'
      tags:
      - releases
      summary: Draft a release for an app.
      operationId: draftRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/draftReleaseResponse'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                isBuildersRelease:
                  description: When true, the draft will be a Builders draft. Otherwise it will be a KOTS draft.
                  type: boolean
                  x-go-name: IsBuildersRelease
        description: Create draft release parameters.
  /app/{app_id}/release/{sequence}:
    get:
      security:
      - api_key: []
      description: 'Retrieve the details of a specific release for an app, identified by its sequence number.

        The response includes the release specification, metadata, and status information.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/read'
      tags:
      - releases
      summary: Get a release by sequence.
      operationId: getRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/getRelease'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
    put:
      security:
      - api_key: []
      description: 'Update the specification and metadata for an existing release, identified by its sequence number.

        Only non-promoted releases can be updated. Supports raw and gzipped specs.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/update'
      tags:
      - releases
      summary: Update a release.
      operationId: updateRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/updateRelease'
        '400':
          $ref: '#/components/responses/updateReleaseError'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                spec:
                  description: The spec to use in the release
                  type: string
                  x-go-name: Spec
                spec_gzip:
                  description: The spec to use in the release, in gzip format
                  type: array
                  items:
                    type: integer
                    format: uint8
                  x-go-name: SpecGzip
        description: Update release parameters.
  /app/{app_id}/release/{sequence}/compatibility:
    post:
      security:
      - api_key: []
      description: 'Report the compatibility test results for a specific release, including Kubernetes distribution, version, and success or failure details.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/update'
      tags:
      - releases
      summary: Report a compatibility result.
      operationId: reportCompatibilityResult
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '201':
          $ref: '#/components/responses/compatibilityResponse'
        '400':
          $ref: '#/components/responses/compatibilityErrorResponse'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                distribution:
                  type: string
                  x-go-name: Distribution
                failureAt:
                  type: string
                  format: date-time
                  x-go-name: FailureAt
                failureNotes:
                  type: string
                  x-go-name: FailureNotes
                successAt:
                  type: string
                  format: date-time
                  x-go-name: SuccessAt
                successNotes:
                  type: string
                  x-go-name: SuccessNotes
                version:
                  type: string
                  x-go-name: Version
        description: Report Compatibility result parameters.
  /app/{app_id}/release/{sequence}/exposure:
    get:
      security:
      - api_key: []
      description: 'Retrieve the number of active instances running a specific release and the

        number of customers with access to it via the channels where it is the

        current promoted version, with a per-channel breakdown.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/read'
      tags:
      - releases
      summary: Get exposure counts for a release.
      operationId: getReleaseExposure
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/getReleaseExposure'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
  /app/{app_id}/release/{sequence}/promote:
    post:
      security:
      - api_key: []
      description: 'Promote a specific release to one or more channels, making it available for deployment.

        Supports setting release notes, version labels, and marking releases as required.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/promote'
      tags:
      - releases
      summary: Promote a release.
      operationId: promoteRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/promoteReleaseResponse'
        '400':
          $ref: '#/components/responses/promoteReleaseErrorResponse'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channelIds:
                  type: array
                  items:
                    type: string
                  x-go-name: ChannelIDs
                ignoreWarnings:
                  type: boolean
                  x-go-name: IgnoreWarnings
                isRequired:
                  type: boolean
                  x-go-name: IsRequired
                notifyUsers:
                  description: Sends email notifications to all Enterprise Portal users on the target channel
                  type: boolean
                  x-go-name: NotifyUsers
                omitDetailsInResponse:
                  description: Omits channels, charts, and compatibilityResults details in the response body
                  type: boolean
                  x-go-name: OmitDetailsInResponse
                releaseNotes:
                  type: string
                  x-go-name: ReleaseNotes
                releaseNotesGzip:
                  type: array
                  items:
                    type: integer
                    format: uint8
                  x-go-name: ReleaseNotesGzip
                versionLabel:
                  type: string
                  x-go-name: VersionLabel
        description: Promote release parameters.
  /app/{app_id}/release/{sequence}/test:
    post:
      security:
      - api_key: []
      description: 'Trigger automated tests for a specific release, validating its configuration and compatibility.

        Results are reported asynchronously and may include errors or warnings.


        Required RBAC Policy: kots/app/[:appid]/releases/test'
      tags:
      - releases
      summary: Test a release.
      operationId: testRelease
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: Sequence
        description: Release identifier
        name: sequence
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/testReleaseResponse'
        '400':
          $ref: '#/components/responses/testReleaseErrorResponse'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/testReleaseErrorResponse'
        '412':
          $ref: '#/components/responses/testReleaseErrorResponse'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: Promote release parameters.
  /app/{app_id}/releases:
    get:
      security:
      - api_key: []
      description: 'Return a paginated list of all releases for the specified app, including their metadata, status, and sequence numbers.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/read'
      tags:
      - releases
      summary: List releases for an app.
      operationId: listReleases
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: PageSize
        description: Page size
        name: pageSize
        in: query
        schema:
          type: integer
          format: int64
          default: 20
      - x-go-name: CurrentPage
        description: Current page
        name: currentPage
        in: query
        schema:
          type: integer
          format: int64
      - x-go-name: IncludeSecuritySummary
        description: Include security summary
        name: includeSecuritySummary
        in: query
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/listReleasesResponse'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
  /app/{app_id}/releases/active:
    get:
      security:
      - api_key: []
      description: 'Return a list of all active (currently promoted) releases for the specified app.

        Active releases are those that will be used by default when installing a particular channel.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/read'
      tags:
      - releases
      summary: List active releases for an app.
      operationId: listActiveReleases
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: PageSize
        description: Page size
        name: pageSize
        in: query
        schema:
          type: integer
          format: int64
          default: 20
      - x-go-name: CurrentPage
        description: Current page
        name: currentPage
        in: query
        schema:
          type: integer
          format: int64
      - x-go-name: IncludeSecuritySummary
        description: Include security summary
        name: includeSecuritySummary
        in: query
        schema:
          type: boolean
      responses:
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
  /app/{app_id}/releases/archive:
    post:
      security:
      - api_key: []
      description: 'Archive one or more releases for the specified app, making them unavailable for deployment or download.

        Active releases cannot be archived.


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/archive'
      tags:
      - releases
      summary: Archive releases.
      operationId: archiveReleases
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/atchiveReleasesResponse'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sequences:
                  description: The release sequences to archive
                  type: array
                  items:
                    type: integer
                    format: int64
                  x-go-name: Sequences
        description: Archive releases parameters.
  /app/{app_id}/releases/search:
    get:
      security:
      - api_key: []
      description: 'Return releases that include the requested image reference in bundle metadata,

        split into active releases (latest promoted to each channel) and

        all matching releases (paginated).


        Required RBAC Policy: kots/app/[:appid]/release/[:releasesequence]/read'
      tags:
      - releases
      summary: Find releases containing a container image reference.
      operationId: getImageReleaseSearch
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: PageSize
        description: Page size
        name: pageSize
        in: query
        schema:
          type: integer
          format: int64
          default: 20
      - x-go-name: CurrentPage
        description: Current page
        name: currentPage
        in: query
        schema:
          type: integer
          format: int64
      - x-go-name: Image
        description: Image reference to find across releases.
        name: image
        in: query
        required: true
        schema:
          type: string
      - x-go-name: Digest
        description: Optional scan digest from Security Center (sha256:...).
        name: digest
        in: query
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/getImageReleaseSearch'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
        '404':
          $ref: '#/components/responses/responseErrNotFound'
      servers:
      - url: https://api.replicated.com/vendor/v3
components:
  schemas:
    GitHubRef:
      type: object
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
    Chart:
      type: object
      properties:
        appVersion:
          type: string
          x-go-name: AppVersion
        archiveSize:
          type: integer
          format: int64
          x-go-name: ArchiveSize
        error:
          type: string
          x-go-name: Error
        name:
          type: string
          x-go-name: Name
        status:
          $ref: '#/components/schemas/ChartStatus'
        updatedAt:
          type: string
          format: date-time
          x-go-name: UpdatedAt
        version:
          type: string
          x-go-name: Version
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/release
    HelmInstallabilityIssue:
      type: object
      properties:
        message:
          type: string
          x-go-name: Message
        resources:
          type: array
          items:
            $ref: '#/components/schemas/HelmUnavailableResource'
          x-go-name: Resources
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
    InstallerTypeHelm:
      type: object
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
    LintExpression:
      type: object
      properties:
        message:
          type: string
          x-go-name: Message
        path:
          type: string
          x-go-name: Path
        rule:
          type: string
          x-go-name: Rule
        type:
          type: string
          x-go-name: Type
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/release
    CompatibilityResult:
      type: object
      properties:
        distribution:
          type: string
          x-go-name: Distribution
        failureAt:
          type: string
          format: date-time
          x-go-name: FailureAt
        failureNotes:
          type: string
          x-go-name: FailureNotes
        successAt:
          type: string
          format: date-time
          x-go-name: SuccessAt
        successNotes:
          type: string
          x-go-name: SuccessNotes
        version:
          type: string
          x-go-name: Version
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/release
    ReleaseChannelExposure:
      type: object
      title: ReleaseChannelExposure is the per-channel customer breakdown for a release.
      properties:
        customer_count:
          type: integer
          format: int64
          x-go-name: CustomerCount
        id:
          type: string
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/exposure
    ImageReleaseSearchResponse:
      type: object
      properties:
        active:
          $ref: '#/components/schemas/ImageReleaseSearchBucket'
        all:
          $ref: '#/components/schemas/ImageReleaseSearchBucket'
        image:
          type: string
          x-go-name: Image
      x-go-package: github.com/replicatedhq/vandoor/handlers/vendor-api/replv3/releases
    SupportedVersion:
      type: object
      properties:
        nodes_max:
          type: integer
          format: int64
          x-go-name: NodesMax
        version:
          type: string
          x-go-name: Version
      x-go-package: github.com/replicatedhq/vandoor/pkg/vendor-api/cluster/types
    CustomerAdoption:
      type: object
      properties:
        channelId:
          type: string
          x-go-name: ChannelID
        count:
          type: integer
          format: int64
          x-go-name: Count
        percent:
          type: number
          format: double
          x-go-name: Percent
        releaseSequence:
          type: integer
          format: int64
          x-go-name: ReleaseSequence
        semver:
          type: string
          x-go-name: Semver
        totalOnChannel:
          type: integer
          format: int64
          x-go-name: TotalOnChannel
        versionsFromLatest:
          type: integer
          format: int64
          x-go-name: VersionsFromLatest
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/customer/sharedtypes
    ClusterDistributionStatus:
      type: object
      properties:
        enabled:
          type: boolean
          x-go-name: Enabled
        status:
          type: string
          x-go-name: Status
        status_message:
          type: string
          x-go-name: StatusMessage
        versions:
          type: string
          x-go-name: Versions
      x-go-package: github.com/replicatedhq/vandoor/pkg/vendor-api/cluster/types
    SupportedDistributionAndVersions:
      type: object
      properties:
        instance_types:
          type: array
          items:
            type: string
          x-go-name: InstanceTypes
        nodes_max:
          type: integer
          format: int64
          x-go-name: NodesMax
        short_name:
          type: string
          x-go-name: ShortName
        status:
          $ref: '#/components/schemas/ClusterDistributionStatus'
        version_details:
          type: array
          items:
            $ref: '#/components/schemas/SupportedVersion'
          x-go-name: VersionDetails
        versions:
          type: array
          items:
            type: string
          x-go-name: Versions
      x-go-package: github.com/replicatedhq/vandoor/pkg/vendor-api/cluster/types
    AirgapBuildSummary:
      type: object
      title: AirgapBuildSummary is a lightweight snapshot of a channel-release's airgap build state.
      properties:
        airgapBuildError:
          type: string
          x-go-name: AirgapBuildError
        airgapBuildStatus:
          type: string
          x-go-name: AirgapBuildStatus
        channelId:
          type: string
          x-go-name: ChannelID
        channelName:
          type: string
          x-go-name: ChannelName
        channelSequence:
          type: integer
          format: int64
          x-go-name: ChannelSequence
        fullAirgapBuild:
          description: 'FullAirgapBuild is true when the channel-release is configured to produce

            or has completed with a full airgap bundle.

            When false, the worker may still run metadata generation for the

            channel-release and that step can fail.'
          type: boolean
          x-go-name: FullAirgapBuild
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/release
    ChartStatus:
      type: string
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/release
    InstallerTypeKotsConfig:
      type: object
      properties:
        apiVersion:
          type: string
          x-go-name: APIVersion
      x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
    ImageReleaseSearchBucket:
      type: object
      properties:
        releases:
          type: array
          items:
            $ref: '#/components/schemas/ImageReleaseSearchRelease'
          x-go-name: Releases
        total_active_instances:
          type: integer
          format: int64
          x-go-name: TotalActiveInstances
        total_releases:
          type: integer
          format: int64
          x-go-name: TotalReleases
      x-go-package: github.com/replicatedhq/vandoor/handlers/vendor-api/replv3/releases
    Channel:
      type: object
      properties:
        adoptionRate:
          type: array
          items:
            $ref: '#/components/schemas/CustomerAdoption'
          x-go-name: AdoptionRate
        airgapDiffBundlesEnabled:
          type: boolean
          x-go-name: AirgapDiffBundlesEnabled
        airgapDockerRegistryFormatEnabled:
          type: boolean
          x-go-name: AirgapDockerRegistryFormatEnabled
        allowPublishableKey:
          type: boolean
          x-go-name: AllowPublishableKey
        appId:
          type: string
          x-go-name: AppID
        appName:
          type: string
          x-go-name: AppName
        appSlug:
          type: string
          x-go-name: AppSlug
        buildAirgapAutomatically:
          type: boolean
          x-go-name: BuildAirgapAutomatically
        channelIcon:
    

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/replicated/refs/heads/main/openapi/replicated-releases-api-openapi.yml