Replicated channels API

The channels API from Replicated — 7 operation(s) for channels.

OpenAPI Specification

replicated-channels-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Manage enterprise portal users, install options, branding, documentation, email templates, and access control.
  title: Vendor API V3 apps channels API
  contact:
    name: Replicated, Inc.
    url: http://www.replicated.com/
    email: info@replicated.com
  version: 3.0.0
host: api.replicated.com
basePath: /vendor/v3
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: channels
paths:
  /app/{app_id}/channel:
    post:
      security:
      - api_key: []
      description: 'Create a new channel for the specified app, allowing for configuration of channel properties such as name, description, and feature flags.


        Required RBAC Policy: kots/app/[:appid]/channel/create'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Creates a channel in the KOTS application.
      operationId: createChannel
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - description: JSON input
        name: Body
        in: body
        required: true
        schema:
          type: object
          required:
          - name
          properties:
            airgapDiffBundlesEnabled:
              description: AirgapDiffBundlesEnabled will allow building diff airgap bundles for the channel.
              type: boolean
              x-go-name: AirgapDiffBundlesEnabled
            airgapDockerRegistryFormatEnabled:
              description: AirgapDockerRegistryFormatEnabled airgap bundles built after enabling this will use the Docker Registry format.
              type: boolean
              x-go-name: AirgapDockerRegistryFormatEnabled
            allowPublishableKey:
              description: AllowPublishableKey when enabled, allows customers to use publishable keys to create customer records and sign up for this channel through the SDK
              type: boolean
              x-go-name: AllowPublishableKey
            buildAirgapAutomatically:
              description: BuildAirgapAutomatically when enabled, automatically creates air gap builds for newly promoted releases in this channel.
              type: boolean
              x-go-name: BuildAirgapAutomatically
            channelIcon:
              description: ChannelIcon icon of the channel that is to be created.
              type: string
              x-go-name: ChannelIcon
            customHostnameOverrides:
              $ref: '#/definitions/CustomHostnameOverrides'
            description:
              description: Description of the channel that is to be created.
              type: string
              x-go-name: Description
            enterprisePartnerChannelID:
              description: Enterprise Partner Channel Id to be added to channel.
              type: string
              x-go-name: EnterprisePartnerChannelID
            isDefault:
              description: IsDefault indicates if this channel is the default channel for the application.
              type: boolean
              x-go-name: IsDefault
            name:
              type: string
              x-go-name: Name
            semverRequired:
              description: SemverRequired when enabled, will cause an error when non semver values are used for new releases
              type: boolean
              x-go-name: SemverRequired
      responses:
        '201':
          $ref: '#/responses/getChannelResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
  /app/{app_id}/channel/{channel_id}:
    get:
      security:
      - api_key: []
      description: 'Retrieve the details of a specific channel within an app, including its metadata and optionally its releases.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Get a channel.
      operationId: getChannelProperties
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      - type: boolean
        x-go-name: ExcludeReleases
        description: Exclude releases
        name: excludeReleases
        in: query
      - type: boolean
        x-go-name: IncludeSecuritySummary
        description: Include security summary
        name: includeSecuritySummary
        in: query
      responses:
        '200':
          $ref: '#/responses/getChannelResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    put:
      security:
      - api_key: []
      description: 'Update the properties of an existing channel, such as its name, description, and feature flags.

        All properties must be provided in the request body.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/update'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Updates an app channel.
      operationId: updateChannel
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      - description: Channel update parameters.
        name: Body
        in: body
        schema:
          type: object
          required:
          - name
          properties:
            airgapDiffBundlesEnabled:
              description: AirgapDiffBundlesEnabled will allow building diff airgap bundles for the channel.
              type: boolean
              x-go-name: AirgapDiffBundlesEnabled
            airgapDockerRegistryFormatEnabled:
              description: AirgapDockerRegistryFormatEnabled airgap bundles built after enabling this will use the Docker Registry format.
              type: boolean
              x-go-name: AirgapDockerRegistryFormatEnabled
            allowPublishableKey:
              description: AllowPublishableKey when enabled, allows customers to use publishable keys to create customer records and sign up for this channel through the SDK
              type: boolean
              x-go-name: AllowPublishableKey
            buildAirgapAutomatically:
              description: BuildAirgapAutomatically when enabled, automatically creates air gap builds for newly promoted releases in this channel.
              type: boolean
              x-go-name: BuildAirgapAutomatically
            channelIcon:
              description: Icon of the channel that is to be updated.
              type: string
              x-go-name: ChannelIcon
            customHostnameOverrides:
              $ref: '#/definitions/CustomHostnameOverrides'
            description:
              description: Description of the channel that is to be updated.
              type: string
              x-go-name: Description
            isDefault:
              description: IsDefault indicates if this channel is the default channel for the application.
              type: boolean
              x-go-name: IsDefault
            name:
              description: Name of the channel that is to be updated.
              type: string
              x-go-name: Name
            semverRequired:
              description: SemverRequired when enabled, will cause an error when non semver values are used for new releases
              type: boolean
              x-go-name: SemverRequired
      responses:
        '200':
          $ref: '#/responses/getChannelResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
    delete:
      security:
      - api_key: []
      description: 'Archives the specified channel, making it unavailable for new releases or deployments.

        Archived channels can no longer be used but are retained for historical reference.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/archive'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Archives an app channel.
      operationId: archiveChannel
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/responseOk'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
    patch:
      security:
      - api_key: []
      description: 'Allow partial updates to a channel''s properties. Only the fields provided in the request body will be updated.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/update'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Patches an app channel.
      operationId: patchChannel
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      - description: Channel patch parameters.
        name: Body
        in: body
        schema:
          type: object
          properties:
            airgapDiffBundlesEnabled:
              description: AirgapDiffBundlesEnabled will allow building diff airgap bundles for the channel.
              type: boolean
              x-go-name: AirgapDiffBundlesEnabled
            airgapDockerRegistryFormatEnabled:
              description: AirgapDockerRegistryFormatEnabled airgap bundles built after enabling this will use the Docker Registry format.
              type: boolean
              x-go-name: AirgapDockerRegistryFormatEnabled
            allowPublishableKey:
              description: AllowPublishableKey when enabled, allows customers to use publishable keys to create customer records and sign up for this channel through the SDK
              type: boolean
              x-go-name: AllowPublishableKey
            buildAirgapAutomatically:
              description: BuildAirgapAutomatically when enabled, automatically creates air gap builds for newly promoted releases in this channel.
              type: boolean
              x-go-name: BuildAirgapAutomatically
            channelIcon:
              description: Icon of the channel that is to be updated.
              type: string
              x-go-name: ChannelIcon
            customHostnameOverrides:
              $ref: '#/definitions/CustomHostnameOverrides'
            description:
              description: Description of the channel that is to be updated.
              type: string
              x-go-name: Description
            isDefault:
              description: IsDefault indicates if this channel is the default channel for the application.
              type: boolean
              x-go-name: IsDefault
            name:
              description: Name of the channel that is to be updated.
              type: string
              x-go-name: Name
            semverRequired:
              description: SemverRequired when enabled, will cause an error when non semver values are used for new releases
              type: boolean
              x-go-name: SemverRequired
      responses:
        '200':
          $ref: '#/responses/getChannelResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
  /app/{app_id}/channel/{channel_id}/adoption:
    get:
      security:
      - api_key: []
      description: 'Returns a report of version adoption rates for a channel, grouped by day or week, and filtered by license type and date range.

        The report helps track how quickly customers are upgrading to new releases.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Get adoption rates for an app channel.
      operationId: getChannelAdoptionReport
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      - type: string
        format: date-time
        x-go-name: StartDate
        description: Report start date in YYYY-MM-DD format
        name: startDate
        in: query
        required: true
      - type: string
        format: date-time
        x-go-name: EndDate
        description: Report end date in YYYY-MM-DD format
        name: endDate
        in: query
        required: true
      - type: string
        x-go-name: LicenseTypes
        description: License types to include
        name: licenseTypes
        in: query
        required: true
      - type: string
        x-go-name: Interval
        description: Interval to group the report by. Valid values are "1d" and "1w".  Default is 1d
        name: interval
        in: query
      responses:
        '200':
          $ref: '#/responses/getChannelAdoptionReportResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/channel/{channel_id}/delete:
    delete:
      security:
      - api_key: []
      description: 'Permanently deletes the specified channel, removing it from the database.

        This action is irreversible. The channel cannot have any customers assigned to it.

        Default channels and system channels cannot be deleted.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/delete'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Permanently deletes an app channel.
      operationId: deleteChannel
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/responseOk'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
  /app/{app_id}/channel/{channel_id}/embeddedcluster/release:
    get:
      security:
      - api_key: []
      description: 'Return a .tgz file containing the embedded cluster release for the specified channel and app.

        Optional query parameters allow specifying a channel sequence, a customer license file to include, and whether to include an airgap bundle.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/embeddedcluster/release'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Get an embedded cluster release.
      operationId: getEmbeddedClusterRelease
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      - type: integer
        format: int64
        x-go-name: ChannelSequence
        description: If provided, downloads the embedded cluster release for the given channel sequence.
        name: channelSequence
        in: query
      - type: string
        x-go-name: CustomerID
        description: If provided, includes the customer's license file in the embedded cluster release.
        name: customerId
        in: query
      - type: boolean
        x-go-name: Airgap
        description: If provided, includes the airgap bundle in the embedded cluster release.
        name: airgap
        in: query
      - type: array
        items:
          type: string
        x-go-name: Include
        description: 'If provided, only the specified components are included in the release.

          Comma-separated list of component names: binary, release, license, ec-online-bundle, app-airgap-bundle, ec-airgap-bundle.

          When omitted, all components are included.'
        name: include
        in: query
      responses:
        '200':
          description: ''
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/channel/{channel_id}/trends:
    get:
      security:
      - api_key: []
      description: 'Return historical and current trends for customer instances on a specific channel, such as median instance age, unique versions, active instances, and upgrade statistics.

        The interval for trend comparison is specified via query parameter.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: Get customer instance trends for an app channel.
      operationId: getChannelInstanceTrends
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelID
        description: Channel identifier
        name: channel_id
        in: path
        required: true
      - type: string
        description: Interval
        name: Interval
        in: query
        required: true
      responses:
        '200':
          $ref: '#/responses/getChannelInstanceTrendsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/channels:
    get:
      security:
      - api_key: []
      description: 'Returns a paginated list of channels for the specified app, with optional filtering by channel name. Channel details and associated releases can be included or excluded using query parameters.


        Required RBAC Policy: kots/app/[:appid]/channel/[:channelid]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - channels
      summary: List channels for an app.
      operationId: listChannels
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: ChannelName
        description: filter by channel name
        name: channelName
        in: query
      - type: boolean
        x-go-name: ExcludeDetail
        description: Exclude detail
        name: excludeDetail
        in: query
      - type: boolean
        x-go-name: ExcludeAdoption
        description: Exclude adoption
        name: excludeAdoption
        in: query
      - type: integer
        format: int64
        default: 20
        x-go-name: PageSize
        description: Page size
        name: pageSize
        in: query
      - type: integer
        format: int64
        x-go-name: CurrentPage
        description: Current page
        name: currentPage
        in: query
      - type: string
        x-go-name: ChannelNameFilter
        description: Channel name filter
        name: channelNameFilter
        in: query
      - type: boolean
        x-go-name: IncludeSecuritySummary
        description: Include security summary
        name: includeSecuritySummary
        in: query
      responses:
        '200':
          $ref: '#/responses/listChannelsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
