Kubeshop Organizations API

The Organizations API from Kubeshop — 104 operation(s) for organizations.

OpenAPI Specification

kubeshop-organizations-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Testkube Standalone Agent api Organizations API
  description: API for Testkube Standalone Agent
  contact:
    email: info@testkube.io
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.0.0
servers:
- url: https://api.testkube.io
  description: Testkube Cloud Control Plane API Endpoint
- url: https://<your-testkube-api-host>
  description: Testkube On-Prem API Endpoint
tags:
- name: Organizations
paths:
  /organizations:
    get:
      summary: List organizations
      description: List organizations
      operationId: listOrganizations
      parameters:
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          $ref: '#/components/responses/Organizations'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    post:
      summary: Create new organization
      description: Create organization
      operationId: createOrganization
      requestBody:
        $ref: '#/components/requestBodies/Organization'
      responses:
        '200':
          $ref: '#/components/responses/Organization'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}:
    parameters:
    - $ref: '#/components/parameters/ID'
    get:
      summary: Get organization by ID
      description: Get organization by ID
      operationId: getOrganization
      responses:
        '200':
          description: get organization response body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Delete organization
      description: Deletes organization
      operationId: deleteOrganization
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    patch:
      summary: Update organization
      description: Update organization with given request body
      operationId: updateOrganization
      requestBody:
        $ref: '#/components/requestBodies/Organization'
      responses:
        '200':
          $ref: '#/components/responses/Organization'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/agents:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/EnvironmentIDQP'
    - $ref: '#/components/parameters/AgentCapabilityQP'
    - $ref: '#/components/parameters/Limit'
    - $ref: '#/components/parameters/Offset'
    - $ref: '#/components/parameters/Page'
    - $ref: '#/components/parameters/PageSize'
    - $ref: '#/components/parameters/IncludeDeleted'
    get:
      summary: List agents used in the organization
      description: List agents used in the organization.
      operationId: listAgents
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  elements:
                    type: array
                    items:
                      $ref: '#/components/schemas/Agent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    post:
      summary: Create a new agent in the organization
      description: Create a new agent in the organization.
      operationId: createAgent
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 40
                  pattern: ^[a-z0-9]([a-z0-9-.]*[a-z0-9])?$
                labels:
                  type: object
                  additionalProperties:
                    type: string
                environments:
                  description: Environment IDs where the agent is restricted to.
                  type: array
                  items:
                    type: string
                capabilities:
                  description: Capabilities enabled for this agent.
                  type: array
                  items:
                    $ref: '#/components/schemas/AgentCapability'
                runnerPolicy:
                  $ref: '#/components/schemas/AgentRunnerPolicy'
                floating:
                  type: boolean
              required:
              - name
              - environments
        required: true
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Agent'
                - type: object
                  properties:
                    secretKey:
                      type: string
                  required:
                  - secretKey
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/agents/{agentID}:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/AgentName'
    - $ref: '#/components/parameters/IncludeDeleted'
    get:
      summary: Get agent from the organization
      description: Get agent from the organization.
      operationId: getAgent
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Delete agent in the organization
      description: Delete agent in the organization.
      operationId: deleteAgent
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    patch:
      summary: Update agent data in the organization
      description: Update agent data in the organization.
      operationId: updateAgent
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                runnerPolicy:
                  type: object
                  properties:
                    requiredMatch:
                      type: array
                      items:
                        type: string
                labels:
                  type: object
                  additionalProperties:
                    type: string
                disabled:
                  type: boolean
                environments:
                  description: Environment IDs where the agent is restricted to.
                  type: array
                  items:
                    type: string
        required: true
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/agents/{agentID}/commands:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/AgentName'
    get:
      summary: '[internal] Get commands for this super agent'
      description: Get commands for this super agent. This endpoint is deprecated and will be removed in the near future.
      operationId: getSuperAgentCommands
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuperAgentCommands'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/agents/{agentID}/secret-key:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/AgentName'
    get:
      summary: Get the secret key for selected agent.
      description: Get the secret key for selected agent.
      operationId: getAgentSecretKey
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  secretKey:
                    type: string
                required:
                - secretKey
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Regenerate the secret key for selected agent.
      description: Regenerate the secret key for selected agent.
      operationId: regenerateAgentSecretKey
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  secretKey:
                    type: string
                required:
                - secretKey
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/audit:
    get:
      summary: Retrieve a list of application audit logs
      description: 'Fetch a paginated list of audit logs detailing actions performed on application resources.

        This includes actions such as resource creation, updates, and deletions, along with metadata

        about the entities involved and the context in which the actions occurred.


        The logs provide visibility into operations for auditing and compliance purposes,

        and may be filtered or limited by the parameters provided.

        '
      operationId: listApplicationAuditLogs
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/EnvironmentIDQP'
      - $ref: '#/components/parameters/StartDateTime'
      - $ref: '#/components/parameters/EndDateTime'
      - $ref: '#/components/parameters/Subject'
      - $ref: '#/components/parameters/EventType'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          $ref: '#/components/responses/PaginatedApplicationAuditLog'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/audit/export:
    get:
      summary: Download an export of application audit logs
      description: 'Download an export of application audit logs in a structured format, such as CSV or JSON,

        for the specified organization. The export includes detailed information about actions

        performed on application resources, including the entities involved, the context in which

        the actions occurred, and metadata about the operations.


        The export provides a comprehensive record of operations for auditing and compliance purposes,

        and can be used to analyze and visualize the history of changes to application resources.

        '
      operationId: exportApplicationAuditLog
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/EnvironmentIDQP'
      - $ref: '#/components/parameters/StartDateTime'
      - $ref: '#/components/parameters/EndDateTime'
      - $ref: '#/components/parameters/Subject'
      - $ref: '#/components/parameters/EventType'
      - $ref: '#/components/parameters/ExportFormat'
      responses:
        '200':
          $ref: '#/components/responses/ExportedApplicationAuditLog'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/audit/filters/subject:
    get:
      summary: Returns a list of distinct values for the subject filter.
      description: 'Returns a list of distinct values for the subject filter based on the provided query parameters.

        The subject filter is used to filter audit logs based on the entity that performed the action,

        such as a user, API token... This endpoint provides a list of distinct

        subjects that can be used to filter audit logs by the entity that performed the action.

        '
      operationId: getAuditLogSubjectFilterValues
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/EnvironmentIDQP'
      - $ref: '#/components/parameters/StartDateTime'
      - $ref: '#/components/parameters/EndDateTime'
      - $ref: '#/components/parameters/EventType'
      responses:
        '200':
          $ref: '#/components/responses/AuditLogSubjectFilterValues'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/audit/keymap:
    get:
      summary: Retrieve a keymap of application audit log types
      description: 'Retrieve a keymap that provides mappings of various audit log attributes, such as event types,

        actions, entity types, and sources, for the specified organization.


        This keymap helps interpret the structure and meaning of audit logs by mapping internal identifiers

        to their corresponding human-readable descriptions. It can be used to facilitate the analysis and

        display of audit logs by providing context for different events, actions, and entities involved in the

        logged operations.

        '
      operationId: getApplicationAuditLogKeymap
      parameters:
      - $ref: '#/components/parameters/ID'
      responses:
        '200':
          $ref: '#/components/responses/ApplicationAuditLogKeymap'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/boards:
    parameters:
    - $ref: '#/components/parameters/ID'
    get:
      summary: List board summaries
      description: Lists the summaries of the boards in your organization.
      operationId: listBoards
      parameters:
      - name: name
        in: query
        description: Filter boards by name (case-insensitive substring match)
        schema:
          type: string
      - name: private
        in: query
        description: Return only private boards owned by the current user.
        schema:
          type: boolean
      - name: shared
        in: query
        description: Return only shared organization boards.
        schema:
          type: boolean
      - name: userFavorite
        in: query
        description: Return only boards favorited by the current user.
        schema:
          type: boolean
      - name: orgFavorite
        in: query
        description: Return only boards favorited at the organization level.
        schema:
          type: boolean
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Response
          headers:
            Link:
              $ref: '#/components/headers/link'
            Total-Count:
              $ref: '#/components/headers/total-count'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BoardSummary'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    post:
      summary: Create a board
      description: Creates a board.
      operationId: createBoard
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: The display name of the new board
                  type: string
                slug:
                  description: The slug of the new board
                  type: string
                description:
                  description: The description of the new board
                  type: string
                isPrivate:
                  description: When true, the board is only visible to the creator.
                  type: boolean
                  default: false
              required:
              - name
        required: true
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Board'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/boards/{boardID}:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/BoardID'
    get:
      summary: Get a board
      description: Get a board by its `id` or `slug`.
      operationId: getBoard
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Board'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Delete a board
      description: Deletes a board.
      operationId: deleteBoard
      responses:
        '204':
          description: Delete Success
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    patch:
      summary: Update a board
      description: Updates a board's details, content or layout.
      operationId: updateBoard
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: The new display name of this board.
                  type: string
                description:
                  description: The new description of this board.
                  type: string
                slug:
                  description: The new slug of this board.
                  type: string
                isPrivate:
                  description: When set, toggles whether the board is private to the current user or shared with the organization.
                  type: boolean
                layout: {}
                content:
                  description: A patch for the content of this board.
                  type: object
                  properties:
                    action:
                      type: string
                      enum:
                      - create
                      - update
                      - delete
                    content_kind:
                      type: string
                    content_id:
                      type: string
                    content_data: {}
                  required:
                  - action
                  - content_kind
        required: true
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Board'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/boards/shared-order:
    parameters:
    - $ref: '#/components/parameters/ID'
    patch:
      summary: Reorder shared boards
      description: Sets the sidebar navigation order for shared organization boards. Requires organization admin.
      operationId: reorderSharedBoards
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderSharedBoardsReq'
        required: true
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/credentials:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/EnvironmentIDQP'
    get:
      summary: List credentials used in the organization
      description: List credentials used in the organization.
      operationId: listCredentials
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  elements:
                    type: array
                    items:
                      $ref: '#/components/schemas/Credential'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    post:
      summary: Create a new credential in the organization
      description: Create a new credential in the organization.
      operationId: createCredential
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: The identifier for the credential.
                  type: string
                type:
                  description: The type of credential (secret, variable, vault, or vault_ref). Defaults to secret if not specified.
                  type: string
                  enum:
                  - secret
                  - variable
                  - vault
                  - vault_ref
                base64:
                  description: Base64-encoded value for the credential.
                  type: string
                environmentId:
                  description: Environment ID where the credential is restricted to.
                  type: string
                workflowName:
                  description: Workflow Name where the credential is restricted to.
                  type: string
                source:
                  description: The source that created this credential (e.g. 'ai-agent').
                  type: string
                  maxLength: 50
              required:
              - name
        required: true
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Credential'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          $ref: '#/components/responses/Conflict'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/credentials/{credentialName}:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/CredentialName'
    get:
      summary: Get credential in the organization
      description: Get credential details. Variables will include their decrypted value, secrets will not.
      operationId: getCredential
      responses:
        '200':
          $ref: '#/components/responses/Credential'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Delete credential in the organization
      description: Delete credential in the organization.
      operationId: deleteCredential
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    patch:
      summary: Update value of the credential in the organization
      description: Update value of the credential in the organization.
      operationId: updateCredential
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                base64:
                  description: Base64-encoded value for the credential.
                  type: string
              required:
              - base64
        required: true
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/environments:
    parameters:
    - $ref: '#/components/parameters/ID'
    get:
      summary: List environments
      description: List environments from the active organization
      operationId: listEnvironments
      parameters:
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          $ref: '#/components/responses/Environments'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    post:
      summary: Create new environment
      description: Create test environment
      operationId: createEnvironment
      requestBody:
        $ref: '#/components/requestBodies/Environment'
      responses:
        '200':
          $ref: '#/components/responses/Environment'
        '400':
          $ref: '#/components/responses/BadRequestError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Delete environments
      description: Deletes all or labeled environments
      operationId: deleteEnvironments
      parameters:
      - $ref: '#/components/parameters/Name'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/environments/{environmentID}:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/EnvironmentID'
    get:
      summary: Get environment by ID
      description: Get test environment by ID from CRD in kubernetes cluster
      operationId: getEnvironment
      responses:
        '200':
          $ref: '#/components/responses/Environment'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    delete:
      summary: Delete test environment
      description: Deletes a test environment
      operationId: deleteEnvironment
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
    patch:
      summary: Update environment
      description: Update environment with given request body
      operationId: updateEnvironment
      requestBody:
        $ref: '#/components/requestBodies/Environment'
      responses:
        '200':
          $ref: '#/components/responses/Environment'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - BearerAuth: []
      tags:
      - Organizations
  /organizations/{id}/environments/{environmentID}/collaborators:
    parameters:
    - $ref: '#/components/parameters/ID'
    - $ref: '#/components/parameters/EnvironmentID'
    get:
      summary: Lists all collaborators for this environment
      description: Lists all collaborators for this environment.
      operationId: listEnvironmentCollaborators
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Collaborator'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/respons

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