Replicated customers API

The customers API from Replicated — 11 operation(s) for customers.

Operations 14

GET /app/{app_id}/customer/{customer_id}/license-download Download a customer license file as YAML. #
GET /app/{app_id}/customers List customers for an app. #
GET /app/{app_id}/enterprise-portal/trials List all trial signups for an app. #
POST /customer Create a KOTS customer. #
GET /customer-entitlements/{customer_id} Get customer entitlements. #
GET /customer/{customer_id} Get a customer. #
PUT /customer/{customer_id} Update a customer. #
DELETE /customer/{customer_id} Delete a customer. #
PATCH /customer/{customer_id} Patch a customer. #
POST /customer/{customer_id}/airgap/password Regenerate the airgap password used to access the customer's download portal. #
POST /customer/{customer_id}/archive Archive a customer. #
POST /customer/{customer_id}/unarchive Unarchive a customer. #
GET /customers List all customers. #
POST /customers/search Search all customers for a given team context. #

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-customers-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-customers-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 Customers 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: customers
paths:
  /app/{app_id}/customer/{customer_id}/license-download:
    get:
      security:
      - api_key: []
      description: 'Retrieve the license for a specific customer and app, returning it as a YAML file suitable for use with KOTS installations.

        The license includes all entitlements and metadata required for installation and updates.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/read'
      tags:
      - customers
      summary: Download a customer license file as YAML.
      operationId: downloadLicense
      parameters:
      - x-go-name: AppID
        description: App identifier
        name: app_id
        in: path
        required: true
        schema:
          type: string
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/downloadLicenseResponse'
        '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}/customers:
    get:
      security:
      - api_key: []
      description: 'Return a paginated list of customers for a specific app, with optional filtering by name, test status, and expiration.

        Includes customer metadata and instance information.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/read'
      tags:
      - customers
      summary: List customers for an app.
      operationId: listAppCustomers
      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: SortColumn
        description: Sort column
        name: sortColumn
        in: query
        schema:
          type: string
      - x-go-name: SortDesc
        description: Sort descending
        name: sortDesc
        in: query
        schema:
          type: boolean
      - x-go-name: CustomerName
        description: filter by customer name
        name: customerName
        in: query
        schema:
          type: string
      - name: IncludeTest
        in: query
        schema:
          type: boolean
      - name: ExpiresBefore
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          $ref: '#/components/responses/listCustomersResponse'
        '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}/enterprise-portal/trials:
    get:
      security:
      - api_key: []
      description: 'Return a paginated list of trial signups for a specific app,

        with email, company, and status information.


        Required RBAC Policy: kots/app/[:appid]/license/*/read'
      tags:
      - customers
      summary: List all trial signups for an app.
      operationId: listPendingTrials
      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: SortColumn
        description: Sort column
        name: sortColumn
        in: query
        schema:
          type: string
      - x-go-name: SortDesc
        description: Sort descending
        name: sortDesc
        in: query
        schema:
          type: boolean
      - description: 'Filter for verification status: "true" for verified, "false" for unverified, omit for all'
        name: Verified
        in: query
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/listPendingTrialsResponse'
        '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
  /customer:
    post:
      security:
      - api_key: []
      description: 'Create a new customer and license for a specified app, with options for channel assignment, license type, expiration, and feature flags.

        The created customer will be available for management and download.


        Required RBAC Policy: kots/app/[:appid]/license/create'
      tags:
      - customers
      summary: Create a KOTS customer.
      operationId: createCustomer
      responses:
        '201':
          $ref: '#/components/responses/getCustomerResponse'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
        '401':
          $ref: '#/components/responses/responseErrUnauthorized'
        '403':
          $ref: '#/components/responses/responseErrForbidden'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - app_id
              properties:
                app_id:
                  description: App to which the customer is associated.
                  type: string
                  x-go-name: AppID
                channel_id:
                  description: Channel to which the customer license is associated. This is the default channel for the customer.
                  type: string
                  x-go-name: ChannelID
                custom_id:
                  description: Custom ID that can be used in external systems.
                  type: string
                  x-go-name: CustomID
                email:
                  description: Email address of the customer that is to be created
                  type: string
                  x-go-name: Email
                entitlementValues:
                  type: array
                  items:
                    $ref: '#/components/schemas/EntitlementValue'
                  x-go-name: EntitlementValues
                expires_at:
                  type: string
                  x-go-name: ExpiresAtStr
                is_airgap_enabled:
                  type: boolean
                  x-go-name: IsAirgapEnabled
                is_dev_mode_enabled:
                  type: boolean
                  x-go-name: IsDevModeEnabled
                is_disaster_recovery_supported:
                  type: boolean
                  x-go-name: IsDisasterRecoverySupported
                is_embedded_cluster_download_enabled:
                  type: boolean
                  x-go-name: IsEmbeddedClusterDownloadEnabled
                is_embedded_cluster_multinode_enabled:
                  type: boolean
                  x-go-name: IsEmbeddedClusterMultiNodeEnabled
                is_geoaxis_supported:
                  type: boolean
                  x-go-name: IsGeoaxisSupported
                is_gitops_supported:
                  type: boolean
                  x-go-name: IsGitopsSupported
                is_helm_airgap_enabled:
                  type: boolean
                  x-go-name: IsHelmAirgapEnabled
                is_helm_install_enabled:
                  type: boolean
                  x-go-name: IsHelmInstallEnabled
                is_identity_service_supported:
                  type: boolean
                  x-go-name: IsIdentityServiceSupported
                is_installer_support_enabled:
                  type: boolean
                  x-go-name: IsInstallerSupportEnabled
                is_kots_install_enabled:
                  type: boolean
                  x-go-name: IsKotsInstallEnabled
                is_kurl_install_enabled:
                  type: boolean
                  x-go-name: IsKurlInstallEnabled
                is_snapshot_supported:
                  type: boolean
                  x-go-name: IsSnapshotSupported
                is_support_bundle_upload_enabled:
                  type: boolean
                  x-go-name: IsSupportBundleUploadEnabled
                name:
                  description: Name of the customer that is to be created.
                  type: string
                  x-go-name: Name
                saml_allowed:
                  description: 'SAML configuration - vendors can enable/disable SAML for customers

                    Customers configure their IdP details via market-api'
                  type: boolean
                  x-go-name: SamlAllowed
                type:
                  $ref: '#/components/schemas/LicenseType'
        description: Customer create parameters.
  /customer-entitlements/{customer_id}:
    get:
      security:
      - api_key: []
      description: 'Retrieve the entitlement values for a specific customer and app, including all custom and default entitlements assigned to the customer.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/read'
      tags:
      - customers
      summary: Get customer entitlements.
      operationId: getCustomerEntitlements
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/getCustomerEntitlementsResponse'
        '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
  /customer/{customer_id}:
    get:
      security:
      - api_key: []
      description: 'Retrieve the details of a specific customer, including metadata, license, and instance information.

        Optionally, channel details can be excluded from the response.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/read'
      tags:
      - customers
      summary: Get a customer.
      operationId: getCustomer
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/getCustomerResponse'
        '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 details, license, and channel assignments for an existing customer.

        Supports changing metadata, license type, expiration, entitlements, and feature flags.

        Parameters that are not provided are reset to default values.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/update'
      tags:
      - customers
      summary: Update a customer.
      operationId: updateCustomer
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/getCustomerResponse'
        '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
              required:
              - name
              - app_id
              properties:
                app_id:
                  description: App to which the channel is associated.
                  type: string
                  x-go-name: AppID
                channel_id:
                  description: The channel id to which the customer is associated. This is the default channel for the customer.
                  type: string
                  x-go-name: ChannelID
                custom_id:
                  description: Custom ID that can be used in external systems.
                  type: string
                  x-go-name: CustomID
                email:
                  description: Email of the customer that is to be updated
                  type: string
                  x-go-name: Email
                entitlementValues:
                  description: Applies only to the currently selected app
                  type: array
                  items:
                    $ref: '#/components/schemas/EntitlementValue'
                  x-go-name: EntitlementValues
                expires_at:
                  description: Format is YYYY-MM-DD, e.g. 2021-02-24
                  type: string
                  x-go-name: ExpiresAtStr
                is_airgap_enabled:
                  type: boolean
                  x-go-name: IsAirgapEnabled
                is_dev_mode_enabled:
                  type: boolean
                  x-go-name: IsDevModeEnabled
                is_disaster_recovery_supported:
                  type: boolean
                  x-go-name: IsDisasterRecoverySupported
                is_embedded_cluster_download_enabled:
                  type: boolean
                  x-go-name: IsEmbeddedClusterDownloadEnabled
                is_embedded_cluster_multinode_enabled:
                  type: boolean
                  x-go-name: IsEmbeddedClusterMultiNodeEnabled
                is_enterprise_portal_enabled:
                  type: boolean
                  x-go-name: IsEnterprisePortalEnabled
                is_geoaxis_supported:
                  type: boolean
                  x-go-name: IsGeoaxisSupported
                is_gitops_supported:
                  type: boolean
                  x-go-name: IsGitopsSupported
                is_helm_airgap_enabled:
                  type: boolean
                  x-go-name: IsHelmAirgapEnabled
                is_helm_install_enabled:
                  type: boolean
                  x-go-name: IsHelmInstallEnabled
                is_identity_service_supported:
                  type: boolean
                  x-go-name: IsIdentityServiceSupported
                is_kots_install_enabled:
                  type: boolean
                  x-go-name: IsKotsInstallEnabled
                is_kurl_install_enabled:
                  type: boolean
                  x-go-name: IsKurlInstallEnabled
                is_snapshot_supported:
                  type: boolean
                  x-go-name: IsSnapshotSupported
                is_support_bundle_upload_enabled:
                  type: boolean
                  x-go-name: IsSupportBundleUploadEnabled
                name:
                  description: Name of the customer that is to be updated.
                  type: string
                  x-go-name: Name
                saml_allowed:
                  description: 'SAML configuration - vendors can enable/disable SAML for customers

                    Customers configure their IdP details via market-api'
                  type: boolean
                  x-go-name: SamlAllowed
                type:
                  $ref: '#/components/schemas/LicenseType'
        description: Update customer parameters.
    delete:
      security:
      - api_key: []
      description: 'Permanently delete a customer, removing all their data including licenses and access to associated resources.

        This action is irreversible. For temporary deactivation, use the archive endpoint instead.


        Safety Restriction: Only development customers (type: "dev") can be deleted.

        Attempting to delete customers of other types (prod, trial, community, test) will return a 400 Bad Request error.


        Required RBAC Policy: kots/license/[:customerid]/delete

        and kots/app/[:appid]/license/[:customerid]/delete'
      tags:
      - customers
      summary: Delete a customer.
      operationId: deleteCustomer
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          $ref: '#/components/responses/responseNoContent'
        '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
    patch:
      security:
      - api_key: []
      description: 'Apply partial updates to a customer''s details, license, channels, and entitlements.

        Only the fields provided in the request body will be updated.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/update'
      tags:
      - customers
      summary: Patch a customer.
      operationId: patchCustomer
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/getCustomerResponse'
        '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:
                add_channels:
                  description: Channels this customer will be assigned to.
                  type: array
                  items:
                    $ref: '#/components/schemas/CustomerChannel'
                  x-go-name: AddChannels
                add_entitlements:
                  description: List of entitlements to add for the customer.
                  type: array
                  items:
                    $ref: '#/components/schemas/CustomerEntitlement'
                  x-go-name: AddEntitlements
                custom_id:
                  description: Custom ID that can be used in external systems.
                  type: string
                  x-go-name: CustomID
                email:
                  description: Email of the customer that is to be updated
                  type: string
                  x-go-name: Email
                expires_at:
                  description: Format is YYYY-MM-DD, e.g. 2021-02-24
                  type: string
                  x-go-name: ExpiresAtStr
                is_airgap_enabled:
                  type: boolean
                  x-go-name: IsAirgapEnabled
                is_dev_mode_enabled:
                  type: boolean
                  x-go-name: IsDevModeEnabled
                is_disaster_recovery_supported:
                  type: boolean
                  x-go-name: IsDisasterRecoverySupported
                is_embedded_cluster_download_enabled:
                  type: boolean
                  x-go-name: IsEmbeddedClusterDownloadEnabled
                is_embedded_cluster_multinode_enabled:
                  type: boolean
                  x-go-name: IsEmbeddedClusterMultiNodeEnabled
                is_enterprise_portal_enabled:
                  type: boolean
                  x-go-name: IsEnterprisePortalEnabled
                is_geoaxis_supported:
                  type: boolean
                  x-go-name: IsGeoaxisSupported
                is_gitops_supported:
                  type: boolean
                  x-go-name: IsGitopsSupported
                is_helm_airgap_enabled:
                  type: boolean
                  x-go-name: IsHelmAirgapEnabled
                is_helm_install_enabled:
                  type: boolean
                  x-go-name: IsHelmInstallEnabled
                is_identity_service_supported:
                  type: boolean
                  x-go-name: IsIdentityServiceSupported
                is_kots_install_enabled:
                  type: boolean
                  x-go-name: IsKotsInstallEnabled
                is_kurl_install_enabled:
                  type: boolean
                  x-go-name: IsKurlInstallEnabled
                is_security_center_enabled:
                  type: boolean
                  x-go-name: IsSecurityCenterEnabled
                is_snapshot_supported:
                  type: boolean
                  x-go-name: IsSnapshotSupported
                is_support_bundle_upload_enabled:
                  type: boolean
                  x-go-name: IsSupportBundleUploadEnabled
                name:
                  description: Name of the customer that is to be updated.
                  type: string
                  x-go-name: Name
                remove_channels:
                  description: Channels this customer will be removed from.
                  type: array
                  items:
                    type: string
                  x-go-name: RemoveChannels
                remove_entitlements:
                  description: List of entitlement names to remove from the customer. Default values will be used.
                  type: array
                  items:
                    type: string
                  x-go-name: RemoveEntitlements
                remove_expires_at:
                  type: boolean
                  x-go-name: RemoveExpiresAt
                saml_allowed:
                  description: SAML configuration - vendors can enable/disable SAML for customers
                  type: boolean
                  x-go-name: SamlAllowed
                type:
                  $ref: '#/components/schemas/LicenseType'
        description: Patch customer parameters.
  /customer/{customer_id}/airgap/password:
    post:
      security:
      - api_key: []
      description: 'Generate a new password (or set a provided one) for accessing the customer''s airgap download portal.


        Required RBAC Policy: kots/license/[:licenseid]/airgap/password'
      tags:
      - customers
      summary: Regenerate the airgap password used to access the customer's download portal.
      operationId: postAirgapPassword
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/postAirgapPasswordResponse'
        '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:
                password:
                  type: string
                  x-go-name: Password
  /customer/{customer_id}/archive:
    post:
      security:
      - api_key: []
      description: 'Deactivate a customer, revoking their license and access to associated resources.

        Useful for offboarding or suspending customers without deleting their data.


        Required RBAC Policy: kots/license/[:customerid]/archive

        and kots/app/[:appid]/license/[:customerid]/archive'
      tags:
      - customers
      summary: Archive a customer.
      operationId: archiveCustomer
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          $ref: '#/components/responses/responseNoContent'
        '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
  /customer/{customer_id}/unarchive:
    post:
      security:
      - api_key: []
      description: 'Restore a previously archived customer, making their license and associated data active again.

        Useful for re-enabling access for customers who were previously deactivated.


        Required RBAC Policy: kots/license/[:customerid]/unarchive

        and kots/app/[:appid]/license/[:customerid]/unarchive'
      tags:
      - customers
      summary: Unarchive a customer.
      operationId: unarchiveCustomer
      parameters:
      - x-go-name: CustomerID
        description: Customer identifier
        name: customer_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          $ref: '#/components/responses/responseNoContent'
        '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
  /customers:
    get:
      security:
      - api_key: []
      description: 'Return a paginated list of all customers accessible to the team, with optional filtering and sorting.

        Includes metadata and license information for each customer.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/read'
      tags:
      - customers
      summary: List all customers.
      operationId: listCustomers
      parameters:
      - 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: SortColumn
        description: Sort column
        name: sortColumn
        in: query
        schema:
          type: string
      - x-go-name: SortDesc
        description: Sort descending
        name: sortDesc
        in: query
        schema:
          type: boolean
      - name: IncludeTest
        in: query
        schema:
          type: boolean
      - name: ExpiresBefore
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          $ref: '#/components/responses/listCustomersResponse'
        '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
  /customers/search:
    post:
      security:
      - api_key: []
      description: 'Search for customers within a team using flexible query parameters, including name, type, channel, and status.

        Supports pagination, sorting, and filtering by customer attributes.


        Required RBAC Policy: kots/app/[:appid]/license/[:licenseid]/read'
      tags:
      - customers
      summary: Search all customers for a given team context.
      operationId: searchTeamCustomers
      responses:
        '200':
          $ref: '#/components/responses/searchTeamCustomersResponse'
        '400':
          $ref: '#/components/responses/responseErrBadRequest'
      servers:
      - url: https://api.replicated.com/vendor/v3
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                adoption_rate_filter:
                  type: string
                  x-go-name: AdoptionRateFilter
                app_id:
                  description: The app id to limit search. If not provided, customers for all apps will be searched.
                  type: string
                  x-go-name: AppID
                channel_names:
                  description: Restrict search to customers in the specified channels.
                  type: array
                  items:
                    type: string
                  x-go-name: ChannelNames
                expires_before:
                  type: string
                  format: date-time
                  x-go-name: ExpiresBefore
                include_active:
                  description: When set to true, active customers will be included in the search results. Default is false.
                  type: boolean
                  x-go-name: IncludeActive
                include_archived:
                  description: When set to true, archived customers will be included in the search results. Default is false.
                  type: boolean
                  x-go-name: IncludeArchived
                include_community:
                  description: When set to true, community customers will be included in the search results. Default is false.
                  type: boolean
                  x-go-name: IncludeCommunity
                include_dev:
                  description: When set to true, dev customers will be included in the search results. Default is false.
                  type: boolean
                  x-go-name: IncludeDev
                include_inactive:
                  description: When set to true, inactive customers will be included in the search results. Default is false.
                  type: boolean
                  x-go-name: IncludeInactive
                include_paid:
                  description: When set to true, paid customers will be included in the search results. Default is false.
                  type: boole

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