definitions:
  InstallationTypeKurl:
    type: object
    properties:
      installerVersion:
        type: string
        x-go-name: InstallerVersion
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/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
  InstallerTypeEmbeddedCluster:
    type: object
    properties:
      proxyRegistryDomain:
        type: string
        x-go-name: ProxyRegistryDomain
      replicatedAppDomain:
        type: string
        x-go-name: ReplicatedAppDomain
      replicatedRegistryDomain:
        type: string
        x-go-name: ReplicatedRegistryDomain
      version:
        type: string
        x-go-name: InstallerVersion
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  ImageVulnCounts:
    type: object
    properties:
      counts:
        $ref: '#/definitions/VulnCounts'
      digest:
        type: string
        x-go-name: Digest
      digest_first_seen_at:
        type: string
        x-go-name: DigestFirstSeenAt
      image_size_bytes:
        type: integer
        format: int64
        x-go-name: ImageSizeBytes
      input:
        type: string
        x-go-name: Input
      installation_phase:
        description: 'InstallationPhase indicates the Embedded Cluster phase for the image ("", "online", or "airgap").

          Application images have the phase "".

          Infrastructure images used for Embedded Cluster in both online and airgap have the phase "online" or "airgap".

          Infrastructure images used for Embedded Cluster only in airgap have the phase "airgap".'
        type: string
        x-go-name: InstallationPhase
      last_scanned_at:
        type: string
        x-go-name: LastScannedAt
      not_found:
        type: boolean
        x-go-name: NotFound
      sbom_status:
        description: SBOM status tracking
        type: string
        x-go-name: SBOMStatus
      sbom_status_message:
        type: string
        x-go-name: SBOMStatusMessage
      sbom_status_updated_at:
        type: string
        x-go-name: SBOMStatusUpdatedAt
      scan_status:
        description: Scan status tracking
        type: string
        x-go-name: ScanStatus
      scan_status_message:
        type: string
        x-go-name: ScanStatusMessage
      scan_status_updated_at:
        type: string
        x-go-name: ScanStatusUpdatedAt
      scanned_images:
        description: Scan completeness tracking
        type: integer
        format: int64
        x-go-name: ScannedImages
      total_images:
        type: integer
        format: int64
        x-go-name: TotalImages
    x-go-package: github.com/replicatedhq/vandoor/pkg/securebuild/types
  VersionAdoptionReport:
    type: object
    properties:
      date:
        type: string
        format: date-time
        x-go-name: Date
      versions:
        type: array
        items:
          $ref: '#/definitions/VersionAdoption'
        x-go-name: Versions
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  InstallerTypeKotsConfig:
    type: object
    properties:
      apiVersion:
        type: string
        x-go-name: APIVersion
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  LintResult:
    type: object
    properties:
      isLintingComplete:
        type: boolean
        x-go-name: IsLintingComplete
      lintExpressions:
        type: array
        items:
          $ref: '#/definitions/LintExpression'
        x-go-name: LintExpressions
    x-go-package: github.com/replicatedhq/vandoor/pkg/lint
  InstallerTypeHelm:
    type: object
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  GitHubRef:
    type: object
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  InstallerTypeReplicatedSDK:
    type: object
    properties:
      sdkVersion:
        type: string
        x-go-name: SDKVersion
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  CustomHostnameOverrides:
    type: object
    properties:
      downloadPortal:
        $ref: '#/definitions/CustomHostnameOverride'
      proxy:
        $ref: '#/definitions/CustomHostnameOverride'
      registry:
        $ref: '#/definitions/CustomHostnameOverride'
      replicatedApp:
        $ref: '#/definitions/CustomHostnameOverride'
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  InstallerTypePreflight:
    type: object
    properties:
      apiVersion:
        type: string
        x-go-name: APIVersion
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  HelmInstallabilityIssue:
    type: object
    properties:
      message:
        type: string
        x-go-name: Message
      resources:
        type: array
        items:
          $ref: '#/definitions/HelmUnavailableResource'
        x-go-name: Resources
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  VersionAdoption:
    type: object
    properties:
      instanceCount:
        type: integer
        format: int64
        x-go-name: InstanceCount
      versionLabel:
        type: string
        x-go-name: VersionLabel
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  CustomHostnameOverride:
    type: object
    properties:
      hostname:
        type: string
        x-go-name: Hostname
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  KotsChannelRelease:
    type: object
    properties:
      airgapBuildError:
        type: string
        x-go-name: AirgapBuildError
      airgapBuildStatus:
        type: string
        x-go-name: AirgapBuildStatus
      airgapBundleImages:
        type: array
        items:
          type: string
        x-go-name: AirgapBundleImages
      channelIcon:
        type: string
        x-go-name: ChannelIcon
      channelId:
        type: string
        x-go-name: ChannelID
      channelName:
        type: string
        x-go-name: ChannelName
      channelSequence:
        type: integer
        format: int64
        x-go-name: ChannelSequence
      created:
        type: string
        format: date-time
        x-go-name: Created
      createdBy:
        $ref: '#/definitions/Actor'
      customResourceError:
        type: string
        x-go-name: CustomResourceError
      customResourceWarnings:
        type: array
        items:
          type: string
        x-go-name: CustomResourceWarnings
      demotedAt:
        type: string
        format: date-time
        x-go-name: DemotedAt
      embeddedClusterVersion:
        type: string
        x-go-name: EmbeddedClusterVersion
      hasECInstaller:
        type: boolean
        x-go-name: HasECInstaller
      hasKurlInstaller:
        type: boolean
        x-go-name: HasKurlInstaller
      imageSecurityInfo:
        type: array
        items:
          $ref: '#/definitions/ImageVulnCounts'
        x-go-name: ImageSecurityInfo
      imageSecuritySums:
        type: object
        additionalProperties:
          $ref: '#/definitions/ImageVulnCounts'
        x-go-name: ImageSecuritySums
      installationTypes:
        $ref: '#/definitions/InstallationTypes'
      isDemoted:
        type: boolean
        x-go-name: IsDemoted
      isRequired:
        type: boolean
        x-go-name: IsRequired
      kurlInstallerID:
        type: string
        x-go-name: KurlInstallerID
      lintResult:
        $ref: '#/definitions/LintResult'
      proxyRegistryDomain:
        type: string
        x-go-name: ProxyRegistryDomain
      registrySecret:
        type: string
        x-go-name: RegistrySecret
      releaseNotes:
        type: string
        x-go-name: ReleaseNotes
      releasedAt:
        type: string
        format: date-time
        x-go-name: ReleasedAt
      replicatedRegistryDomain:
        type: string
        x-go-name: ReplicatedRegistryDomain
      semver:
        type: string
        x-go-name: Semver
      sequence:
        type: integer
        format: int64
        x-go-name: Sequence
      updated:
        type: string
        format: date-time
        x-go-name: Updated
      updatedBy:
        $ref: '#/definitions/Actor'
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  InstallationTypes:
    type: object
    properties:
      embeddedCluster:
        $ref: '#/definitions/InstallerTypeEmbeddedCluster'
      helm:
        $ref: '#/definitions/InstallerTypeHelm'
      helmInstallabilityIssue:
        $ref: '#/definitions/HelmInstallabilityIssue'
      kots:
        $ref: '#/definitions/InstallerTypeKots'
      kotsConfig:
        $ref: '#/definitions/InstallerTypeKotsConfig'
      kurl:
        $ref: '#/definitions/InstallationTypeKurl'
      preflight:
        $ref: '#/definitions/InstallerTypePreflight'
      replicatedSDK:
        $ref: '#/definitions/InstallerTypeReplicatedSDK'
      supportBundle:
        $ref: '#/definitions/InstallerTypeSupportBundle'
    x-go-package: github.com/replicatedhq/vandoor/pkg/kots/channel/types
  VulnCounts:
    type: object
    properties:
      critical:
        type: integer
        format: int64
        x-go-name: Critical
      high:
        type: integer
        format: int64
        x-go-name: High
      low:
        type: integer
        format: int64
        x-go-name: Low
      medium:
        type: integer
        format: int64
        x-go-name: Medium
      total:
        type: integer
        format: int64
        x-go-name: Total
    x-go-package: github.com/replicatedhq/vandoor/pkg/securebuild/types
  Actor:
    type: object
    properties:
      description:
        type: string
        x-go-name: Description
      id:
        type: string
        x-go-name: ID
      link:
        type: string
        x-go-name: Link
      timestamp:
        type: string
        format: date-time
        x-go-name: Timestamp
      type:
        type: string
        x-go-name: Type
    x-go-package: github.com/replicatedhq/vandoor/pkg/models/types
  TotalActiveInactiveCustomers:
    type: object
    properties:
      activeCustomers:
        ty

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