openapi: 3.0.1
paths:
  /artifacts:
    get:
      tags:
      - Artifacts
      summary: Gets all artifacts.
      operationId: getAll
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: sha256
        in: query
        description: Filter by sha256 of the artifact.
        schema:
          type: string
      - name: md5
        in: query
        description: Filter by md5 of the artifact.
        schema:
          type: string
      - name: sha1
        in: query
        description: Filter by sha1 of the artifact.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - internal
      - Artifacts
      summary: '[role:admin] Creates a new Artifact.'
      operationId: create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Artifact'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Artifact'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /artifacts/{id}:
    get:
      tags:
      - Artifacts
      summary: Gets a specific build config.
      operationId: getSpecific
      parameters:
      - name: id
        in: path
        description: ID of the Artifact
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Artifact'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - internal
      - Artifacts
      summary: '[role:admin] Updates an existing Artifact'
      operationId: update
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Artifact'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /artifacts/{id}/artifacts/quality:
    post:
      tags:
      - Artifacts
      summary: Add a new quality level revision for this artifact. Accepted values
        from standard users are NEW, VERIFIED, TESTED, DEPRECATED. Users with system-user
        role can also specify BLACKLISTED and DELETED quality levels.
      operationId: createQualityLevelRevision
      parameters:
      - name: id
        in: path
        description: ID of the artifact
        required: true
        schema:
          type: string
      - name: quality
        in: query
        description: Quality level of the artifact.
        required: true
        schema:
          type: string
      - name: reason
        in: query
        description: The reason for adding a new quality level for this artifact.
        required: true
        schema:
          type: string
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactRevision'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /artifacts/{id}/dependant-builds:
    get:
      tags:
      - Artifacts
      summary: Gets the build(s) that depends on this artifact.
      operationId: getDependantBuilds
      parameters:
      - name: id
        in: path
        description: ID of the artifact
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /artifacts/{id}/milestones:
    get:
      tags:
      - Artifacts
      summary: Gets the milestones that produced or consumed this artifact.
      operationId: getMilestonesInfo
      parameters:
      - name: id
        in: path
        description: ID of the artifact
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MilestoneInfoPage'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /artifacts/{id}/revisions:
    get:
      tags:
      - Artifacts
      summary: Gets audited revisions of this artifact.
      operationId: getRevisions
      parameters:
      - name: id
        in: path
        description: ID of the artifact
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactRevisionPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /artifacts/{id}/revisions/{rev}:
    get:
      tags:
      - Artifacts
      summary: Get specific audited revision of this artifact.
      operationId: getRevision
      parameters:
      - name: id
        in: path
        description: ID of the artifact
        required: true
        schema:
          type: string
      - name: rev
        in: path
        description: Revision number of the artifact
        required: true
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactRevision'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs:
    get:
      tags:
      - Build Configs
      summary: Gets all build configs.
      operationId: getAll_1
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Build Configs
      summary: Creates a new build config.
      operationId: createNew
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildConfiguration'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfiguration'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/create-with-scm:
    post:
      tags:
      - Build Configs
      summary: Starts a task of creating a new build config with a given SCM URL.
      description: The given SCM URL is automatically analyzed and if it's an external
        URL the content of the SCM repository is cloned into an internal repository.
      operationId: createWithSCM
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildConfigWithSCMRequest'
      responses:
        "202":
          description: Build Config is being created. The 'taskId' key has the id
            of the Maitai process instance creating the repository ('buildConfig'
            key is null)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigCreationResponse'
        "200":
          description: Build Config was created. The 'buildConfig' key is populated
            with the details of the Build Config ('taskId' key is null)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigCreationResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/default-alignment-parameters/{buildType}:
    get:
      tags:
      - Build Configs
      summary: Provides string of default alignment parameters.
      description: Provides default parameters for build config according to a build
        type chosen by a user.
      operationId: getBuildTypeDefaultAlignmentParameters
      parameters:
      - name: buildType
        in: path
        description: Build type specified in build config (MVN, NPM or GRADLE)
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlignmentParameters'
  /build-configs/supported-parameters:
    get:
      tags:
      - Build Configs
      summary: Provides list of supported parameters.
      description: Provides list of parameters supported by core, there can be also
        other parameters not known by core.
      operationId: getSupportedParameters
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Parameter'
  /build-configs/{id}:
    get:
      tags:
      - Build Configs
      summary: Gets a specific build config.
      operationId: getSpecific_1
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfiguration'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Build Configs
      summary: Updates an existing build config.
      operationId: update_1
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildConfiguration'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Build Configs
      summary: Patch a specific build config.
      operationId: patchSpecific
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/BuildConfiguration'
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfiguration'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/build:
    post:
      tags:
      - Build Configs
      summary: Triggers a build of a specific build config.
      operationId: trigger
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: temporaryBuild
        in: query
        description: Is it a temporary build or a standard build?
        schema:
          type: boolean
          default: false
      - name: rebuildMode
        in: query
        description: What should varant rebuild?
        schema:
          type: string
          default: IMPLICIT_DEPENDENCY_CHECK
          enum:
          - IMPLICIT_DEPENDENCY_CHECK
          - EXPLICIT_DEPENDENCY_CHECK
          - FORCE
      - name: buildDependencies
        in: query
        description: Should we build also dependencies of this Build Config?
        schema:
          type: boolean
          default: true
      - name: keepPodOnFailure
        in: query
        description: Should we keep the build container running, if the build fails?
        schema:
          type: boolean
          default: false
      - name: timestampAlignment
        in: query
        description: Should we add a timestamp during the alignment? Valid only for
          temporary builds.
        schema:
          type: boolean
          default: false
      responses:
        "202":
          description: Request was accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/builds:
    get:
      tags:
      - Build Configs
      summary: Get all builds associated with this build config.
      operationId: getBuilds
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/clone:
    post:
      tags:
      - Build Configs
      summary: Clones an existing build config.
      operationId: clone
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfiguration'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/dependants:
    get:
      tags:
      - Build Configs
      summary: Get the direct dependants of the specified build config.
      operationId: getDependants
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/dependencies:
    get:
      tags:
      - Build Configs
      summary: Get the direct dependencies of the specified build config.
      operationId: getDependencies
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Build Configs
      summary: Adds a dependency to the specified build config.
      operationId: addDependency
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      requestBody:
        description: Depenendency to be added to the build config. Only id is important.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildConfigurationRef'
      responses:
        "204":
          description: Success but no content provided
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/dependencies/{depId}:
    delete:
      tags:
      - Build Configs
      summary: Removes a dependency from the specified build config.
      operationId: removeDependency
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: depId
        in: path
        description: Depenendency to be removed from the build config. Only id is
          important.
        required: true
        schema:
          type: string
      responses:
        "204":
          description: Success but no content provided
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/group-configs:
    get:
      tags:
      - Build Configs
      summary: Gets group configs associated with the specified build config.
      operationId: getGroupConfigs
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/revisions:
    get:
      tags:
      - Build Configs
      summary: Gets audited revisions of this build config.
      operationId: getRevisions_1
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigRevisionPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Build Configs
      summary: Creates new build config revision.
      description: This endpoint can be used for updating build config while returning
        the new revision.
      operationId: createRevision
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildConfiguration'
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigurationRevision'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/revisions/{rev}:
    get:
      tags:
      - Build Configs
      summary: Get specific audited revision of this build config.
      operationId: getRevision_1
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: rev
        in: path
        description: Revision number of the build config
        required: true
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigurationRevision'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/revisions/{rev}/build:
    post:
      tags:
      - Build Configs
      summary: Triggers a build of a build config in a specific revision.
      operationId: triggerRevision
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: rev
        in: path
        description: Revision number of the build config
        required: true
        schema:
          type: integer
          format: int32
      - name: temporaryBuild
        in: query
        description: Is it a temporary build or a standard build?
        schema:
          type: boolean
          default: false
      - name: rebuildMode
        in: query
        description: What should varant rebuild?
        schema:
          type: string
          default: IMPLICIT_DEPENDENCY_CHECK
          enum:
          - IMPLICIT_DEPENDENCY_CHECK
          - EXPLICIT_DEPENDENCY_CHECK
          - FORCE
      - name: buildDependencies
        in: query
        description: Should we build also dependencies of this Build Config?
        schema:
          type: boolean
          default: true
      - name: keepPodOnFailure
        in: query
        description: Should we keep the build container running, if the build fails?
        schema:
          type: boolean
          default: false
      - name: timestampAlignment
        in: query
        description: Should we add a timestamp during the alignment? Valid only for
          temporary builds.
        schema:
          type: boolean
          default: false
      responses:
        "202":
          description: Request was accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /build-configs/{id}/revisions/{rev}/restore:
    post:
      tags:
      - Build Configs
      summary: Restores a build config to a specific audited revision
      operationId: restoreRevision
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: rev
        in: path
        description: Revision number of the build config
        required: true
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfiguration'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds:
    get:
      tags:
      - Builds
      summary: Gets all builds.
      description: 'Query by attribute: when the attributes are specified only the
        completed builds are searched. The query format is: attribute=KEY:VALUE&attribute=KEY2:VALUE2
        which translates to ''where KEY=VALUE AND KEY2=VALUE2'' To search for the
        records without certain key the key must be prefixed with ''!'': attribute=!KEY'
      operationId: getAll_2
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      - name: attribute
        in: query
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/count:
    get:
      tags:
      - Builds
      summary: 'Get count of running builds in their stages: running, waiting for
        dependencies, or enqueued'
      description: 'Get count of running builds in their stages: running, waiting
        for dependencies, or enqueued'
      operationId: getCount
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunningBuildCount'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/independent-temporary-older-than-timestamp:
    get:
      tags:
      - Builds
      summary: Returns a collection of temporary builds older than timestamp without
        implicit dependants (no Build depends on these)
      operationId: getAllIndependentTempBuildsOlderThanTimestamp
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: timestamp
        in: query
        description: Timestamp using Linux epoch in milliseconds
        schema:
          type: integer
          format: int64
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/ssh-credentials/{id}:
    get:
      tags:
      - Builds
      summary: Gets ssh credentials to log into the build pod.
      description: This GET requests require authentication
      operationId: getSshCredentials
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSHCredentials'
        "404":
          description: Can not find specified result
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/with-status-and-log:
    get:
      tags:
      - Builds
      summary: Gets the Builds by given status and with specific string in the build
        logs.
      operationId: getAllByStatusAndLogContaining
      parameters:
      - name: status
        in: query
        description: Status of the build
        schema:
          type: string
          enum:
          - SUCCESS
          - FAILED
          - NO_REBUILD_REQUIRED
          - ENQUEUED
          - WAITING_FOR_DEPENDENCIES
          - BUILDING
          - REJECTED
          - REJECTED_FAILED_DEPENDENCIES
          - CANCELLED
          - SYSTEM_ERROR
          - NEW
      - name: search
        in: query
        description: Log search string
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}:
    get:
      tags:
      - Builds
      summary: Gets specific build.
      operationId: getSpecific_2
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - internal
      - Builds
      summary: '[role:admin] Updates an existing build.'
      operationId: update_2
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Build'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - internal
      - Builds
      summary: '[role:admin] Delete a specific temporary build.'
      description: Operation is async. Once completed, a callback can be sent with
        a JSON body containing information about the operation completion using object
        org.jboss.pnc.dto.DeleteOperationResult
      operationId: delete
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      - name: callback
        in: query
        description: Optional Callback URL
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/artifacts/built:
    get:
      tags:
      - Builds
      summary: Gets artifacts built in a specific build.
      operationId: getBuiltArtifacts
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - internal
      - Builds
      summary: '[role:admin] Set built artifacts on the Build. Note that operation
        replaces existing collection!'
      operationId: setBuiltArtifacts
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      requestBody:
        description: List of artifact ids
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/artifacts/built/quality:
    post:
      tags:
      - Builds
      summary: Add a new quality level revision for the built artifacts of this build.
        Accepted values from standard users are NEW, VERIFIED, TESTED, DEPRECATED.
        Users with system-user role can also specify BLACKLISTED and DELETED quality
        levels.
      operationId: createBuiltArtifactsQualityLevelRevisions
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      - name: quality
        in: query
        description: Quality level of the artifact.
        required: true
        schema:
          type: string
      - name: reason
        in: query
        description: The reason for adding a new quality level for this artifact.
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/artifacts/dependencies:
    get:
      tags:
      - Builds
      summary: Gets dependency artifacts for specific build.
      operationId: getDependencyArtifacts
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - internal
      - Builds
      summary: '[role:admin] Set dependent artifacts on the Build. Note that operation
        replaces existing collection!'
      operationId: setDependentArtifacts
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      requestBody:
        description: List of artifact ids
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/attributes:
    post:
      tags:
      - Builds
      summary: Add attribute to a specific build.
      operationId: addAttribute
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      - name: key
        in: query
        description: Attribute key. The key must match '[a-zA-Z_0-9]+'.
        required: true
        schema:
          type: string
      - name: value
        in: query
        description: Attribute value
        required: true
        schema:
          type: string
      responses:
        "201":
          description: Entity successfully created
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Builds
      summary: Remove attribute from a specific build.
      operationId: removeAttribute
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      - name: key
        in: query
        description: Attribute key. The key must match '[a-zA-Z_0-9]+'.
        required: true
        schema:
          type: string
      responses:
        "204":
          description: Entity deleted
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/brew-push:
    get:
      tags:
      - Builds
      summary: Get Brew push result for specific build.
      operationId: getPushResult
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPushResult'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Builds
      summary: Push build to Brew.
      operationId: push
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildPushParameters'
      responses:
        "202":
          description: Request was accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPushResult'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "403":
          description: Build contains artifacts of insufficient quality
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Builds
      summary: Cancels push of build to Brew.
      operationId: cancelPush
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "404":
          description: Can not find any Brew push in progress.
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/brew-push/complete:
    post:
      tags:
      - Internal
      - Builds
      summary: Notifies that the Brew push finished.
      operationId: completePush
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildPushResult'
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPushResult'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/build-config-revision:
    get:
      tags:
      - Builds
      summary: Gets the build config revision for specific build.
      operationId: getBuildConfigRevision
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigurationRevision'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/cancel:
    post:
      tags:
      - Builds
      summary: Cancel running build.
      operationId: cancel
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/dependency-graph:
    get:
      tags:
      - Builds
      summary: Gets dependency graph for a build.
      operationId: getDependencyGraph
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildsGraph'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/logs/align:
    get:
      tags:
      - Builds
      summary: Gets alignment logs for specific build.
      operationId: getAlignLogs
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            text/plain:
              schema:
                type: string
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/logs/build:
    get:
      tags:
      - Builds
      summary: Gets build logs for specific build.
      operationId: getBuildLogs
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            text/plain:
              schema:
                type: string
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /builds/{id}/scm-archive:
    get:
      tags:
      - Builds
      summary: Redirects to the SCM archive link
      operationId: getInternalScmArchiveLink
      parameters:
      - name: id
        in: path
        description: ID of the build
        required: true
        schema:
          type: string
      responses:
        "302":
          description: Redirected to resource
        "404":
          description: Can not find specified result
  /cache:
    delete:
      tags:
      - internal
      - Cache statistics
      summary: Delete all content from second level cache. Needs to be admin
      operationId: clearCache
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusInfo:
                    type: object
                    properties:
                      family:
                        type: string
                        enum:
                        - INFORMATIONAL
                        - SUCCESSFUL
                        - REDIRECTION
                        - CLIENT_ERROR
                        - SERVER_ERROR
                        - OTHER
                      statusCode:
                        type: integer
                        format: int32
                      reasonPhrase:
                        type: string
                  cookies:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                        version:
                          type: integer
                          format: int32
                        path:
                          type: string
                        domain:
                          type: string
                        comment:
                          type: string
                        maxAge:
                          type: integer
                          format: int32
                        expiry:
                          type: string
                          format: date-time
                        secure:
                          type: boolean
                        httpOnly:
                          type: boolean
                  lastModified:
                    type: string
                    format: date-time
                  date:
                    type: string
                    format: date-time
                  headers:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  mediaType:
                    type: object
                    properties:
                      type:
                        type: string
                      subtype:
                        type: string
                      parameters:
                        type: object
                        additionalProperties:
                          type: string
                      wildcardType:
                        type: boolean
                      wildcardSubtype:
                        type: boolean
                  metadata:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  status:
                    type: integer
                    format: int32
                  entity:
                    type: object
                  entityTag:
                    type: object
                    properties:
                      value:
                        type: string
                      weak:
                        type: boolean
                  links:
                    uniqueItems: true
                    type: array
                    items:
                      type: object
                      properties:
                        params:
                          type: object
                          additionalProperties:
                            type: string
                        uri:
                          type: string
                          format: uri
                        uriBuilder:
                          type: object
                        title:
                          type: string
                        rels:
                          type: array
                          items:
                            type: string
                        rel:
                          type: string
                        type:
                          type: string
                  allowedMethods:
                    uniqueItems: true
                    type: array
                    items:
                      type: string
                  stringHeaders:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  length:
                    type: integer
                    format: int32
                  language:
                    type: object
                    properties:
                      script:
                        type: string
                      country:
                        type: string
                      variant:
                        type: string
                      extensionKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleAttributes:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      iso3Language:
                        type: string
                      iso3Country:
                        type: string
                      displayLanguage:
                        type: string
                      displayScript:
                        type: string
                      displayCountry:
                        type: string
                      displayVariant:
                        type: string
                      displayName:
                        type: string
                      language:
                        type: string
                  location:
                    type: string
                    format: uri
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /cache/collection-statistics:
    get:
      tags:
      - Cache statistics
      summary: Get statistics of all collections in second-level cache.
      operationId: getSecondLevelCacheCollectionsStats
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusInfo:
                    type: object
                    properties:
                      family:
                        type: string
                        enum:
                        - INFORMATIONAL
                        - SUCCESSFUL
                        - REDIRECTION
                        - CLIENT_ERROR
                        - SERVER_ERROR
                        - OTHER
                      statusCode:
                        type: integer
                        format: int32
                      reasonPhrase:
                        type: string
                  cookies:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                        version:
                          type: integer
                          format: int32
                        path:
                          type: string
                        domain:
                          type: string
                        comment:
                          type: string
                        maxAge:
                          type: integer
                          format: int32
                        expiry:
                          type: string
                          format: date-time
                        secure:
                          type: boolean
                        httpOnly:
                          type: boolean
                  lastModified:
                    type: string
                    format: date-time
                  date:
                    type: string
                    format: date-time
                  headers:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  mediaType:
                    type: object
                    properties:
                      type:
                        type: string
                      subtype:
                        type: string
                      parameters:
                        type: object
                        additionalProperties:
                          type: string
                      wildcardType:
                        type: boolean
                      wildcardSubtype:
                        type: boolean
                  metadata:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  status:
                    type: integer
                    format: int32
                  entity:
                    type: object
                  entityTag:
                    type: object
                    properties:
                      value:
                        type: string
                      weak:
                        type: boolean
                  links:
                    uniqueItems: true
                    type: array
                    items:
                      type: object
                      properties:
                        params:
                          type: object
                          additionalProperties:
                            type: string
                        uri:
                          type: string
                          format: uri
                        uriBuilder:
                          type: object
                        title:
                          type: string
                        rels:
                          type: array
                          items:
                            type: string
                        rel:
                          type: string
                        type:
                          type: string
                  allowedMethods:
                    uniqueItems: true
                    type: array
                    items:
                      type: string
                  stringHeaders:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  length:
                    type: integer
                    format: int32
                  language:
                    type: object
                    properties:
                      script:
                        type: string
                      country:
                        type: string
                      variant:
                        type: string
                      extensionKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleAttributes:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      iso3Language:
                        type: string
                      iso3Country:
                        type: string
                      displayLanguage:
                        type: string
                      displayScript:
                        type: string
                      displayCountry:
                        type: string
                      displayVariant:
                        type: string
                      displayName:
                        type: string
                      language:
                        type: string
                  location:
                    type: string
                    format: uri
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /cache/entity-statistics:
    get:
      tags:
      - Cache statistics
      summary: Get statistics of all entities in second-level cache.
      operationId: getSecondLevelCacheEntitiesStats
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusInfo:
                    type: object
                    properties:
                      family:
                        type: string
                        enum:
                        - INFORMATIONAL
                        - SUCCESSFUL
                        - REDIRECTION
                        - CLIENT_ERROR
                        - SERVER_ERROR
                        - OTHER
                      statusCode:
                        type: integer
                        format: int32
                      reasonPhrase:
                        type: string
                  cookies:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                        version:
                          type: integer
                          format: int32
                        path:
                          type: string
                        domain:
                          type: string
                        comment:
                          type: string
                        maxAge:
                          type: integer
                          format: int32
                        expiry:
                          type: string
                          format: date-time
                        secure:
                          type: boolean
                        httpOnly:
                          type: boolean
                  lastModified:
                    type: string
                    format: date-time
                  date:
                    type: string
                    format: date-time
                  headers:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  mediaType:
                    type: object
                    properties:
                      type:
                        type: string
                      subtype:
                        type: string
                      parameters:
                        type: object
                        additionalProperties:
                          type: string
                      wildcardType:
                        type: boolean
                      wildcardSubtype:
                        type: boolean
                  metadata:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  status:
                    type: integer
                    format: int32
                  entity:
                    type: object
                  entityTag:
                    type: object
                    properties:
                      value:
                        type: string
                      weak:
                        type: boolean
                  links:
                    uniqueItems: true
                    type: array
                    items:
                      type: object
                      properties:
                        params:
                          type: object
                          additionalProperties:
                            type: string
                        uri:
                          type: string
                          format: uri
                        uriBuilder:
                          type: object
                        title:
                          type: string
                        rels:
                          type: array
                          items:
                            type: string
                        rel:
                          type: string
                        type:
                          type: string
                  allowedMethods:
                    uniqueItems: true
                    type: array
                    items:
                      type: string
                  stringHeaders:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  length:
                    type: integer
                    format: int32
                  language:
                    type: object
                    properties:
                      script:
                        type: string
                      country:
                        type: string
                      variant:
                        type: string
                      extensionKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleAttributes:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      iso3Language:
                        type: string
                      iso3Country:
                        type: string
                      displayLanguage:
                        type: string
                      displayScript:
                        type: string
                      displayCountry:
                        type: string
                      displayVariant:
                        type: string
                      displayName:
                        type: string
                      language:
                        type: string
                  location:
                    type: string
                    format: uri
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /cache/region-statistics:
    get:
      tags:
      - Cache statistics
      summary: Get statistics of all cache region names in second-level cache.
      operationId: getSecondLevelCacheRegionsStats
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusInfo:
                    type: object
                    properties:
                      family:
                        type: string
                        enum:
                        - INFORMATIONAL
                        - SUCCESSFUL
                        - REDIRECTION
                        - CLIENT_ERROR
                        - SERVER_ERROR
                        - OTHER
                      statusCode:
                        type: integer
                        format: int32
                      reasonPhrase:
                        type: string
                  cookies:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                        version:
                          type: integer
                          format: int32
                        path:
                          type: string
                        domain:
                          type: string
                        comment:
                          type: string
                        maxAge:
                          type: integer
                          format: int32
                        expiry:
                          type: string
                          format: date-time
                        secure:
                          type: boolean
                        httpOnly:
                          type: boolean
                  lastModified:
                    type: string
                    format: date-time
                  date:
                    type: string
                    format: date-time
                  headers:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  mediaType:
                    type: object
                    properties:
                      type:
                        type: string
                      subtype:
                        type: string
                      parameters:
                        type: object
                        additionalProperties:
                          type: string
                      wildcardType:
                        type: boolean
                      wildcardSubtype:
                        type: boolean
                  metadata:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  status:
                    type: integer
                    format: int32
                  entity:
                    type: object
                  entityTag:
                    type: object
                    properties:
                      value:
                        type: string
                      weak:
                        type: boolean
                  links:
                    uniqueItems: true
                    type: array
                    items:
                      type: object
                      properties:
                        params:
                          type: object
                          additionalProperties:
                            type: string
                        uri:
                          type: string
                          format: uri
                        uriBuilder:
                          type: object
                        title:
                          type: string
                        rels:
                          type: array
                          items:
                            type: string
                        rel:
                          type: string
                        type:
                          type: string
                  allowedMethods:
                    uniqueItems: true
                    type: array
                    items:
                      type: string
                  stringHeaders:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  length:
                    type: integer
                    format: int32
                  language:
                    type: object
                    properties:
                      script:
                        type: string
                      country:
                        type: string
                      variant:
                        type: string
                      extensionKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleAttributes:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      iso3Language:
                        type: string
                      iso3Country:
                        type: string
                      displayLanguage:
                        type: string
                      displayScript:
                        type: string
                      displayCountry:
                        type: string
                      displayVariant:
                        type: string
                      displayName:
                        type: string
                      language:
                        type: string
                  location:
                    type: string
                    format: uri
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /cache/statistics:
    get:
      tags:
      - Cache statistics
      summary: Get general statistics related to Hibernate.
      operationId: getGenericStats
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusInfo:
                    type: object
                    properties:
                      family:
                        type: string
                        enum:
                        - INFORMATIONAL
                        - SUCCESSFUL
                        - REDIRECTION
                        - CLIENT_ERROR
                        - SERVER_ERROR
                        - OTHER
                      statusCode:
                        type: integer
                        format: int32
                      reasonPhrase:
                        type: string
                  cookies:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                        version:
                          type: integer
                          format: int32
                        path:
                          type: string
                        domain:
                          type: string
                        comment:
                          type: string
                        maxAge:
                          type: integer
                          format: int32
                        expiry:
                          type: string
                          format: date-time
                        secure:
                          type: boolean
                        httpOnly:
                          type: boolean
                  lastModified:
                    type: string
                    format: date-time
                  date:
                    type: string
                    format: date-time
                  headers:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  mediaType:
                    type: object
                    properties:
                      type:
                        type: string
                      subtype:
                        type: string
                      parameters:
                        type: object
                        additionalProperties:
                          type: string
                      wildcardType:
                        type: boolean
                      wildcardSubtype:
                        type: boolean
                  metadata:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: object
                  status:
                    type: integer
                    format: int32
                  entity:
                    type: object
                  entityTag:
                    type: object
                    properties:
                      value:
                        type: string
                      weak:
                        type: boolean
                  links:
                    uniqueItems: true
                    type: array
                    items:
                      type: object
                      properties:
                        params:
                          type: object
                          additionalProperties:
                            type: string
                        uri:
                          type: string
                          format: uri
                        uriBuilder:
                          type: object
                        title:
                          type: string
                        rels:
                          type: array
                          items:
                            type: string
                        rel:
                          type: string
                        type:
                          type: string
                  allowedMethods:
                    uniqueItems: true
                    type: array
                    items:
                      type: string
                  stringHeaders:
                    type: object
                    properties:
                      empty:
                        type: boolean
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  length:
                    type: integer
                    format: int32
                  language:
                    type: object
                    properties:
                      script:
                        type: string
                      country:
                        type: string
                      variant:
                        type: string
                      extensionKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleAttributes:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      unicodeLocaleKeys:
                        uniqueItems: true
                        type: array
                        items:
                          type: string
                      iso3Language:
                        type: string
                      iso3Country:
                        type: string
                      displayLanguage:
                        type: string
                      displayScript:
                        type: string
                      displayCountry:
                        type: string
                      displayVariant:
                        type: string
                      displayName:
                        type: string
                      language:
                        type: string
                  location:
                    type: string
                    format: uri
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /environments:
    get:
      tags:
      - Environments
      summary: Gets all environments.
      operationId: getAll_3
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildEnvironmentPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /environments/{id}:
    get:
      tags:
      - Environments
      summary: Gets a specific environment.
      operationId: getSpecific_3
      parameters:
      - name: id
        in: path
        description: ID of the environment
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /generic-setting/activate-maintenance-mode:
    post:
      tags:
      - Internal
      summary: '[role:admin] Activate maintenance mode.'
      operationId: activateMaintenanceMode
      requestBody:
        description: Reason to activate Maintenance Mode
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /generic-setting/announcement-banner:
    get:
      tags:
      - Internal
      summary: Get announcement banner
      operationId: getAnnouncementBanner
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Banner'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Internal
      summary: Set announcement banner. Needs to be admin
      operationId: setAnnouncementBanner
      requestBody:
        description: Announcement Banner text
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /generic-setting/deactivate-maintenance-mode:
    post:
      tags:
      - Internal
      summary: '[role:admin] Deactivate maintenance mode. needs to be admin'
      operationId: deactivateMaintenanceMode
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /generic-setting/in-maintenance-mode:
    get:
      tags:
      - Internal
      summary: Get status of maintenance mode
      operationId: isInMaintenanceMode
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: boolean
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-builds:
    get:
      tags:
      - Group Builds
      summary: Gets all group builds.
      operationId: getAll_4
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupBuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-builds/{id}:
    get:
      tags:
      - Group Builds
      summary: Gets specific group build.
      operationId: getSpecific_4
      parameters:
      - name: id
        in: path
        description: ID of the group build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupBuild'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Group Builds
      summary: Delete a specific temporary group build.
      description: Operation is async. Once completed, a callback can be sent with
        a JSON body containing information about the operation completion using object
        org.jboss.pnc.dto.DeleteOperationResult
      operationId: delete_1
      parameters:
      - name: id
        in: path
        description: ID of the group build
        required: true
        schema:
          type: string
      - name: callback
        in: query
        description: Optional Callback URL
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-builds/{id}/brew-push:
    post:
      tags:
      - Group Builds
      summary: Push all perfomred builds from this group build to Brew.
      operationId: brewPush
      parameters:
      - name: id
        in: path
        description: ID of the group build
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupBuildPushRequest'
      responses:
        "202":
          description: Request was accepted for processing
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-builds/{id}/builds:
    get:
      tags:
      - Group Builds
      summary: Gets the builds associated with this group build.
      operationId: getBuilds_1
      parameters:
      - name: id
        in: path
        description: ID of the group build
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-builds/{id}/cancel:
    post:
      tags:
      - Group Builds
      summary: Cancel all builds running in the build group.
      operationId: cancel_1
      parameters:
      - name: id
        in: path
        description: ID of the group build
        required: true
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-builds/{id}/dependency-graph:
    get:
      tags:
      - Group Builds
      summary: Gets builds dependency graph for a build group.
      operationId: getDependencyGraph_1
      parameters:
      - name: id
        in: path
        description: ID of the group build
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildsGraph'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs:
    get:
      tags:
      - Group Configs
      summary: Gets all group configs.
      operationId: getAll_5
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Group Configs
      summary: Creates a new group config.
      operationId: createNew_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupConfiguration'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupConfiguration'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs/{id}:
    get:
      tags:
      - Group Configs
      summary: Gets a specific group config.
      operationId: getSpecific_5
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupConfiguration'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Group Configs
      summary: Updates an existing group config.
      operationId: update_3
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupConfiguration'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Group Configs
      summary: Patch a specific group config.
      operationId: patchSpecific_1
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/GroupConfiguration'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupConfiguration'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs/{id}/build:
    post:
      tags:
      - Group Configs
      summary: Builds the build configs in the group config.
      operationId: trigger_1
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      - name: temporaryBuild
        in: query
        description: Is it a temporary build or a standard build?
        schema:
          type: boolean
          default: false
      - name: rebuildMode
        in: query
        description: IMPLICIT_DEPENDENCY_CHECK
        schema:
          type: string
          default: IMPLICIT_DEPENDENCY_CHECK
          enum:
          - IMPLICIT_DEPENDENCY_CHECK
          - EXPLICIT_DEPENDENCY_CHECK
          - FORCE
      - name: timestampAlignment
        in: query
        description: Should we add a timestamp during the alignment? Valid only for
          temporary builds.
        schema:
          type: boolean
          default: false
      requestBody:
        description: List of build config revision to build instead of latest revision.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupBuildRequest'
      responses:
        "202":
          description: Request was accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupBuild'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs/{id}/build-configs:
    get:
      tags:
      - Group Configs
      summary: Gets the build configs for the group config.
      operationId: getBuildConfigs
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Group Configs
      summary: Adds a build config to the group config.
      operationId: addBuildConfig
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildConfigurationRef'
      responses:
        "204":
          description: Success but no content provided
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs/{id}/build-configs/{configId}:
    delete:
      tags:
      - Group Configs
      summary: Removes a build config from the specified group config.
      operationId: removeBuildConfig
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      - name: configId
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      responses:
        "204":
          description: Success but no content provided
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs/{id}/builds:
    get:
      tags:
      - Group Configs
      summary: Gets all builds associated with the contained build configs.
      operationId: getBuilds_2
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /group-configs/{id}/group-builds:
    get:
      tags:
      - Group Configs
      summary: Get all group builds associated with this group config.
      operationId: getAllGroupBuilds
      parameters:
      - name: id
        in: path
        description: ID of the group config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupBuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-milestones:
    post:
      tags:
      - Product Milestones
      summary: Creates a new product milestone.
      operationId: createNew_3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductMilestone'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMilestone'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-milestones/validate-version:
    post:
      tags:
      - Product Milestones
      summary: Validate product milestone version.
      operationId: validateVersion
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VersionValidationRequest'
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-milestones/{id}:
    get:
      tags:
      - Product Milestones
      summary: Gets a specific product milestone.
      operationId: getSpecific_7
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMilestone'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Product Milestones
      summary: Updates an existing product milestone.
      operationId: update_5
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductMilestone'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Product Milestones
      summary: Patch an existing product milestone.
      operationId: patchSpecific_3
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProductMilestone'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMilestone'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-milestones/{id}/builds:
    get:
      tags:
      - Product Milestones
      summary: Gets builds performed during a product milestone cycle.
      operationId: getBuilds_3
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-milestones/{id}/close:
    post:
      tags:
      - Product Milestones
      summary: Close a product milestone.
      operationId: closeMilestone
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - Product Milestones
      summary: Cancel product milestone close process.
      operationId: cancelMilestoneClose
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      responses:
        "202":
          description: Request was accepted for processing
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-milestones/{id}/close-results:
    get:
      tags:
      - Product Milestones
      summary: Get milestone releases.
      operationId: getCloseResults
      parameters:
      - name: id
        in: path
        description: ID of the product milestone
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest milestone close result?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running milestone close result?
        schema:
          type: boolean
          default: false
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMilestoneCloseResultPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-releases:
    post:
      tags:
      - Product Releases
      summary: Creates a new product release.
      operationId: createNew_4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductRelease'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductRelease'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-releases/support-levels:
    get:
      tags:
      - Product Releases
      summary: Gets all product releases support levels.
      operationId: getSupportLevels
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  enum:
                  - UNRELEASED
                  - EARLYACCESS
                  - SUPPORTED
                  - EXTENDED_SUPPORT
                  - EOL
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-releases/{id}:
    get:
      tags:
      - Product Releases
      summary: Gets a specific product release.
      operationId: getSpecific_8
      parameters:
      - name: id
        in: path
        description: ID of the product release
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductRelease'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Product Releases
      summary: Updates an existing product release.
      operationId: update_6
      parameters:
      - name: id
        in: path
        description: ID of the product release
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductRelease'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Product Releases
      summary: Patch an existing product release.
      operationId: patchSpecific_4
      parameters:
      - name: id
        in: path
        description: ID of the product release
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProductRelease'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductRelease'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-versions:
    post:
      tags:
      - Product Versions
      summary: Creates a new product version.
      operationId: createNew_5
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductVersion'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVersion'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-versions/{id}:
    get:
      tags:
      - Product Versions
      summary: Gets a specific product version.
      operationId: getSpecific_9
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVersion'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Product Versions
      summary: Updates an existing product version.
      operationId: update_7
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductVersion'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Product Versions
      summary: Patch an existing product version.
      operationId: patchSpecific_5
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProductVersion'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVersion'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-versions/{id}/build-configs:
    get:
      tags:
      - Product Versions
      summary: Gets all build configs in a specific product version.
      operationId: getBuildConfigs_1
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-versions/{id}/group-configs:
    get:
      tags:
      - Product Versions
      summary: Gets group configs associated with a specific product version.
      operationId: getGroupConfigs_1
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-versions/{id}/milestones:
    get:
      tags:
      - Product Versions
      summary: Gets all product milestones of a specific product version.
      operationId: getMilestones
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductMilestonePage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /product-versions/{id}/releases:
    get:
      tags:
      - Product Versions
      summary: Gets all product releases of a specific product version.
      operationId: getReleases
      parameters:
      - name: id
        in: path
        description: ID of the product version
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductReleasePage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /products:
    get:
      tags:
      - Products
      summary: Gets all products.
      operationId: getAll_6
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Products
      summary: Creates a new product.
      operationId: createNew_2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Product'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /products/{id}:
    get:
      tags:
      - Products
      summary: Gets a specific product.
      operationId: getSpecific_6
      parameters:
      - name: id
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Products
      summary: Updates an existing product.
      operationId: update_4
      parameters:
      - name: id
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Product'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Products
      summary: Patch an existing product.
      operationId: patchSpecific_2
      parameters:
      - name: id
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Product'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /products/{id}/versions:
    get:
      tags:
      - Products
      summary: Get all versions for a specific product.
      operationId: getProductVersions
      parameters:
      - name: id
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVersionPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /projects:
    get:
      tags:
      - Projects
      summary: Gets all projects.
      operationId: getAll_7
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Projects
      summary: Creates a new project.
      operationId: createNew_6
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
        required: true
      responses:
        "201":
          description: Entity successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /projects/{id}:
    get:
      tags:
      - Projects
      summary: Gets a specific project.
      operationId: getSpecific_10
      parameters:
      - name: id
        in: path
        description: ID of the project
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - Projects
      summary: Updates an existing project.
      operationId: update_8
      parameters:
      - name: id
        in: path
        description: ID of the project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - Projects
      summary: Patch an existing project.
      operationId: patchSpecific_6
      parameters:
      - name: id
        in: path
        description: ID of the project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Project'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /projects/{id}/build-configs:
    get:
      tags:
      - Projects
      summary: Gets all build configs associated with the specified project.
      operationId: getBuildConfigurations
      parameters:
      - name: id
        in: path
        description: ID of the project
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /projects/{id}/builds:
    get:
      tags:
      - Projects
      summary: Get all builds associated with a specific project.
      operationId: getBuilds_4
      parameters:
      - name: id
        in: path
        description: ID of the build config
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scm-repositories:
    get:
      tags:
      - SCM Repositories
      summary: Gets all SCM repositories.
      operationId: getAll_8
      parameters:
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: url
        in: query
        description: Url to search for
        schema:
          type: string
      - name: search-url
        in: query
        description: Url part to search for
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SCMRepositoryPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scm-repositories/create-and-sync:
    post:
      tags:
      - SCM Repositories
      summary: Creates a new SCM repository.
      description: If the given URL is external, it does create the repository in
        the scm server.
      operationId: createNew_7
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAndSyncSCMRequest'
        required: true
      responses:
        "202":
          description: SCM Repository is being created. The 'taskId' key has the id
            of the Maitai process instance creating the repository ('repository' key
            is null)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryCreationResponse'
        "200":
          description: SCM Repository was created. The 'repository' key is populated
            with the details of the SCM Repository ('taskId' key is null)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryCreationResponse'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scm-repositories/{id}:
    get:
      tags:
      - SCM Repositories
      summary: Gets a specific SCM repository.
      operationId: getSpecific_11
      parameters:
      - name: id
        in: path
        description: ID of the SCM repository
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SCMRepository'
        "404":
          description: Can not find specified result
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - SCM Repositories
      summary: Updates an existing SCM repository.
      operationId: update_9
      parameters:
      - name: id
        in: path
        description: ID of the SCM repository
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SCMRepository'
        required: true
      responses:
        "204":
          description: Entity successfully updated
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "409":
          description: Conflict while saving an entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      tags:
      - SCM Repositories
      summary: Patch an existing SCM repository.
      operationId: patchSpecific_7
      parameters:
      - name: id
        in: path
        description: ID of the SCM repository
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/SCMRepository'
        required: true
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SCMRepository'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Can not find specified result
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /scm-repositories/{id}/build-configs:
    get:
      tags:
      - SCM Repositories
      summary: Gets all build configs associated with a specific SCM repository.
      operationId: getBuildConfigs_2
      parameters:
      - name: id
        in: path
        description: ID of the SCM repository
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildConfigPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /users/current:
    get:
      tags:
      - Users
      summary: Gets logged user.
      operationId: getCurrentUser
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /users/{id}/builds:
    get:
      tags:
      - Users
      summary: Gets all builds triggered by specific user.
      operationId: getBuilds_5
      parameters:
      - name: id
        in: path
        description: ID of the user
        required: true
        schema:
          type: string
      - name: pageIndex
        in: query
        description: Index of the page to return. Index starts with 0.
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: Number of entries that shuld be included in a page. Maximum page
          size is 200.
        schema:
          type: integer
          format: int32
          default: 50
      - name: sort
        in: query
        description: 'Sorting RSQL. Format: sort=asc=path.to.field (or =desc=).'
        schema:
          type: string
      - name: q
        in: query
        description: RSQL Query.
        schema:
          type: string
      - name: latest
        in: query
        description: Should return only latest build?
        schema:
          type: boolean
          default: false
      - name: running
        in: query
        description: Should return only running builds?
        schema:
          type: boolean
          default: false
      - name: buildConfigName
        in: query
        description: Filters builds by BuildConfig name in a revision used to trigger
          the build.
        schema:
          type: string
          default: ""
      responses:
        "200":
          description: Success with results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildPage'
        "400":
          description: Invalid input parameters or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ArtifactRevision:
      required:
      - id
      type: object
      properties:
        artifactQuality:
          type: string
          enum:
          - NEW
          - VERIFIED
          - TESTED
          - DEPRECATED
          - BLACKLISTED
          - DELETED
          - TEMPORARY
        id:
          type: string
        modificationTime:
          type: integer
          format: int64
        modificationUser:
          $ref: '#/components/schemas/User'
        qualityLevelReason:
          type: string
        rev:
          type: integer
          format: int32
    User:
      required:
      - id
      type: object
      properties:
        id:
          type: string
        username:
          type: string
    ErrorResponse:
      type: object
      properties:
        details:
          type: object
        errorMessage:
          type: string
        errorType:
          type: string
    Artifact:
      required:
      - artifactQuality
      - id
      - identifier
      type: object
      properties:
        artifactQuality:
          type: string
          enum:
          - NEW
          - VERIFIED
          - TESTED
          - DEPRECATED
          - BLACKLISTED
          - DELETED
          - TEMPORARY
        build:
          $ref: '#/components/schemas/Build'
        creationTime:
          type: integer
          format: int64
        creationUser:
          $ref: '#/components/schemas/User'
        deployPath:
          type: string
        deployUrl:
          type: string
        filename:
          type: string
        id:
          type: string
        identifier:
          type: string
        importDate:
          type: integer
          format: int64
        md5:
          type: string
        modificationTime:
          type: integer
          format: int64
        modificationUser:
          $ref: '#/components/schemas/User'
        originUrl:
          type: string
        publicUrl:
          type: string
        qualityLevelReason:
          type: string
        sha1:
          type: string
        sha256:
          type: string
        size:
          type: integer
          format: int64
        targetRepository:
          $ref: '#/components/schemas/TargetRepository'
    ArtifactPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    Build:
      required:
      - id
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: string
        buildConfigRevision:
          $ref: '#/components/schemas/BuildConfigurationRevisionRef'
        buildContentId:
          type: string
        buildOutputChecksum:
          type: string
        endTime:
          type: integer
          format: int64
        environment:
          $ref: '#/components/schemas/Environment'
        groupBuild:
          $ref: '#/components/schemas/GroupBuildRef'
        id:
          type: string
        noRebuildCause:
          $ref: '#/components/schemas/BuildRef'
        productMilestone:
          $ref: '#/components/schemas/ProductMilestoneRef'
        progress:
          type: string
          enum:
          - PENDING
          - IN_PROGRESS
          - FINISHED
        project:
          $ref: '#/components/schemas/ProjectRef'
        scmRepository:
          $ref: '#/components/schemas/SCMRepository'
        scmRevision:
          type: string
        scmTag:
          type: string
        scmUrl:
          type: string
        startTime:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - SUCCESS
          - FAILED
          - NO_REBUILD_REQUIRED
          - ENQUEUED
          - WAITING_FOR_DEPENDENCIES
          - BUILDING
          - REJECTED
          - REJECTED_FAILED_DEPENDENCIES
          - CANCELLED
          - SYSTEM_ERROR
          - NEW
        submitTime:
          type: integer
          format: int64
        temporaryBuild:
          type: boolean
        user:
          $ref: '#/components/schemas/User'
    BuildConfigurationRevisionRef:
      required:
      - id
      type: object
      properties:
        buildScript:
          type: string
        buildType:
          type: string
          enum:
          - MVN
          - NPM
          - GRADLE
        creationTime:
          type: integer
          format: int64
        defaultAlignmentParams:
          type: string
        id:
          type: string
        modificationTime:
          type: integer
          format: int64
        name:
          type: string
        rev:
          type: integer
          format: int32
        scmRevision:
          type: string
    BuildRef:
      required:
      - id
      type: object
      properties:
        buildContentId:
          type: string
        buildOutputChecksum:
          type: string
        endTime:
          type: integer
          format: int64
        id:
          type: string
        progress:
          type: string
          enum:
          - PENDING
          - IN_PROGRESS
          - FINISHED
        scmRevision:
          type: string
        scmTag:
          type: string
        scmUrl:
          type: string
        startTime:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - SUCCESS
          - FAILED
          - NO_REBUILD_REQUIRED
          - ENQUEUED
          - WAITING_FOR_DEPENDENCIES
          - BUILDING
          - REJECTED
          - REJECTED_FAILED_DEPENDENCIES
          - CANCELLED
          - SYSTEM_ERROR
          - NEW
        submitTime:
          type: integer
          format: int64
        temporaryBuild:
          type: boolean
    Environment:
      required:
      - id
      - systemImageId
      - systemImageType
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: string
        deprecated:
          type: boolean
        description:
          type: string
        id:
          type: string
        name:
          type: string
        systemImageId:
          type: string
        systemImageRepositoryUrl:
          type: string
        systemImageType:
          type: string
          enum:
          - DOCKER_IMAGE
          - VIRTUAL_MACHINE_RAW
          - VIRTUAL_MACHINE_QCOW2
          - LOCAL_WORKSPACE
    GroupBuildRef:
      required:
      - id
      type: object
      properties:
        endTime:
          type: integer
          format: int64
        id:
          type: string
        startTime:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - SUCCESS
          - FAILED
          - NO_REBUILD_REQUIRED
          - ENQUEUED
          - WAITING_FOR_DEPENDENCIES
          - BUILDING
          - REJECTED
          - REJECTED_FAILED_DEPENDENCIES
          - CANCELLED
          - SYSTEM_ERROR
          - NEW
        temporaryBuild:
          type: boolean
    ProductMilestoneRef:
      required:
      - id
      - version
      type: object
      properties:
        endDate:
          type: integer
          format: int64
        id:
          type: string
        plannedEndDate:
          type: integer
          format: int64
        startingDate:
          type: integer
          format: int64
        version:
          pattern: ^[0-9]+\.[0-9]+(\.\w[\w-]*)+$
          type: string
    ProjectRef:
      required:
      - id
      type: object
      properties:
        description:
          type: string
        engineeringTeam:
          type: string
        id:
          type: string
        issueTrackerUrl:
          type: string
        name:
          type: string
        projectUrl:
          type: string
        technicalLeader:
          type: string
    SCMRepository:
      required:
      - id
      - internalUrl
      type: object
      properties:
        externalUrl:
          type: string
        id:
          type: string
        internalUrl:
          type: string
        preBuildSyncEnabled:
          type: boolean
    TargetRepository:
      required:
      - id
      - identifier
      - repositoryPath
      - repositoryType
      - temporaryRepo
      type: object
      properties:
        id:
          type: string
        identifier:
          type: string
        repositoryPath:
          type: string
        repositoryType:
          type: string
          enum:
          - MAVEN
          - NPM
          - COCOA_POD
          - GENERIC_PROXY
        temporaryRepo:
          type: boolean
    PageArtifact:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    BuildPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Build'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageBuild:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Build'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    MilestoneInfo:
      type: object
      properties:
        built:
          type: boolean
        milestoneEndDate:
          type: integer
          format: int64
        milestoneId:
          type: string
        milestoneVersion:
          type: string
        productId:
          type: string
        productName:
          type: string
        productVersionId:
          type: string
        productVersionVersion:
          type: string
        releaseId:
          type: string
        releaseReleaseDate:
          type: integer
          format: int64
        releaseVersion:
          type: string
    MilestoneInfoPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/MilestoneInfo'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageMilestoneInfo:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/MilestoneInfo'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    ArtifactRevisionPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ArtifactRevision'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageArtifactRevision:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ArtifactRevision'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    BuildConfigurationRevision:
      required:
      - id
      type: object
      properties:
        buildScript:
          type: string
        buildType:
          type: string
          enum:
          - MVN
          - NPM
          - GRADLE
        creationTime:
          type: integer
          format: int64
        creationUser:
          $ref: '#/components/schemas/User'
        defaultAlignmentParams:
          type: string
        environment:
          $ref: '#/components/schemas/Environment'
        id:
          type: string
        modificationTime:
          type: integer
          format: int64
        modificationUser:
          $ref: '#/components/schemas/User'
        name:
          type: string
        parameters:
          type: object
          additionalProperties:
            type: string
        project:
          $ref: '#/components/schemas/ProjectRef'
        rev:
          type: integer
          format: int32
        scmRepository:
          $ref: '#/components/schemas/SCMRepository'
        scmRevision:
          type: string
    BuildConfigPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/BuildConfiguration'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    BuildConfiguration:
      required:
      - buildType
      - id
      - name
      type: object
      properties:
        buildScript:
          type: string
        buildType:
          type: string
          enum:
          - MVN
          - NPM
          - GRADLE
        creationTime:
          type: integer
          format: int64
        creationUser:
          $ref: '#/components/schemas/User'
        defaultAlignmentParams:
          type: string
        dependencies:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BuildConfigurationRef'
        description:
          type: string
        environment:
          $ref: '#/components/schemas/Environment'
        groupConfigs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GroupConfigurationRef'
        id:
          type: string
        modificationTime:
          type: integer
          format: int64
        modificationUser:
          $ref: '#/components/schemas/User'
        name:
          pattern: ^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*(?<!\.git)$
          type: string
        parameters:
          type: object
          additionalProperties:
            type: string
        productVersion:
          $ref: '#/components/schemas/ProductVersionRef'
        project:
          $ref: '#/components/schemas/ProjectRef'
        scmRepository:
          $ref: '#/components/schemas/SCMRepository'
        scmRevision:
          type: string
    BuildConfigurationRef:
      required:
      - buildType
      - id
      - name
      type: object
      properties:
        buildScript:
          type: string
        buildType:
          type: string
          enum:
          - MVN
          - NPM
          - GRADLE
        creationTime:
          type: integer
          format: int64
        defaultAlignmentParams:
          type: string
        description:
          type: string
        id:
          type: string
        modificationTime:
          type: integer
          format: int64
        name:
          pattern: ^[a-zA-Z0-9_.][a-zA-Z0-9_.-]*(?<!\.git)$
          type: string
        scmRevision:
          type: string
    GroupConfigurationRef:
      required:
      - id
      - name
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    ProductVersionRef:
      required:
      - id
      - version
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: string
        id:
          type: string
        version:
          pattern: ^[0-9]+\.[0-9]+$
          type: string
    PageBuildConfiguration:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/BuildConfiguration'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    GroupConfigPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GroupConfiguration'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    GroupConfiguration:
      required:
      - id
      - name
      type: object
      properties:
        buildConfigs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BuildConfigurationRef'
        id:
          type: string
        name:
          type: string
        productVersion:
          $ref: '#/components/schemas/ProductVersionRef'
    PageGroupConfiguration:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GroupConfiguration'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    BuildConfigCreationResponse:
      type: object
      properties:
        buildConfig:
          $ref: '#/components/schemas/BuildConfiguration'
        taskId:
          type: string
    BuildConfigWithSCMRequest:
      required:
      - scmUrl
      type: object
      properties:
        buildConfig:
          $ref: '#/components/schemas/BuildConfiguration'
        preBuildSyncEnabled:
          type: boolean
        scmUrl:
          type: string
    Parameter:
      type: object
      properties:
        description:
          type: string
        name:
          type: string
    AlignmentParameters:
      type: object
      properties:
        buildType:
          type: string
        parameters:
          type: string
    BuildConfigRevisionPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/BuildConfigurationRevision'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageBuildConfigurationRevision:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/BuildConfigurationRevision'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    RunningBuildCount:
      type: object
      properties:
        enqueued:
          type: integer
          format: int32
        running:
          type: integer
          format: int32
        waitingForDependencies:
          type: integer
          format: int32
    BuildsGraph:
      type: object
      properties:
        edges:
          type: array
          items:
            $ref: '#/components/schemas/EdgeBuild'
        vertices:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/VertexBuild'
    EdgeBuild:
      type: object
      properties:
        cost:
          type: integer
          format: int32
        source:
          type: string
        target:
          type: string
    VertexBuild:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Build'
        dataType:
          type: string
        name:
          type: string
    GraphBuild:
      type: object
      properties:
        edges:
          type: array
          items:
            $ref: '#/components/schemas/EdgeBuild'
        vertices:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/VertexBuild'
    BuildPushResult:
      required:
      - buildId
      - id
      - status
      type: object
      properties:
        brewBuildId:
          type: integer
          format: int32
        brewBuildUrl:
          type: string
        buildId:
          type: string
        id:
          type: string
        logContext:
          type: string
        message:
          type: string
        productMilestoneCloseResult:
          $ref: '#/components/schemas/ProductMilestoneCloseResultRef'
        status:
          type: string
          enum:
          - ACCEPTED
          - SUCCESS
          - REJECTED
          - FAILED
          - SYSTEM_ERROR
          - CANCELED
    ProductMilestoneCloseResultRef:
      type: object
      properties:
        endDate:
          type: integer
          format: int64
        id:
          type: string
        startingDate:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - IN_PROGRESS
          - FAILED
          - SUCCEEDED
          - CANCELED
          - SYSTEM_ERROR
    SSHCredentials:
      type: object
      properties:
        command:
          type: string
        password:
          type: string
    BuildPushParameters:
      type: object
      properties:
        reimport:
          type: boolean
        tagPrefix:
          type: string
    BuildEnvironmentPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Environment'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageEnvironment:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Environment'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    Banner:
      type: object
      properties:
        banner:
          type: string
    GroupBuild:
      required:
      - id
      type: object
      properties:
        endTime:
          type: integer
          format: int64
        groupConfig:
          $ref: '#/components/schemas/GroupConfigurationRef'
        id:
          type: string
        productVersion:
          $ref: '#/components/schemas/ProductVersionRef'
        startTime:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - SUCCESS
          - FAILED
          - NO_REBUILD_REQUIRED
          - ENQUEUED
          - WAITING_FOR_DEPENDENCIES
          - BUILDING
          - REJECTED
          - REJECTED_FAILED_DEPENDENCIES
          - CANCELLED
          - SYSTEM_ERROR
          - NEW
        temporaryBuild:
          type: boolean
        user:
          $ref: '#/components/schemas/User'
    GroupBuildPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GroupBuild'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageGroupBuild:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GroupBuild'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    GroupBuildPushRequest:
      type: object
      properties:
        tagPrefix:
          type: string
    GroupBuildRequest:
      type: object
      properties:
        buildConfigurationRevisions:
          type: array
          items:
            $ref: '#/components/schemas/BuildConfigurationRevisionRef'
    Product:
      required:
      - abbreviation
      - id
      - name
      type: object
      properties:
        abbreviation:
          pattern: '[a-zA-Z0-9-]+'
          type: string
        description:
          type: string
        id:
          type: string
        name:
          type: string
        productManagers:
          type: string
        productPagesCode:
          type: string
        productVersions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ProductVersionRef'
    ProductPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Product'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageProduct:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Product'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    ProductRef:
      required:
      - abbreviation
      - id
      - name
      type: object
      properties:
        abbreviation:
          pattern: '[a-zA-Z0-9-]+'
          type: string
        description:
          type: string
        id:
          type: string
        name:
          type: string
        productManagers:
          type: string
        productPagesCode:
          type: string
    ProductReleaseRef:
      required:
      - id
      type: object
      properties:
        commonPlatformEnumeration:
          type: string
        id:
          type: string
        productPagesCode:
          type: string
        releaseDate:
          type: integer
          format: int64
        supportLevel:
          type: string
          enum:
          - UNRELEASED
          - EARLYACCESS
          - SUPPORTED
          - EXTENDED_SUPPORT
          - EOL
        version:
          type: string
    ProductVersion:
      required:
      - id
      - version
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: string
        buildConfigs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BuildConfigurationRef'
        currentProductMilestone:
          $ref: '#/components/schemas/ProductMilestoneRef'
        groupConfigs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GroupConfigurationRef'
        id:
          type: string
        product:
          $ref: '#/components/schemas/ProductRef'
        productMilestones:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ProductMilestoneRef'
        productReleases:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ProductReleaseRef'
        version:
          pattern: ^[0-9]+\.[0-9]+$
          type: string
    ProductVersionPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductVersion'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageProductVersion:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductVersion'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    ValidationResponse:
      required:
      - isValid
      type: object
      properties:
        errorType:
          type: string
          enum:
          - FORMAT
          - DUPLICATION
        hints:
          type: array
          items:
            type: string
        isValid:
          type: boolean
    VersionValidationRequest:
      required:
      - productVersionId
      - version
      type: object
      properties:
        productVersionId:
          type: string
        version:
          type: string
    ProductMilestone:
      required:
      - id
      - version
      type: object
      properties:
        endDate:
          type: integer
          format: int64
        id:
          type: string
        plannedEndDate:
          type: integer
          format: int64
        productRelease:
          $ref: '#/components/schemas/ProductReleaseRef'
        productVersion:
          $ref: '#/components/schemas/ProductVersionRef'
        startingDate:
          type: integer
          format: int64
        version:
          pattern: ^[0-9]+\.[0-9]+(\.\w[\w-]*)+$
          type: string
    BuildPushResultRef:
      required:
      - buildId
      - id
      - status
      type: object
      properties:
        brewBuildId:
          type: integer
          format: int32
        brewBuildUrl:
          type: string
        buildId:
          type: string
        id:
          type: string
        logContext:
          type: string
        message:
          type: string
        status:
          type: string
          enum:
          - ACCEPTED
          - SUCCESS
          - REJECTED
          - FAILED
          - SYSTEM_ERROR
          - CANCELED
    ProductMilestoneCloseResult:
      type: object
      properties:
        buildPushResults:
          type: array
          items:
            $ref: '#/components/schemas/BuildPushResultRef'
        endDate:
          type: integer
          format: int64
        id:
          type: string
        milestone:
          $ref: '#/components/schemas/ProductMilestoneRef'
        startingDate:
          type: integer
          format: int64
        status:
          type: string
          enum:
          - IN_PROGRESS
          - FAILED
          - SUCCEEDED
          - CANCELED
          - SYSTEM_ERROR
    ProductMilestoneCloseResultPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductMilestoneCloseResult'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageProductMilestoneCloseResult:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductMilestoneCloseResult'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    ProductRelease:
      required:
      - id
      type: object
      properties:
        commonPlatformEnumeration:
          type: string
        id:
          type: string
        productMilestone:
          $ref: '#/components/schemas/ProductMilestoneRef'
        productPagesCode:
          type: string
        productVersion:
          $ref: '#/components/schemas/ProductVersionRef'
        releaseDate:
          type: integer
          format: int64
        supportLevel:
          type: string
          enum:
          - UNRELEASED
          - EARLYACCESS
          - SUPPORTED
          - EXTENDED_SUPPORT
          - EOL
        version:
          type: string
    ProductReleasePage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductRelease'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageProductRelease:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductRelease'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    ProductMilestonePage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductMilestone'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageProductMilestone:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ProductMilestone'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    Project:
      required:
      - id
      type: object
      properties:
        buildConfigs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BuildConfigurationRef'
        description:
          type: string
        engineeringTeam:
          type: string
        id:
          type: string
        issueTrackerUrl:
          type: string
        name:
          type: string
        projectUrl:
          type: string
        technicalLeader:
          type: string
    ProjectPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Project'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageProject:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Project'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    SCMRepositoryPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/SCMRepository'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    PageSCMRepository:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/SCMRepository'
        pageIndex:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalHits:
          type: integer
          format: int32
        totalPages:
          type: integer
          format: int32
    RepositoryCreationResponse:
      type: object
      properties:
        repository:
          $ref: '#/components/schemas/SCMRepository'
        taskId:
          type: integer
          format: int32
    CreateAndSyncSCMRequest:
      required:
      - scmUrl
      type: object
      properties:
        preBuildSyncEnabled:
          type: boolean
        scmUrl:
          type: string
