Replicated enterprisePortal API

The enterprisePortal API from Replicated — 27 operation(s) for enterpriseportal.

OpenAPI Specification

replicated-enterpriseportal-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 enterprisePortal 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: enterprisePortal
paths:
  /app/{app_id}/enterprise-portal/access:
    get:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/[:appid]/enterprise-portal/access/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Get download portal access settings
      operationId: getEnterprisePortalAccess
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/getEnterprisePortalAccessResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    put:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/{app_id}/enterprise-portal/access/update'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Update download portal access settings
      operationId: updateEnterprisePortalAccess
      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
          properties:
            auto_invite_to_ep_on_create:
              description: 'Whether to automatically invite the customer email to Enterprise Portal on customer creation.

                Requires download_portal_disabled to be true.'
              type: boolean
              x-go-name: AutoInviteToEpOnCreate
            download_portal_disabled:
              description: Whether the download portal is disabled. When set to false, auto_invite_to_ep_on_create is automatically disabled.
              type: boolean
              x-go-name: DownloadPortalDisabled
      responses:
        '200':
          $ref: '#/responses/updateEnterprisePortalAccessResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/branding:
    get:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/[:appid]/enterprise-portal/branding/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Get custom branding for the enterprise portal
      operationId: getEnterprisePortalBranding
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/getEnterprisePortalBrandingResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    put:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/{app_id}/enterprise-portal/branding/update'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Update custom branding for the enterprise portal
      operationId: updateEnterprisePortalBranding
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - description: Update custom branding for the enterprise portal
        name: Body
        in: body
        schema:
          type: object
          required:
          - branding
          properties:
            activeEnterprisePortalTemplate:
              description: 'Active default template name: "docs", "custom", or empty'
              type: string
              x-go-name: ActiveEnterprisePortalTemplate
            branding:
              description: Branding object that will be parsed by the enterprise portal
              type: string
              x-go-name: Branding
      responses:
        '200':
          $ref: '#/responses/getEnterprisePortalBrandingResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/content-repos/{repo_id}/template-updates/acknowledge:
    post:
      security:
      - api_key: []
      - Required RBAC Policy: []
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Mark pending upstream content template updates reviewed for the current user.
      operationId: acknowledgeContentTemplateUpdates
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: RepoID
        description: Content repository identifier
        name: repo_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/acknowledgeContentTemplateUpdatesResponse'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/content-settings:
    put:
      description: 'Required RBAC Policy: kots/app/[:appId]/enterprise-portal/documentation/update'
      tags:
      - enterprisePortal
      summary: Update Enterprise Portal content settings for an app.
      operationId: updateEnterprisePortalContentSettings
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - name: Body
        in: body
        schema:
          type: object
          properties:
            hide_unmatched_content_versions:
              type: boolean
              x-go-name: HideUnmatchedContentVersions
      responses:
        '200':
          $ref: '#/responses/updateContentSettingsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/content-versions/pin:
    post:
      security:
      - api_key: []
      - Required RBAC Policy: []
      description: 'Creates a virtual content branch row that pins a release version label to

        the content of an existing real branch.'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Pin a release version label to an existing content branch
      operationId: createContentVersionPin
      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:
          - version_label
          properties:
            replace_existing:
              description: 'When true, an existing pin row with the same version_label is

                removed before the new one is created. Used by `--replace` from the

                CLI and the Edit affordance in the vendor portal.'
              type: boolean
              x-go-name: ReplaceExisting
            source_branch_pattern:
              description: 'Semver-shaped pattern resolved server-side to the highest matching

                branch (e.g. "1.x.x", "1.2.x"). Mutually exclusive with

                source_version_id.'
              type: string
              x-go-name: SourceBranchPattern
            source_version_id:
              description: 'ID of the existing content version whose content is pinned. Mutually

                exclusive with source_branch_pattern.'
              type: string
              x-go-name: SourceVersionID
            version_label:
              description: Release version label to pin
              type: string
              x-go-name: VersionLabel
      responses:
        '200':
          $ref: '#/responses/createContentVersionPinResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/content-versions/{version_id}:
    delete:
      security:
      - api_key: []
      - Required RBAC Policy: []
      description: 'Removes a content version row and its pages, toc, and theme.

        Mainly used to remove pin rows. Real-branch rows can be deleted too —

        they''ll be recreated (empty) on the next sync.'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Delete a content version
      operationId: deleteContentVersion
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: VersionID
        description: Content version identifier
        name: version_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/deleteContentVersionResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/content-versions/{version_id}/dismiss-notice:
    post:
      security:
      - api_key: []
      - Required RBAC Policy: []
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Clear the sync notice for a content version.
      operationId: dismissContentVersionNotice
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: VersionID
        description: Content version identifier
        name: version_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/dismissContentVersionNoticeResponse'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/customer-allowed-domains:
    get:
      security:
      - api_key: []
      description: 'Required RBAC Policy:

        kots/app/[:appid]/enterprise-portal/customer-allowed-domains/read

        kots/app/[:appid]/license/[:customer_id]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: List customer allowed domains for the enterprise portal
      operationId: listCustomerAllowedDomains
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: FilterCustomerID
        description: Filter by customer ID
        name: customer_id
        in: query
        required: true
      responses:
        '200':
          $ref: '#/responses/listCustomerAllowedDomainsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    post:
      security:
      - api_key: []
      description: 'Required RBAC Policy:

        kots/app/[:appid]/enterprise-portal/customer-allowed-domains/create

        kots/app/[:appid]/license/[:customer_id]/read'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Create a customer allowed domain for the enterprise portal
      operationId: createCustomerAllowedDomain
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - description: Create a customer allowed domain for the enterprise portal
        name: Body
        in: body
        required: true
        schema:
          type: object
          properties:
            customer_id:
              type: string
              x-go-name: CustomerID
            domain:
              type: string
              x-go-name: Domain
      responses:
        '201':
          $ref: '#/responses/createCustomerAllowedDomainResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/customer-allowed-domains/{allowedDomainId}:
    delete:
      security:
      - api_key: []
      description: 'Required RBAC Policy:

        kots/app/[:appid]/enterprise-portal/customer-allowed-domains/delete

        kots/app/[:appid]/license/[:customer_id]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Delete a customer allowed domain for the enterprise portal
      operationId: deleteCustomerAllowedDomain
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        x-go-name: AllowedDomainID
        description: The allowed domain ID to delete
        name: allowedDomainId
        in: path
        required: true
      - type: string
        x-go-name: CustomerID
        description: The customer ID for the allowed domain
        name: customer_id
        in: query
        required: true
      responses:
        '204':
          $ref: '#/responses/responseNoContent'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/customer-user:
    post:
      security:
      - api_key: []
      - Required RBAC Policy: []
      description: Invite a customer user to the enterprise portal, sending an invite email to the customer user.
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Invite a customer user to the enterprise portal
      operationId: inviteEnterprisePortalCustomerUser
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - description: Invite a customer user to the enterprise portal
        name: Body
        in: body
        required: true
        schema:
          type: object
          properties:
            customer_id:
              type: string
              x-go-name: CustomerID
            email_address:
              type: string
              x-go-name: EmailAddress
      responses:
        '201':
          $ref: '#/responses/inviteEnterprisePortalCustomerUserResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    delete:
      security:
      - api_key: []
      - Required RBAC Policy: []
      description: Delete a customer user for the enterprise portal
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      operationId: deleteEnterprisePortalCustomerUser
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        description: The email address of the user to delete
        name: EmailAddress
        in: query
      - type: string
        x-go-name: CustomerID
        description: The customer ID which the user belongs to
        name: customer_id
        in: query
      responses:
        '204':
          $ref: '#/responses/responseNoContent'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/customer-users:
    get:
      security:
      - api_key: []
      description: 'Required RBAC Policy:

        kots/app/[:appid]/enterprise-portal/customer-users/read

        kots/app/[:appid]/license/[:customer_id]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: List customer users for the enterprise portal
      operationId: listEnterprisePortalCustomerUsers
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: boolean
        default: false
        name: ExcludeInvites
        in: query
      - type: string
        description: Filter by customer ID
        name: FilterCustomerID
        in: query
      - type: string
        description: Filter by email address
        name: FilterEmail
        in: query
      - type: integer
        format: int64
        name: Limit
        in: query
      - type: integer
        format: int64
        name: Offset
        in: query
      - type: string
        name: Sort
        in: query
      - type: string
        name: Order
        in: query
      responses:
        '200':
          $ref: '#/responses/listEnterprisePortalCustomerUsersResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/documentation:
    get:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/[:appid]/enterprise-portal/documentation/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Get documentation URLs for various installation methods
      operationId: getEnterprisePortalDocumentation
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/getDocumentationResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    put:
      security:
      - api_key: []
      description: 'Update documentation URLs and markdown content for various installation methods


        Required RBAC Policy: kots/app/[:appid]/enterprise-portal/documentation/update'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Update documentation URLs
      operationId: updateEnterprisePortalDocumentation
      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
          properties:
            embeddedClusterInstallURL:
              description: URL for Embedded Cluster installation documentation
              type: string
              x-go-name: EmbeddedClusterInstallURL
            embeddedClusterPostInstall:
              description: Markdown content for Embedded Cluster post-installation steps
              type: string
              x-go-name: EmbeddedClusterPostInstall
            embeddedClusterPreInstall:
              description: Markdown content for Embedded Cluster pre-installation steps
              type: string
              x-go-name: EmbeddedClusterPreInstall
            helmInstallURL:
              description: URL for Helm installation documentation
              type: string
              x-go-name: HelmInstallURL
            helmPostInstall:
              description: Markdown content for Helm post-installation steps
              type: string
              x-go-name: HelmPostInstall
            helmPreInstall:
              description: Markdown content for Helm pre-installation steps
              type: string
              x-go-name: HelmPreInstall
            kotsInstallURL:
              description: URL for KOTS installation documentation
              type: string
              x-go-name: KOTSInstallURL
            kurlInstallURL:
              description: URL for kURL installation documentation
              type: string
              x-go-name: KURLInstallURL
            valuesOverrideURL:
              description: URL for Values Override documentation
              type: string
              x-go-name: ValuesOverrideURL
      responses:
        '200':
          $ref: '#/responses/updateDocumentationResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
  /app/{app_id}/enterprise-portal/email-history:
    get:
      security:
      - api_key: []
      description: 'Returns a paginated list of emails sent through the enterprise portal with their delivery status.


        Required RBAC Policy:

        kots/app/{app_id}/enterprise-portal/email-history/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: List email history for the enterprise portal
      operationId: listEnterprisePortalEmailHistory
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        description: Filter by email type (login, invite, version_update)
        name: EmailType
        in: query
      - type: string
        description: Filter by status (sent, delivered, bounced, spam_complaint)
        name: Status
        in: query
      - type: string
        description: Filter by customer ID
        name: CustomerID
        in: query
      - type: integer
        format: int64
        default: 25
        name: Limit
        in: query
      - type: integer
        format: int64
        default: 0
        name: Offset
        in: query
      responses:
        '200':
          $ref: '#/responses/listEnterprisePortalEmailHistoryResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/failed-login-attempts:
    get:
      security:
      - api_key: []
      description: 'List failed login attempts for the enterprise portal users.



        Required RBAC Policy: kots/app/[:appid]/enterprise-portal/failed-login-attempts/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: List failed login attempts
      operationId: listFailedLoginAttempts
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: integer
        format: int64
        description: Maximum number of results to return
        name: Limit
        in: query
      - type: integer
        format: int64
        description: Number of results to skip
        name: Offset
        in: query
      - type: string
        description: Filter by email address
        name: FilterEmail
        in: query
      - type: string
        description: Sort field
        name: Sort
        in: query
      - type: string
        description: Sort order (asc or desc)
        name: Order
        in: query
      responses:
        '200':
          $ref: '#/responses/listFailedLoginAttemptsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/features:
    get:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/[:appid]/read'
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Get Enterprise Portal feature settings for an app
      operationId: getPortalFeatures
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      responses:
        '200':
          $ref: '#/responses/getPortalFeaturesResponse'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
    put:
      security:
      - api_key: []
      description: 'Required RBAC Policy: kots/app/[:appid]/update'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Update Enterprise Portal feature settings for an app
      operationId: updatePortalFeatures
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - name: Body
        in: body
        schema:
          type: object
          properties:
            askAiEnabled:
              description: Whether the Ask AI assistant should be enabled in the Enterprise Portal.
              type: boolean
              x-go-name: AskAiEnabled
            supportBundleUploadEnabled:
              description: Whether support bundle upload should be enabled in the Enterprise Portal.
              type: boolean
              x-go-name: SupportBundleUploadEnabled
      responses:
        '200':
          $ref: '#/responses/getPortalFeaturesResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/install-attempts:
    get:
      security:
      - api_key: []
      - Required RBAC Policy: []
      description: List install attempts for a customer or all customers in the app.
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: List installation attempts for the enterprise portal
      operationId: listInstallAttempts
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: string
        description: Filter by a specific customer ID
        name: FilterCustomerID
        in: query
      - type: string
        description: Filter by a specific instance ID
        name: FilterInstanceID
        in: query
      - type: integer
        format: int64
        description: Maximum number of results to return
        name: Limit
        in: query
      - type: integer
        format: int64
        description: Number of results to skip
        name: Offset
        in: query
      - type: string
        description: Filter by status
        name: FilterStatus
        in: query
      responses:
        '200':
          $ref: '#/responses/listInstallAttemptsResponse'
        '400':
          $ref: '#/responses/responseErrBadRequest'
        '401':
          $ref: '#/responses/responseErrUnauthorized'
        '403':
          $ref: '#/responses/responseErrForbidden'
        '404':
          $ref: '#/responses/responseErrNotFound'
  /app/{app_id}/enterprise-portal/install-options:
    post:
      security:
      - api_key: []
      - Required RBAC Policy: []
      description: 'Create an installation options record for a customer describing the installation configuration. Automatically creating

        a service account for the installation that can be used to perform the actual installation.

        Optionally include generated install instructions by setting the includeInstructions query parameter to true.'
      consumes:
      - application/json
      produces:
      - application/json
      schemes:
      - https
      tags:
      - enterprisePortal
      summary: Create an installation options record
      operationId: createInstallOptions
      parameters:
      - type: string
        x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
      - type: boolean
        x-go-name: WithInstructions
        description: Whether to include install instructions in the response
        name: includeInstructions
        in: query
      - description: JSON input
        name: Body
        in: body
        required: true
        schema:
          type: object
          required:
          - customer_id
          - install_type
          - instance_name
          - network_availability
          - channel_id
          - channel_release_sequence
          properties:
            admin_console_url:
              description: URL for the admin console, used for updates
              type: string
              x-go-name: AdminConsoleURL
            channel_id:
              description: Channel ID to use for the installation
              type: string
              x-go-name: ChannelID
            channel_release_sequence:
              description: Channel release sequence number to use for the installation
              type: integer
              format: int64
              x-go-name: ChannelReleaseSequence
            custome

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