openapi: 3.0.1
info:
  title: Codacy API
  description: |
    Codacy API v3 reference.

    [Import the OpenAPI 3.0.1 definition](https://api.codacy.com/api/api-docs/swagger.yaml) into your development tools to help bootstrap your integration with Codacy.
    For more information see [Using the Codacy API](https://docs.codacy.com/codacy-api/using-the-codacy-api/).
  contact:
    name: Codacy Team
    url: https://www.codacy.com
    email: code@codacy.com
  license:
    name: Codacy. All rights reserved
    url: https://www.codacy.com
  version: 3.1.0
servers:
  - url: https://app.codacy.com/api/v3
security:
  - ApiKeyAuth: []
tags:
  - name: version
  - name: analysis
  - name: repository
  - name: account
  - name: organization
  - name: people
  - name: billing
  - name: integrations
  - name: configuration
  - name: health
  - name: admin
  - name: languages
  - name: tools
  - name: metrics
  - name: coding standards
  - name: file
  - name: coverage
  - name: security
  - name: jira
  - name: airisk
paths:
  /version:
    get:
      tags:
        - version
      summary: Return the version of the Codacy installation
      operationId: getVersion
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Version'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: version
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories:
    get:
      tags:
        - analysis
      summary: List organization repositories with analysis information for the authenticated user
      description: For Bitbucket, you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider.
      operationId: listOrganizationRepositoriesWithAnalysis
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/repositoriesParam'
        - $ref: '#/components/parameters/segmentsParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryWithAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: analysis
  /search/analysis/organizations/{provider}/{remoteOrganizationName}/repositories:
    post:
      tags:
        - analysis
      summary: Search organization repositories with analysis information for the authenticated user
      description: For Bitbucket, you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider.
      operationId: searchOrganizationRepositoriesWithAnalysis
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: Search query body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchOrganizationRepositoriesWithAnalysis'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryWithAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: analysis
      x-codegen-request-body-name: searchOrganizationRepositoriesWithAnalysisBody
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}:
    get:
      tags:
        - analysis
      summary: Get a repository with analysis information for the authenticated user
      operationId: getRepositoryWithAnalysis
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryWithAnalysisResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools:
    get:
      tags:
        - analysis
      summary: Get analysis tools settings of a repository
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listRepositoryTools
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalysisToolsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/conflicts:
    get:
      tags:
        - analysis
      summary: Get tools with conflicts in a repository
      operationId: listRepositoryToolConflicts
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryConflictsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}:
    patch:
      tags:
        - analysis
      summary: |
        Configure an analysis tool by enabling and disabling its patterns for a repository.
        This endpoint will apply the changes without verifying if the repository belongs to a coding standard.
      operationId: configureTool
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/toolUuidParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigureToolBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
      x-codegen-request-body-name: configureToolBody
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns:
    get:
      tags:
        - analysis
      summary: |
        Patterns configuration for (repository, tool). Uses standard if applied, repository settings otherwise.
      operationId: listRepositoryToolPatterns
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/categoriesParam'
        - $ref: '#/components/parameters/severityLevelsParam'
        - $ref: '#/components/parameters/tagsParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/enabledPatternParam'
        - $ref: '#/components/parameters/recommendedPatternParam'
        - $ref: '#/components/parameters/patternsSortParam'
        - $ref: '#/components/parameters/directionParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfiguredPatternsListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
    patch:
      tags:
        - analysis
      summary: |
        Bulk updates the code patterns of a tool in a repository.
        Use filters to specify the code patterns to update, or omit the filters to update all code patterns.
      operationId: updateRepositoryToolPatterns
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/categoriesParam'
        - $ref: '#/components/parameters/severityLevelsParam'
        - $ref: '#/components/parameters/tagsParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/recommendedPatternParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePatternsBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
      x-codegen-request-body-name: updatePatternsBody
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns/{patternId}:
    get:
      tags:
        - analysis
      summary: |
        Patterns configuration for (repository, tool, pattern). Uses standard if applied, repository settings otherwise.
      operationId: getRepositoryToolPattern
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/patternIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfiguredPatternResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/patterns/overview:
    get:
      tags:
        - analysis
      summary: |
        Patterns overview for tool. Uses standard if applied, repository settings otherwise.
      operationId: toolPatternsOverview
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/categoriesParam'
        - $ref: '#/components/parameters/severityLevelsParam'
        - $ref: '#/components/parameters/tagsParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/enabledPatternParam'
        - $ref: '#/components/parameters/recommendedPatternParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolPatternsOverviewResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tools/{toolUuid}/conflicts:
    get:
      tags:
        - analysis
      summary: |
        Patterns with Coding Standards conflicts for tool.
      operationId: listRepositoryToolPatternConflicts
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/toolUuidParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryToolConflictsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/analysis-progress:
    get:
      tags:
        - analysis
      summary: Get the analysis progress of a repository
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: getFirstAnalysisOverview
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirstAnalysisOverviewResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests:
    get:
      tags:
        - analysis
      summary: List pull requests from a repository that the user has access to
      description: |
        You can search this endpoint for either `last-updated` (default), `impact` or `merged`

        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listRepositoryPullRequests
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/searchParam'
        - name: includeNotAnalyzed
          in: query
          description: If true, also return pull requests that weren't analyzed
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullRequestWithAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}:
    get:
      tags:
        - analysis
      summary: Get pull request from a repository
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: getRepositoryPullRequest
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullRequestWithAnalysis'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}:
    get:
      tags:
        - coverage
      summary: Get pull request coverage information from a repository
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: getRepositoryPullRequestCoverage
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullRequestWithCoverageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: coverage
  /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/files:
    get:
      tags:
        - coverage
      summary: Get pull request files coverage information from a repository
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: getRepositoryPullRequestFilesCoverage
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullRequestFilesCoverageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: coverage
  /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/reanalyze:
    get:
      tags:
        - coverage
      summary: Triggers the reanalysis of the latest coverage report uploaded for the pull request
      operationId: reanalyzeCoverage
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: coverage
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/commits:
    get:
      tags:
        - analysis
      summary: Return analysis results for the commits in a pull request
      operationId: getPullRequestCommits
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/cursorParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitWithAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/bypass:
    post:
      tags:
        - analysis
      summary: Bypass analysis status in a pull request
      operationId: bypassPullRequestAnalysis
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/ai-reviewer/trigger:
    post:
      tags:
        - analysis
      summary: Triggers an AI review for a pull request
      operationId: triggerPullRequestAiReview
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/coverage/status:
    get:
      tags:
        - analysis
        - coverage
      summary: List all coverage reports uploaded for the common ancestor commit and head commit of a pull request branch
      operationId: getPullRequestCoverageReports
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoveragePullRequestResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/issues:
    get:
      tags:
        - analysis
      summary: List issues found in a pull request
      description: Use the status parameter to filter by new or fixed issues
      operationId: listPullRequestIssues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
        - $ref: '#/components/parameters/issueStatusParam'
        - $ref: '#/components/parameters/onlyPotentialParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullRequestIssuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/clones:
    get:
      tags:
        - analysis
      summary: List duplicate code blocks found in a pull request
      description: Use the status parameter to filter by new or removed duplicates
      operationId: listPullRequestClones
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
        - $ref: '#/components/parameters/issueStatusParam'
        - $ref: '#/components/parameters/onlyPotentialParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClonesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/clones:
    get:
      tags:
        - analysis
      summary: List duplicate code blocks found in a commit
      description: Use the status parameter to filter by new or removed duplicates
      operationId: listCommitClones
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - name: commitUuid
          in: path
          description: UUID or SHA identifier of the source commit
          required: true
          schema:
            type: string
            x-ms-parameter-location: method
          example: 2957025d42e8daadf937d4044516f991d21deea4
          x-ms-parameter-location: method
        - $ref: '#/components/parameters/issueStatusParam'
        - $ref: '#/components/parameters/onlyPotentialParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClonesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/logs:
    get:
      tags:
        - analysis
      summary: Get analysis logs for a pull request
      operationId: listPullRequestLogs
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/logs:
    get:
      tags:
        - analysis
      summary: Get analysis logs for a commit
      operationId: listCommitLogs
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuidParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/quality-settings:
    get:
      tags:
        - analysis
      summary: Get quality settings for the specific repository
      description: |
        **Deprecated:** Use [getQualitySettingsForRepository](#getqualitysettingsforrepository) instead.

        **Note:** When applied to public repositories, this operation does not require authentication.
      deprecated: true
      operationId: getRepositoryQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeprecatedRepositoryQualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/files:
    get:
      tags:
        - analysis
      summary: List files of a commit with analysis results
      operationId: listCommitFiles
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuid'
        - $ref: '#/components/parameters/branchNameParam'
        - name: filter
          in: query
          description: |
            Optional field to filter the results. The possible values are empty (default, return files changed in the commit or with coverage changes) or `withCoverageChanges` (return files with coverage changes)
          schema:
            type: string
            enum:
              - withCoverageChanges
            x-ms-parameter-location: method
          x-ms-parameter-location: method
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/filesSearchFilter'
        - name: sortColumn
          in: query
          description: |
            Field used to sort the results. The possible values are `deltaCoverage` (to sort by the coverage variation value of the files), `totalCoverage` (to sort by the total coverage value of the files) or `filename` (default - to sort by the name of the files)
          schema:
            type: string
            default: filename
            enum:
              - totalCoverage
              - deltaCoverage
              - filename
        - name: columnOrder
          in: query
          description: Sort direction. The possible values are `asc` (ascending - default) or `desc` (descending).
          schema:
            type: string
            default: asc
            enum:
              - asc
              - desc
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/files:
    get:
      tags:
        - analysis
      summary: List files of a pull request with analysis results
      operationId: listPullRequestFiles
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - name: sortColumn
          in: query
          description: |
            Field used to sort the results. The possible values are `deltaCoverage` (to sort by the coverage variation value of the files), `totalCoverage` (to sort by the total coverage value of the files) or `filename` (default - to sort by the name of the files)
          schema:
            type: string
            default: filename
            enum:
              - totalCoverage
              - deltaCoverage
              - filename
        - name: columnOrder
          in: query
          description: Sort direction. The possible values are `asc` (ascending - default) or `desc` (descending).
          schema:
            type: string
            default: asc
            enum:
              - asc
              - desc
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/follow:
    post:
      tags:
        - repository
        - configuration
      summary: Follow a repository that was already added to Codacy
      operationId: followAddedRepository
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddedStateResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    delete:
      tags:
        - repository
        - configuration
      summary: Unfollow a repository
      operationId: unfollowRepository
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository:
    get:
      tags:
        - repository
        - configuration
      summary: Get quality settings for the specific repository
      operationId: getQualitySettingsForRepository
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryQualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    put:
      tags:
        - repository
        - configuration
      summary: Update quality goals settings for the specific repository
      operationId: updateRepositoryQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: The new value for the quality goals of the repository
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryQualitySettings'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryQualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: updatedQualitySettings
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/ssh-user-key:
    post:
      tags:
        - repository
        - configuration
      summary: Regenerate the user SSH key that Codacy uses to clone the repository
      description: Codacy automatically adds the new public user SSH key to the user account on the Git provider. Using a user SSH key is recommended if your repository includes submodules.
      operationId: regenerateUserSshKey
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKeySettingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/ssh-repository-key:
    post:
      tags:
        - repository
        - configuration
      summary: Regenerate the SSH key that Codacy uses to clone the repository
      description: Codacy automatically adds the new public SSH key to the repository on the Git provider.
      operationId: regenerateRepositorySshKey
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKeySettingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/stored-ssh-key:
    get:
      tags:
        - repository
        - configuration
      summary: Get the public SSH key for the repository
      description: The returned key is the most recently generated and can be either a user or repository SSH key.
      operationId: getRepositoryPublicSshKey
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKeySettingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/sync:
    post:
      tags:
        - repository
        - configuration
      summary: Synchronize repository name and visibility with Git provider
      operationId: syncRepositoryWithProvider
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncProviderSettingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/analysis:
    get:
      tags:
        - repository
        - configuration
      summary: Get the status of the repository setting **Run analysis on your build server**
      operationId: getBuildServerAnalysisSetting
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildServerAnalysisSettingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    patch:
      tags:
        - repository
        - configuration
      summary: Update the status of the repository setting **Run analysis on your build server**
      operationId: updateBuildServerAnalysisSetting
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: New value for the repository setting **Run analysis on your build server**
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildServerAnalysisSettingRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildServerAnalysisSettingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: targetBuildServerAnalysisSetting
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/languages:
    get:
      tags:
        - language-settings
      summary: Get the list of all languages with their extensions and enabled status
      operationId: getRepositoryLanguages
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryLanguageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: fileExtension
    patch:
      tags:
        - language-settings
      summary: Configure language settings for this repo
      operationId: patchRepositoryLanguageResponseSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RepositoryLanguagesBody'
        required: true
      responses:
        '204':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future.
              schema:
                type: string
                enum:
                  - experimental
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: fileExtension
      x-codegen-request-body-name: RepositoryLanguagesBody
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/file-extensions:
    get:
      tags:
        - file
      summary: Get the list of supported file extensions associated with each language in a repository
      operationId: getFileExtensionsSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileExtensionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: true
      x-jvm-package: fileExtension
    patch:
      tags:
        - file
      summary: Update the custom file extensions for a repository
      operationId: patchFileExtensionsSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileExtensionsBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: true
      x-jvm-package: fileExtension
      x-codegen-request-body-name: FileExtensionsBody
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits:
    get:
      tags:
        - repository
        - configuration
      summary: Get quality settings for the commits of a repository
      description: |
        `diffCoverageThreshold` is never returned because this threshold isn't currently supported for commits.
      operationId: getCommitQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    put:
      tags:
        - repository
        - configuration
      summary: Update quality settings for the commits of a repository
      operationId: updateCommitQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: The new value for the quality settings of commits in a repository
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QualityGate'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: updatedQualitySettings
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/commits/reset:
    post:
      tags:
        - repository
        - configuration
      summary: Reset quality settings for the commits of a repository to Codacy’s default values
      operationId: resetCommitsQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests/reset:
    post:
      tags:
        - repository
        - configuration
      summary: Reset quality settings for the pull requests of a repository to Codacy’s default values
      operationId: resetPullRequestsQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/repository/reset:
    post:
      tags:
        - repository
        - configuration
      summary: Reset quality settings for the repository to Codacy’s default values
      operationId: resetRepositoryQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryQualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/settings/quality/pull-requests:
    get:
      tags:
        - repository
        - configuration
      summary: Get quality settings for the pull requests of a repository
      operationId: getPullRequestQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    put:
      tags:
        - repository
        - configuration
      summary: Update quality settings for the pull requests of a repository
      operationId: updatePullRequestQualitySettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: The new value for the quality settings of pull requests in the repository
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QualityGate'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualitySettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: updatedQualitySettings
  /analysis/organizations/{provider}/{remoteOrganizationName}/pull-requests:
    get:
      tags:
        - analysis
      summary: List organization pull requests from repositories that the user has access to
      description: You can sort by `last-updated` (default), `impact`, or `merged`
      operationId: listOrganizationPullRequests
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/repositoriesParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PullRequestWithAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commit-statistics:
    get:
      tags:
        - analysis
      summary: List commit analysis statistics for the last n days that have analysis data
      description: |
        Returns the last `n` days with available data. This means that the returned days may not match the last `n` calendar days.

        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listCommitAnalysisStats
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
        - $ref: '#/components/parameters/daysParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitAnalysisStatsListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/category-overviews:
    get:
      tags:
        - analysis
      summary: List analysis category overviews for a repository that the user has access to
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listCategoryOverviews
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryOverviewListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/search:
    post:
      tags:
        - analysis
      summary: List issues in a repository
      description: |
        Returns information about the issues that Codacy found in a repository as available on the [Issues page](https://docs.codacy.com/repositories/issues-view/).
        Use [SearchRepositoryIssuesBody](#tocssearchrepositoryissuesbody) to filter the returned issues.
      operationId: searchRepositoryIssues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        $ref: '#/components/requestBodies/searchIssuesFilter'
      responses:
        '200':
          description: List of issues in the repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRepositoryIssuesListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/bulk-ignore:
    post:
      tags:
        - analysis
      summary: Bulk ignore issues in a repository
      description: Receives a list of issue ids and ignores them in the specified repository. Limited to 50 issues at once
      operationId: bulkIgnoreIssues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: List of issue ids to ignore
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkIgnoreIssuesBody'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/overview:
    post:
      tags:
        - analysis
      summary: Get an overview of the issues in a repository
      description: |
        Returns information about the number of issues that Codacy found in a repository as available on the [Issues page](https://docs.codacy.com/repositories/issues-view/).
        Use [SearchRepositoryIssuesBody](#tocssearchrepositoryissuesbody) to filter the returned issues.
      operationId: issuesOverview
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        $ref: '#/components/requestBodies/searchIssuesFilter'
      responses:
        '200':
          description: Overview of the issues in the repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssuesOverviewResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}:
    get:
      tags:
        - analysis
      summary: Get information about an open issue in a repository
      operationId: getIssue
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/resultDataIdParam'
      responses:
        '200':
          description: An issue found in a repository.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIssueResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
    patch:
      tags:
        - analysis
      summary: Ignore or unignore an issue
      operationId: updateIssueState
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/issueParam'
      requestBody:
        description: New ignored status of the issue
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueStateBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
      x-codegen-request-body-name: issueState
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/{issueId}/false-positive/ignore:
    patch:
      tags:
        - analysis
      summary: Ignore the false positive result in an issue
      operationId: ignoreFalsePositive
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/issueParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/ignoredIssues/search:
    post:
      tags:
        - analysis
      summary: List ignored issues in a repository
      description: |
        Ignored issues are issues that Codacy found but were marked as ignored on the Codacy UI. Use [SearchRepositoryIssuesBody](#tocssearchrepositoryissuesbody) to filter results.
      operationId: searchRepositoryIgnoredIssues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        $ref: '#/components/requestBodies/searchIssuesFilter'
      responses:
        '200':
          description: List of ignored issues in the repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IgnoredIssuesListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits:
    get:
      tags:
        - analysis
      summary: Return analysis results for the commits in a branch
      operationId: listRepositoryCommits
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: List of commits with analysis results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitWithAnalysisListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}:
    get:
      tags:
        - analysis
      summary: Get analysis results for a commit
      operationId: getCommit
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuid'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitWithAnalysis'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/deltaStatistics:
    get:
      tags:
        - analysis
      summary: Get analysis statistics of a commit
      description: |-
        Returns the quality metric deltas introduced by a commit. The values of the metrics are 0 or null if Codacy didn't analyze the commit yet.
        To obtain the full analysis statistics for the repository use the endpoint [getRepositoryWithAnalysis](#getrepositorywithanalysis).
      operationId: getCommitDeltaStatistics
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuid'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitDeltaStatistics'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{srcCommitUuid}/deltaIssues:
    get:
      tags:
        - analysis
      summary: List the issues introduced or fixed by a commit
      description: |-
        Returns a list of issues introduced or fixed given a source commit SHA. By default, Codacy will calculate the issues by creating a delta between the source commit and its parent commit. As an alternative, you can also provide a destination commit to calculate the deltas.
        To list all issues in the repository, use [searchRepositoryIssues](#searchrepositoryissues).
      operationId: listCommitDeltaIssues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - name: srcCommitUuid
          in: path
          description: UUID or SHA string that identifies the source commit
          required: true
          schema:
            type: string
            x-ms-parameter-location: method
          example: 2957025d42e8daadf937d4044516f991d21deea4
          x-ms-parameter-location: method
        - name: targetCommitUuid
          in: query
          description: UUID or SHA string that identifies the target commit
          schema:
            type: string
            x-ms-parameter-location: method
          example: 2957025d42e8daadf937d4044516f991d21deea4
          x-ms-parameter-location: method
        - $ref: '#/components/parameters/issueStatusParam'
        - $ref: '#/components/parameters/onlyPotentialParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitDeltaIssuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /user:
    get:
      tags:
        - account
      summary: Get the authenticated user
      operationId: getUser
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
    delete:
      summary: Delete the authenticated user
      tags:
        - account
      operationId: deleteUser
      responses:
        '204':
          description: Successful operation
          content: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
    patch:
      summary: Update the authenticated user
      tags:
        - account
      operationId: patchUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserBody'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
      x-codegen-request-body-name: UserBody
  /user/organizations:
    get:
      tags:
        - account
      summary: List organizations for the authenticated user
      description: List organizations for the authenticated user
      operationId: listUserOrganizations
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/organizations/{provider}:
    get:
      tags:
        - account
      summary: List organizations for the authenticated user
      description: List organizations for the authenticated user
      operationId: listOrganizations
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/providerParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/organizations/{provider}/{remoteOrganizationName}:
    get:
      tags:
        - account
      summary: Get organization for the authenticated user
      description: Get organization for the authenticated user
      operationId: getUserOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/emails:
    get:
      tags:
        - account
      summary: List emails for the authenticated user
      operationId: listUserEmails
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserEmailsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/emails/remove:
    post:
      tags:
        - account
      summary: Remove an email from user account
      description: |
        Removes the specified email address from the authenticated user's account. The primary/default email
        cannot be removed. A user must always have at least one email address associated with their account.
      operationId: removeUserEmail
      requestBody:
        $ref: '#/components/requestBodies/emailParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/emails/settings:
    get:
      tags:
        - account
      summary: Retrieve email notification settings
      description: |
        Returns the current email notification preferences, including per-commit notifications,
        pull request notifications, and activity.
      operationId: getEmailSettings
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailNotificationSettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
    patch:
      tags:
        - account
      summary: Update email notification preferences
      description: |
        Modifies the user's email notification settings. Settings can be updated individually without affecting
        other settings. This endpoint allows users to control which events trigger email notifications.
      operationId: updateEmailSettings
      requestBody:
        $ref: '#/components/requestBodies/updateEmailSettingsRequest'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/emails/set-default:
    post:
      tags:
        - account
      summary: Set an email as default
      description: |
        Designates the specified email as the default email for the authenticated user. This operation will
        automatically remove the default status from any previously default email.
        Only one email can be default at any time.
      operationId: setDefaultEmail
      requestBody:
        $ref: '#/components/requestBodies/emailParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/integrations:
    get:
      tags:
        - account
      summary: List integrations for the authenticated user
      description: List integrations for the authenticated user
      operationId: listUserIntegrations
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/integrations/{provider}:
    delete:
      summary: Delete an integration for the authenticated user
      tags:
        - account
      operationId: deleteIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /organizations/{provider}/{remoteOrganizationName}:
    get:
      tags:
        - organization
      summary: Get organization
      operationId: getOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationWithMetaResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
    delete:
      tags:
        - organization
      summary: Delete organization
      description: Delete organization
      operationId: deleteOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/churnFeedbackParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/installation/{installationId}:
    get:
      tags:
        - account
      summary: Get organization by provider installation id
      description: __Note__ Currently supports only `gh` as the `provider` parameter.
      operationId: getOrganizationByInstallationId
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/installationIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /organizations/{provider}/{remoteOrganizationName}/billing:
    get:
      tags:
        - organization
      summary: Get detailed information about organization billing
      description: Get detailed information about organization billing
      operationId: organizationDetailedBilling
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationBillingInformationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
    post:
      tags:
        - organization
      summary: Update the information about organization billing
      description: Update the information about organization billing
      operationId: updateOrganizationDetailedBilling
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/billingDetailsUpdateRequest'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/billing/card:
    get:
      tags:
        - organization
      summary: Get card information about organization billing
      description: Get card information about organization billing
      operationId: organizationBillingCard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
    post:
      tags:
        - organization
      summary: Add a card to the organization
      description: Add a card to the organization relying on the token provided by Stripe /v1/tokens
      operationId: organizationBillingAddCard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/cardCreationRequest'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/billing/estimation:
    get:
      tags:
        - organization
      summary: Get a billing estimation
      operationId: organizationBillingEstimation
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/paymentPlanCodeParam'
        - name: promoCode
          in: query
          description: Optional promotional code to apply to the billing estimation.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingEstimationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/billing/change-plan:
    post:
      tags:
        - organization
      summary: Change the plan of an organization
      description: Available plan codes can be retrieved using [listPaymentPlans](#listpaymentplans)
      operationId: changeOrganizationPlan
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/changePlanRequest'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/billing/sync:
    post:
      tags:
        - organization
      summary: Sync the information about organization billing
      operationId: syncMarketplaceBilling
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings/apply:
    post:
      tags:
        - organization
      summary: Apply default settings to all repositories
      operationId: applyProviderSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings:
    get:
      tags:
        - organization
      summary: Get Git provider settings
      operationId: getProviderSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderIntegrationSettingsBody'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
    patch:
      tags:
        - organization
      summary: Create or update Git provider settings
      operationId: updateProviderSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderIntegrationSettingsPatchBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
      x-codegen-request-body-name: providerIntegrationSettingsBody
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/providerSettings:
    get:
      tags:
        - repository
      summary: Get Git provider integration settings for a repository
      operationId: getRepositoryIntegrationsSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryIntegrationSettings'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: repository
    patch:
      tags:
        - repository
      summary: Update Git provider integration settings for a repository
      operationId: updateRepositoryIntegrationsSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderIntegrationSettingsPatchBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: repository
      x-codegen-request-body-name: repositoryIntegrationSettingsBody
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/postCommitHook:
    get:
      tags:
        - repository
      summary: Create a [post-commit hook](https://docs.codacy.com/repositories-configure/integrations/post-commit-hooks/) for a repository
      operationId: createPostCommitHook
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          description: An unexpected error occurred while creating the post-commit hook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/refreshProvider:
    post:
      tags:
        - repository
      summary: Refresh the Git provider integration for a repository (GitLab and Bitbucket only)
      description: Codacy will use the authenticated user to create comments on new pull requests
      operationId: refreshProviderRepositoryIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          description: An unexpected error occurred while refreshing the repository Git provider integration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories:
    get:
      tags:
        - organization
      summary: List organization repositories for the authenticated user
      description: |
        For Bitbucket you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider.
        This endpoint may return more results than those specified in the limit parameter.
        If this endpoint doesn't return your repositories after you've made recent changes to the permissions on your Git provider,
        use the endpoint [cleanCache](#cleancache) to force refreshing the list of repositories for the authenticated user.

        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listOrganizationRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/repositoryFilterParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/segmentsParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
  /onboarding/organizations/{provider}/{remoteOrganizationName}/progress:
    get:
      tags:
        - organization
      summary: Retrieve the onboarding progress of an organization
      operationId: retrieveOrganizationOnboardingProgress
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationOnboardingProgressResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/people:
    get:
      tags:
        - people
      summary: List people of an organization
      description: List people of an organization
      operationId: listPeopleFromOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/onlyMembersParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPeopleResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
    post:
      tags:
        - people
      summary: Add people to organization
      description: Add people to organization as members or committers (depending if they have a pending request already)
      operationId: addPeopleToOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/emailListParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/peopleCsv:
    get:
      tags:
        - people
      summary: Generate a CSV file listing the people of an organization
      description: |
        Generate a CSV file containing the `name`, `email`, `lastLogin`, and `lastAnalysis` of each person of the organization
      operationId: listPeopleFromOrganizationCsv
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: peopleCsv
  /organizations/{provider}/{remoteOrganizationName}/analysisConfigurationMinimumPermission:
    patch:
      tags:
        - organization
      summary: Configure what your organization members can do across the Codacy platform
      description: |
        Define the lowest permission level that can configure patterns, configure which file extensions and branches are analyzed, and ignore issues and files
      operationId: patchOrganizationSettings
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: New permission level
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipPrivilegesBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
      x-codegen-request-body-name: permissionLevel
  /organizations/{provider}/{remoteOrganizationName}/people/remove:
    post:
      tags:
        - people
      summary: Remove people from an organization
      description: Remove people from an organization
      operationId: removePeopleFromOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: List of committers/members to remove
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemovePeopleBody'
        required: true
      responses:
        '200':
          description: Remove people response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemovePeopleResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
      x-codegen-request-body-name: removePeopleParameter
  /organizations/{provider}/{remoteOrganizationName}/gitProviderAppPermissions:
    get:
      tags:
        - app
      summary: Get the status of Codacy Git provider app permissions for an organization
      operationId: gitProviderAppPermissions
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation. i.e. we could determine permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitProviderAppPermissions'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/people/suggestions:
    get:
      tags:
        - people
      summary: List people suggestions for an organization
      description: List people suggestions for an organization
      operationId: peopleSuggestionsForOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: List people suggestions response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuggestedAuthorsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/reanalyzeCommit:
    post:
      tags:
        - repository
      summary: Reanalyze a specific commit in a repository
      operationId: reanalyzeCommitById
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: UUID or SHA string that identifies the commit
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommitUuidRequest'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: commitUuid
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}:
    get:
      tags:
        - repository
      summary: Fetch the specified repository
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: getRepository
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositoryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    delete:
      tags:
        - repository
      summary: Delete the specified repository
      operationId: deleteRepository
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/people/suggestions:
    get:
      tags:
        - people
      summary: List people suggestions for a repository
      description: List people suggestions for a repository
      operationId: peopleSuggestionsForRepository
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: List people suggestions response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepositorySuggestedAuthorsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches:
    get:
      tags:
        - repository
      summary: List repository branches
      description: |
        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listRepositoryBranches
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchStatusParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/branchesSortParam'
        - $ref: '#/components/parameters/directionParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BranchListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}:
    patch:
      tags:
        - repository
      summary: Update the settings for a repository branch
      description: |
        Toggle analysis for a branch.
      operationId: updateRepositoryBranchConfiguration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNamePathParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRepositoryBranchConfigurationBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: updateRepositoryBranchConfigurationBody
  /organizations/{provider}/{remoteOrganizationName}/joinMode:
    post:
      tags:
        - organization
      summary: Update the join mode of an organization
      operationId: updateJoinMode
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: New join mode of the organization
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JoinModeRequest'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
      x-codegen-request-body-name: joinMode
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}/setDefault:
    post:
      tags:
        - repository
      summary: Set branch as default
      description: |
        Sets the default branch for a repository. The new default branch must already be enabled on Codacy.
      operationId: setRepositoryBranchAsDefault
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNamePathParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/branches/{branchName}/required-checks:
    get:
      tags:
        - repository
      summary: Get branch required status checks
      description: |
        Get branch required status checks
      operationId: getBranchRequiredChecks
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNamePathParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BranchRequiredChecksResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/gh/{remoteOrganizationName}/repositories/{repositoryName}/badge:
    post:
      tags:
        - repository
      summary: Create a pull request adding the Codacy analysis badge to the repository
      description: |
        Creates a pull request adding the Codacy static code analysis badge
        to the README of the GitHub repository if the repository is public
        and doesn't already have a badge.

        **Note:** The pull request is created asynchronously and may fail
        even if this endpoint responds successfully.
      operationId: createBadgePullRequest
      parameters:
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/people/leave/check:
    get:
      tags:
        - organization
      summary: Check if the user can leave the organization
      description: Check if the user can leave the organization or returns the reasons why they can not.
      operationId: checkIfUserCanLeave
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeaveOrgCheckResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/join:
    get:
      tags:
        - organization
      summary: List requests to join an organization
      description: Endpoint to list requests to join an organization by provider and organization name
      operationId: listOrganizationJoinRequests
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRequestsToJoinResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
    post:
      tags:
        - organization
      summary: Join an organization
      description: Endpoint to join an organization by provider and name
      operationId: joinOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JoinResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
    delete:
      tags:
        - organization
      summary: Decline requests to join an organization
      description: |
        Decline requests to join an organization by specifying the provider, organization name, and the user emails to be rejected.
      operationId: declineRequestsToJoinOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/emailListParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/join/{accountIdentifier}:
    delete:
      tags:
        - organization
      summary: Delete a request to join an organization
      description: Delete a request to join an organization by provider, name, and user ID
      operationId: deleteOrganizationJoinRequest
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/accountIdentifierParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/cache/clean:
    post:
      tags:
        - organization
      summary: Clean organization cache for the authenticated user
      description: |
        Clean cached information regarding the authenticated user on the specified organization, such as the list of repositories in the organization.
      operationId: cleanCache
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /repositories:
    post:
      tags:
        - repository
      summary: Add a repository to Codacy
      description: Add a new repository to an existing organization on Codacy
      operationId: addRepository
      parameters:
        - name: caller
          in: header
          description: Optional identifier for the calling application or service.
          schema:
            type: string
      requestBody:
        description: Information of repository to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRepositoryBody'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Repository'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: addRepositoryParameter
  /organizations:
    post:
      tags:
        - organization
      summary: Add an organization to Codacy
      description: Add an organization from a Git provider to Codacy
      operationId: addOrganization
      requestBody:
        description: Information of the organization to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrganizationBody'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOrganizationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
      x-codegen-request-body-name: addOrganizationParameter
  /user/enterprise/integrations/{provider}:
    delete:
      tags:
        - enterprise
      summary: Delete an Enterprise account token
      description: |
        This endpoint allows the authenticated user to delete a GitHub Enterprise account token.
        The token will no longer be used to access enterprise-level resources on GitHub.
      operationId: deleteEnterpriseToken
      parameters:
        - $ref: '#/components/parameters/providerParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: enterprise
  /enterprises/{provider}/cache/clean:
    post:
      tags:
        - enterprise
      summary: Clean enterprise cache for the authenticated user
      description: |
        Clean cached information regarding the authenticated user on the specified enterprise, such as the list of repositories in the enterprise.
      operationId: cleanEnterpriseCache
      parameters:
        - $ref: '#/components/parameters/providerParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: enterprise
  /user/enterprise/integrations:
    get:
      tags:
        - enterprise
      summary: List user configured enterprise provider account tokens on Codacy's platform
      operationId: listUserEnterpriseProviderTokens
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseAccountTokenListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: enterprise
    post:
      tags:
        - enterprise
      summary: Add an Enterprise account token
      description: |
        This endpoint allows the authenticated user to add a GitHub Enterprise account token with read permissions.
        The token will be used to access enterprise-level resources on GitHub.
      operationId: addEnterpriseToken
      requestBody:
        description: Information of the enterprise token to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddEnterpriseAccountTokenBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: enterprise
      x-codegen-request-body-name: addEnterpriseProviderToken
  /user/tokens:
    get:
      tags:
        - account
      summary: List the [account API tokens](https://docs.codacy.com/codacy-api/api-tokens/) of the authenticated user
      operationId: getUserApiTokens
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTokenListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
    post:
      tags:
        - account
      summary: Create a new [account API token](https://docs.codacy.com/codacy-api/api-tokens/) for the authenticated user
      operationId: createUserApiToken
      requestBody:
        description: Optional token expiration timestamp
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiTokenCreateRequest'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiToken'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /user/tokens/{tokenId}:
    delete:
      tags:
        - account
      summary: Delete an [account API token](https://docs.codacy.com/codacy-api/api-tokens/) for the authenticated user by ID
      operationId: deleteUserApiToken
      parameters:
        - $ref: '#/components/parameters/tokenIdParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: account
  /billing/{provider}/{remoteOrganizationName}/subscription:
    delete:
      tags:
        - billing
      summary: Delete billing subscription for organization
      description: Delete billing subscription for organization
      operationId: deleteSubscription
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        $ref: '#/components/requestBodies/churnFeedbackParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: billing
  /login/integrations:
    get:
      tags:
        - integrations
      summary: List configured login providers on Codacy's platform
      description: List configured login providers on Codacy's platform
      operationId: listConfiguredLoginIntegrations
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfiguredLoginIntegrationListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: integrations
  /provider/integrations:
    get:
      tags:
        - integrations
      summary: List provider integrations existing on Codacy's platform
      description: List provider integrations existing on Codacy's platform
      operationId: listProviderIntegrations
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderIntegrationListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: integrations
  /configuration/status:
    get:
      tags:
        - configuration
      summary: Get configuration status
      description: Get configuration status
      operationId: getConfigurationStatus
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationStatusResponse'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: configuration
  /health:
    get:
      tags:
        - health
      summary: Health check endpoint
      description: Health check endpoint
      operationId: health
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: health
  /admin:
    get:
      tags:
        - admin
      x-jvm-package: admin
      summary: (Codacy admins only) Search for an entity like Organization or Repository, supports ids and names
      operationId: adminSearch
      parameters:
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminEntityGroupResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /admin/{adminEntityGroupSlug}/{adminEntityIdentifier}:
    get:
      tags:
        - admin
      x-jvm-package: admin
      summary: (Codacy admins only) Returns the requested admin entity
      operationId: getAdminEntity
      parameters:
        - $ref: '#/components/parameters/adminEntityGroupSlugParam'
        - $ref: '#/components/parameters/adminEntityIdentifierParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminEntityResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
  /admin/{adminEntityGroupSlug}/{adminEntityIdentifier}/{adminResourceSlug}:
    get:
      tags:
        - admin
      x-jvm-package: admin
      summary: (Codacy admins only) Returns the requested resources of a given admin entity
      operationId: listAdminEntityResources
      parameters:
        - $ref: '#/components/parameters/adminEntityGroupSlugParam'
        - $ref: '#/components/parameters/adminEntityIdentifierParam'
        - $ref: '#/components/parameters/adminResourceSlugParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminEntityResourcesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
  /admin/license:
    post:
      tags:
        - admin
      summary: (Codacy admins only) Generates a license for self-hosted instances of Codacy
      operationId: generateLicense
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/License'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: admin.license
      x-codegen-request-body-name: LicenseBody
  /admin/dormantAccounts:
    delete:
      tags:
        - admin
      summary: (Codacy admins only) Delete Codacy users based on a CSV file exported by GitHub Enterprise
      operationId: deleteDormantAccounts
      requestBody:
        description: CSV file containing email addresses of the users to delete in a column called "email"
        content:
          text/plain:
            schema:
              type: string
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDormantAccountsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: admin
      x-codegen-request-body-name: CSVFileContents
  /admin/security/penTest/reports:
    post:
      tags:
        - admin
      summary: Upload pen test reports for an organization (internal, Codacy admins only)
      operationId: uploadPenTestReport
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
                - csvdata
                - organizationName
                - provider
              type: object
              properties:
                csvdata:
                  type: string
                  description: The pen test report in CSV format
                  format: binary
                provider:
                  type: string
                  description: Git provider hosting the organization's repositories
                  x-ms-parameter-location: method
                organizationName:
                  type: string
                  description: The name of the organization to which the results belong
        required: true
      responses:
        '202':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: admin
  /languages/tools:
    get:
      tags:
        - languages
      summary: Retrieve the list of languages supported by available tools
      operationId: listLanguagesWithTools
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: languages
  /tools:
    get:
      tags:
        - tools
      summary: Retrieve the list of tools
      operationId: listTools
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: tools
  /tools/{toolUuid}/patterns:
    get:
      tags:
        - tools
      summary: Retrieve the list of tool patterns
      operationId: listPatterns
      parameters:
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - name: enabled
          in: query
          description: Filter by enabled status. Set to `true` to return only enabled patterns, or `false` to return only disabled patterns.
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: Successful operations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatternListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: tools
  /tools/{toolUuid}/patterns/{patternId}/organizations/{provider}/{remoteOrganizationName}/feedback:
    post:
      tags:
        - tools
      summary: Add feedback relating to the tool pattern
      description: |
        Add feedback relating to the tool pattern.
      operationId: addPatternFeedback
      parameters:
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/patternIdParam'
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddEnrichedPatternFeedbackBody'
        required: true
      responses:
        '201':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: tools
  /tools/{toolUuid}/patterns/{patternId}:
    get:
      tags:
        - tools
      summary: Retrieve a tool pattern
      description: Get the definition of a specific pattern
      operationId: getPattern
      parameters:
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/patternIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatternResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: tools
  /duplicationTools:
    get:
      tags:
        - tools
      summary: Retrieve the list of duplication tools
      operationId: listDuplicationTools
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DuplicationToolListResponse'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: tools
  /metricsTools:
    get:
      tags:
        - tools
      summary: Retrieve the list of metrics tools
      operationId: listMetricsTools
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsToolListResponse'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security: []
      x-jvm-package: tools
  /organizations/{provider}/{remoteOrganizationName}/metrics/start:
    post:
      tags:
        - metrics
      summary: Start collecting metrics for an organization
      description: |
        Start data collection for missing metrics.
        The organization must have metrics support enabled.
      operationId: initiateMetricsForOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsFilter'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
  /organizations/{provider}/{remoteOrganizationName}/metrics/ready:
    get:
      tags:
        - metrics
      summary: Retrieve metrics that are ready for an organization
      description: |
        Retrieve the list of metrics that have completed data collection for an organization.
      operationId: readyMetricsForOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Ready metrics for the Organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationReadyMetricsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
  /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/latest:
    post:
      tags:
        - metrics
      summary: Retrieve the latest value of a metric
      description: |
        Retrieve the latest value for an aggregating metric (e.g., open issues).

        **Note:** It does not work for accumulating metrics, such as fixed issues
      operationId: retrieveLatestMetricValue
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricFilter'
        required: true
      responses:
        '200':
          description: The latest value of the requested metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricValueResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: metricFilterBody
  /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/latest-grouped:
    post:
      tags:
        - metrics
      summary: Retrieve the latest metric values grouped by dimension
      description: |
        Retrieve an array of the latest values for an aggregating metric, based on the `groupBy` options.
        The `groupBy` can be `organization`, `repository`, or a valid dimension for the requested metric.

        **Note:**
        - It does not work for accumulating metrics, such as fixed issues
      operationId: retrieveLatestMetricGroupedValues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupMetricFilter'
        required: true
      responses:
        '200':
          description: A grouping of the latest values for the requested metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeriodGroupedMetricValuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: groupMetricFilter
  /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/period:
    post:
      tags:
        - metrics
      summary: Retrieve metric value for a specific period
      description: |
        Retrieve the value for a metric for a specific period, identified by its start date.

        **Notes:**
        - Aggregating metrics provide the average value.
        - Accumulating metrics provide the sum, representing the total historical change.
      operationId: retrieveValueForPeriod
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PeriodMetricFilterBody'
        required: true
      responses:
        '200':
          description: The value of the requested metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricValueResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: periodMetricFilterBody
  /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/period-grouped:
    post:
      tags:
        - metrics
      summary: Retrieve metric values for a specific period grouped by dimension
      description: |
        Retrieve an array of values for a metric for a specific period, identified by its start date,
        grouped according to the `groupBy` field. The `groupBy` can be `organization`, `repository`, or a
        valid dimension for the requested metric.

        **Notes:**
        - Aggregating metrics provide the average value.
        - Accumulating metrics provide the sum, representing the total historical change.
      operationId: retrieveGroupedValuesForPeriod
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PeriodGroupMetricFilterBody'
        required: true
      responses:
        '200':
          description: The value of the requested metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeriodGroupedMetricValuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: periodGroupMetricFilterBody
  /organizations/{provider}/{remoteOrganizationName}/metrics/{metricName}/timerange:
    post:
      tags:
        - metrics
      summary: Retrieve metric values for a time range
      description: |
        Retrieve a specific metric's values for a given time range. The response includes values grouped by
        period date and optionally by an additional `groupBy` parameter. The `groupBy` can be `organization`,
        `repository`, or a valid dimension for the requested metric.

        **Notes:**
        - Aggregating metrics provide the average value.
        - Accumulating metrics provide the sum, representing the total historical change.
        - `period` can be used to control the time granularity of returned data (`day`, `week`, `month`). If omitted, the backend chooses a default.
      operationId: retrieveTimerangeMetricValues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimerangeMetricFilterBody'
        required: true
      responses:
        '200':
          description: The value of the requested metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerangeMetricValuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: timerangeMetricFilterBody
  /enterprises/{provider}/{enterpriseName}/metrics/ready:
    get:
      tags:
        - metrics
      summary: |
        Retrieve metrics that are ready for each organization in an enterprise
      description: |
        Retrieve the list of metrics that have completed data collection for each organization in the enterprise.
      operationId: readyMetricsForEnterprise
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
      responses:
        '200':
          description: Ready metrics for the Organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadyMetricsForEnterpriseResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
  /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/latest:
    post:
      tags:
        - metrics
      summary: Retrieve latest metric values for all organizations in an enterprise
      description: |
        Retrieve the latest value for each organization in an enterprise for an aggregating metric (e.g., open issues).

        **Note:** It does not work for accumulating metrics, such as fixed issues
      operationId: retrieveLatestMetricValueForEnterprise
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseMetricFilter'
      responses:
        '200':
          description: The latest value of the requested metric for each organization in enterprise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricValueResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: metricFilterBody
  /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/latest-grouped:
    post:
      tags:
        - metrics
      summary: Retrieve latest metric values grouped by dimension for all organizations in an enterprise
      description: |
        Retrieve an array of the latest values for an aggregating metric for each organization in an enterprise,
        based on the `groupBy` options.
        The `groupBy` can be `organization` or a valid dimension for the requested metric.

        **Note:**
        - It does not work for accumulating metrics, such as fixed issues
        - It does not allow grouping by repository (disabled)
      operationId: retrieveLatestMetricGroupedValuesForEnterprise
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseGroupMetricFilter'
        required: true
      responses:
        '200':
          description: A grouping of the latest values for the requested metric for each organization in enterprise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeriodGroupedMetricValuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: groupMetricFilter
  /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/period:
    post:
      tags:
        - metrics
      summary: Retrieve metric values for a specific period for all organizations in an enterprise
      description: |
        Retrieve the value for a metric for each organization in an enterprise, for a specific period, identified by its start date.

        **Notes:**
        - Aggregating metrics provide the average value.
        - Accumulating metrics provide the sum, representing the total historical change.
        - It does not allow grouping by repository (disabled)
      operationId: retrieveValueForPeriodForEnterprise
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterprisePeriodMetricFilterBody'
        required: true
      responses:
        '200':
          description: The value of the requested metric for each organization in enterprise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricValueResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: periodMetricFilterBody
  /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/period-grouped:
    post:
      tags:
        - metrics
      summary: Retrieve metric values grouped by dimension for a specific period for all organizations in an enterprise
      description: |
        Retrieve an array of values for a metric for each organization in an enterprise,
        for a specific period, identified by its start date, grouped according to the `groupBy` field.
        The `groupBy` can be `organization` or a valid dimension for the requested metric.

        **Notes:**
        - Aggregating metrics provide the average value.
        - Accumulating metrics provide the sum, representing the total historical change.
        - It does not allow grouping by repository (disabled)
      operationId: retrieveGroupedValuesForPeriodForEnterprise
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterprisePeriodGroupMetricFilterBody'
        required: true
      responses:
        '200':
          description: The value of the requested metric for each organization in enterprise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeriodGroupedMetricValuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: periodGroupMetricFilterBody
  /enterprises/{provider}/{enterpriseName}/metrics/{metricName}/timerange:
    post:
      tags:
        - metrics
      summary: Retrieve metric values for a time range for all organizations in an enterprise
      description: |
        Retrieve a specific metric's values for each organization in an enterprise, for a given time range. The response includes values grouped by
        period date and optionally by an additional `groupBy` parameter. The `groupBy` can be `organization` or a valid dimension for the requested metric.

        **Notes:**
        - Aggregating metrics provide the average value.
        - Accumulating metrics provide the sum, representing the total historical change.
        - It does not allow grouping by repository (disabled)
        - `period` can be used to control the time granularity of returned data (`day`, `week`, `month`). If omitted, the backend chooses a default.
      operationId: retrieveTimerangeMetricValuesForEnterprise
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/metricNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseTimerangeMetricFilterBody'
        required: true
      responses:
        '200':
          description: The value of the requested metric for each organization in enterprise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerangeMetricValuesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: metrics
      x-codegen-request-body-name: timerangeMetricFilterBody
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files:
    get:
      tags:
        - repository
      summary: List files in a repository
      description: |
        Returns the most recent analysis information for the files in a repository as available on the [Files page](https://docs.codacy.com/repositories/files-view/).
        Files that are [ignored on Codacy](https://docs.codacy.com/repositories-configure/ignoring-files/) aren't returned.

        **Note:** When applied to public repositories, this operation does not require authentication.
      operationId: listFiles
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
        - $ref: '#/components/parameters/filesSearchFilter'
        - $ref: '#/components/parameters/filesSortParam'
        - $ref: '#/components/parameters/directionParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: List of files in the repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/ignored-files:
    get:
      tags:
        - repository
      summary: List ignored files in a repository
      description: |
        Returns the most recent ignored files information.

        **Note:** When the repository has a Codacy configuration file 'hasCodacyConfigurationFile', this list of files
        are read-only, as they were ignored during the most recent analysis based on the configuration file
      operationId: listIgnoredFiles
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
        - $ref: '#/components/parameters/filesSearchFilter'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: List of ignored files in the repository
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IgnoredFileListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}:
    get:
      tags:
        - repository
      summary: Get analysis information and coverage metrics for a file in a repository
      operationId: getFileWithAnalysis
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/fileIdParam'
      responses:
        '200':
          description: File with analysis
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileInformationWithAnalysis'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/duplication:
    get:
      tags:
        - repository
      summary: Get the list of duplicated code blocks for a file in a repository
      operationId: getFileClones
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/fileIdParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: File clones
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileClonesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/issues:
    get:
      tags:
        - repository
      summary: Get the issue list for a file in a repository
      operationId: getFileIssues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/fileIdParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: File issues
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRepositoryIssuesListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/ai-risk-checklist:
    get:
      tags:
        - coding standards
      summary: Get AI Risk Checklist for an organization
      operationId: getAiRiskCheckList
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: List of AI Risk Checklist for an organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiRiskChecklistResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards:
    get:
      tags:
        - coding standards
      summary: List the coding standards for an organization, including draft coding standards
      operationId: listCodingStandards
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: List of coding standards for an organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardsListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
    post:
      tags:
        - coding standards
      summary: Create a draft coding standard for an organization
      description: |
        To promote the draft coding standard to an effective coding standard, see [promoteDraftCodingStandard](#promotedraftcodingstandard).
      operationId: createCodingStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/sourceRepositoryParam'
        - $ref: '#/components/parameters/sourceCodingStandardParam'
      requestBody:
        description: Details of the coding standard to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCodingStandardBody'
        required: true
      responses:
        '201':
          description: Successfully created a coding standard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          description: An unexpected error occurred while creating the coding standard
          $ref: '#/components/responses/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: standards
      x-codegen-request-body-name: createCodingStandardBody
  /organizations/{provider}/{remoteOrganizationName}/compliance-standards:
    post:
      tags:
        - coding standards
      summary: Create a compliance standard for an organization
      operationId: createComplianceStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Details of the compliance standard to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateComplianceStandardBody'
        required: true
      responses:
        '201':
          description: Successfully created a compliance standard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/presets-standards:
    post:
      tags:
        - coding standards
      summary: Create a coding standard for an organization choosing from a series of presets.
      operationId: createCodingStandardPreset
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Details of the coding standard to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCodingStandardPresetBody'
        required: true
      responses:
        '201':
          description: Successfully created a coding standard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          description: An unexpected error occurred while creating the coding standard
          $ref: '#/components/responses/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: standards
      x-codegen-request-body-name: createCodingStandardPresetBody
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}:
    get:
      tags:
        - coding standards
      summary: Get a coding standard
      operationId: getCodingStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
    delete:
      tags:
        - coding standards
      summary: Delete a coding standard
      operationId: deleteCodingStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          description: An unexpected error occurred while deleting a coding standard
          $ref: '#/components/responses/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/duplicate:
    post:
      tags:
        - coding standards
      summary: Duplicate a coding standard
      operationId: duplicateCodingStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools:
    get:
      tags:
        - coding standards
      summary: List tools in a coding standard
      operationId: listCodingStandardTools
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardToolsListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          description: An unexpected error occurred while listing the tools of the coding standard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          x-ms-error-response: true
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/setDefault:
    post:
      tags:
        - coding standards
      summary: Set the default coding standard for an organization
      operationId: setDefaultCodingStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetDefaultCodingStandardBody'
        required: true
      responses:
        '200':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
      x-codegen-request-body-name: setDefaultCodingStandard
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns:
    get:
      tags:
        - coding standards
      summary: List the code patterns configured for a tool in a coding standard
      operationId: listCodingStandardPatterns
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/categoriesParam'
        - $ref: '#/components/parameters/severityLevelsParam'
        - $ref: '#/components/parameters/tagsParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/enabledPatternParam'
        - $ref: '#/components/parameters/recommendedPatternParam'
        - $ref: '#/components/parameters/patternsSortParam'
        - $ref: '#/components/parameters/directionParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfiguredPatternsListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns/overview:
    get:
      tags:
        - coding standards
      summary: Get patterns overview for a coding standard tool
      operationId: codingStandardToolPatternsOverview
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/categoriesParam'
        - $ref: '#/components/parameters/severityLevelsParam'
        - $ref: '#/components/parameters/tagsParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/enabledPatternParam'
        - $ref: '#/components/parameters/recommendedPatternParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolPatternsOverviewResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}/patterns/update:
    post:
      tags:
        - coding standards
      summary: Bulk update the code patterns of a tool in a coding standard
      description: |
        Use filters to specify the code patterns to update, or omit the filters to update all code patterns.
      operationId: updateCodingStandardPatterns
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
        - $ref: '#/components/parameters/toolUuidParam'
        - $ref: '#/components/parameters/languagesFilterParam'
        - $ref: '#/components/parameters/categoriesParam'
        - $ref: '#/components/parameters/severityLevelsParam'
        - $ref: '#/components/parameters/tagsParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/recommendedPatternParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePatternsBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
      x-codegen-request-body-name: updateCodingStandardPatternsBody
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/tools/{toolUuid}:
    patch:
      tags:
        - coding standards
      summary: Configure a tool in a draft coding standard
      description: |
        Toggle a tool and configure its code patterns in a draft coding standard.
        Only the code patterns included in the body are updated, and if there are none only the enabled status of the tool is set.
        You can only update draft coding standards and configure a maximum of 1000 code patterns per call.
      operationId: updateCodingStandardToolConfiguration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
        - $ref: '#/components/parameters/toolUuidParam'
      requestBody:
        $ref: '#/components/requestBodies/toolConfigurationParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/repositories:
    get:
      tags:
        - coding standards
      summary: List the repositories that are using a coding standard
      operationId: listCodingStandardRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodingStandardRepositoriesListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
    patch:
      tags:
        - coding standards
      summary: Apply a coding standard to a list of repositories
      description: |
        Link or unlink a coding standard to a list of repositories.
        If the coding standard is a draft, the changes will only be effective when promoting the draft coding standard.
      operationId: applyCodingStandardToRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyCodingStandardToRepositoriesBody'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyCodingStandardToRepositoriesResultResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
      x-codegen-request-body-name: applyCodingStandardToRepositoriesBody
  /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/setDefault:
    post:
      tags:
        - gate policies
      summary: Set the gate policy as the default for an organization
      operationId: setDefaultGatePolicy
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/gatePolicyId'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
  /organizations/{provider}/{remoteOrganizationName}/gate-policies/setCodacyDefault:
    post:
      tags:
        - gate policies
      summary: Set the built-in Codacy gate policy as the default for an organization
      operationId: setCodacyDefault
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
  /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}:
    get:
      tags:
        - gate policies
      summary: Get a gate policy
      operationId: getGatePolicy
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/gatePolicyId'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGatePolicyResultResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
    delete:
      tags:
        - gate policies
      summary: Delete a gate policy
      operationId: deleteGatePolicy
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/gatePolicyId'
      responses:
        '204':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
    patch:
      tags:
        - gate policies
      summary: Update a gate policy
      operationId: updateGatePolicy
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/gatePolicyId'
      requestBody:
        description: The new values for the name, default status, or quality gates of the gate policy
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGatePolicyBody'
        required: true
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGatePolicyResultResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
      x-codegen-request-body-name: updateGatePolicyBody
  /organizations/{provider}/{remoteOrganizationName}/gate-policies:
    get:
      tags:
        - gate policies
      summary: List the gate policies for an organization
      operationId: listGatePolicies
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatePoliciesListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
    post:
      tags:
        - gate policies
      summary: Create a gate policy
      operationId: createGatePolicy
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Details of the gate policy to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGatePolicyBody'
        required: true
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetGatePolicyResultResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
      x-codegen-request-body-name: createGatePolicyBody
  /organizations/{provider}/{remoteOrganizationName}/settings/sync:
    post:
      tags:
        - organization
      summary: Synchronize Codacy organization name with the Git provider
      operationId: syncOrganizationName
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncProviderSettingOrganizationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/settings/submodules/check:
    get:
      tags:
        - organization
      summary: Check if the submodules option is enabled for the organization
      operationId: checkSubmodules
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckSubmodulesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/gate-policies/{gatePolicyId}/repositories:
    get:
      tags:
        - gate policies
      summary: List all repositories following a gate policy
      operationId: listRepositoriesFollowingGatePolicy
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/gatePolicyId'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRepositoriesFollowingGatePolicyResultResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
    put:
      tags:
        - gate policies
      summary: Apply a gate policy to a list of repositories
      description: |
        Link or unlink a gate policy to a list of repositories.
      operationId: applyGatePolicyToRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/gatePolicyId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplyGatePolicyToRepositoriesBody'
        required: true
      responses:
        '204':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: policies
      x-codegen-request-body-name: ApplyGatePolicyToRepositoriesBody
  /organizations/{provider}/{remoteOrganizationName}/coding-standards/{codingStandardId}/promote:
    post:
      tags:
        - coding standards
      summary: Promote a draft coding standard to an effective coding standard
      description: |
        If the draft coding standard is marked as default, it becomes the new default coding standard. The response includes the result of applying the coding standard to the repositories.
      operationId: promoteDraftCodingStandard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/codingStandardIdParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplyCodingStandardToRepositoriesResultResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: standards
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens:
    get:
      tags:
        - repository
      summary: List the [repository API tokens](https://docs.codacy.com/codacy-api/api-tokens/)
      operationId: listRepositoryApiTokens
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTokenListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
    post:
      tags:
        - repository
      summary: Create a new [repository API token](https://docs.codacy.com/codacy-api/api-tokens/)
      operationId: createRepositoryApiToken
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTokenResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/tokens/{tokenId}:
    delete:
      tags:
        - repository
      summary: Delete a [repository API token](https://docs.codacy.com/codacy-api/api-tokens/) by ID
      operationId: deleteRepositoryApiToken
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/tokenIdParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/coverage/status:
    get:
      tags:
        - repository
        - coverage
      summary: List the most recent coverage reports and their status
      operationId: listCoverageReports
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoverageReportResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/coverage/reports:
    get:
      tags:
        - repository
        - coverage
      summary: List coverage reports for a commit
      operationId: listCommitCoverageReports
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuid'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoverageReportEntryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/coverage/reports/{reportUuid}:
    get:
      tags:
        - repository
        - coverage
      summary: Get a coverage report with its contents
      operationId: getCoverageReport
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuid'
        - $ref: '#/components/parameters/reportUuid'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoverageReportContentResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{filePath}/content:
    get:
      tags:
        - file
      summary: |
        Returns the content of the given file for a given commit reference. If the requested file is over 1MB, a 'PayloadTooLarge' error is returned.
      operationId: getFileContent
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/filePathParam'
        - $ref: '#/components/parameters/startLineParam'
        - $ref: '#/components/parameters/endLineParam'
        - $ref: '#/components/parameters/commitRefParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodeBlockLineListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: fileExtension
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/files/{fileId}/coverage:
    get:
      tags:
        - repository
      summary: Get coverage information for a file in the head commit of a repository branch.
      operationId: getFileCoverage
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/fileIdParam'
      responses:
        '200':
          description: File Coverage
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFileCoverageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/file:
    patch:
      tags:
        - repository
      summary: Ignore or unignore a file
      operationId: updateFileState
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileStateBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
      x-codegen-request-body-name: fileState
  /organizations/{provider}/{remoteOrganizationName}/security/items:
    get:
      tags:
        - security
      summary: List security and risk management items for an organization
      description: |
        **Deprecated:** Use [searchSecurityItems](#searchsecurityitems) instead. Repository filtering is limited to 100 names.
      deprecated: true
      operationId: listSecurityItems
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/repositoriesParam'
        - $ref: '#/components/parameters/srmStatusParam'
        - $ref: '#/components/parameters/srmPriorityParam'
        - $ref: '#/components/parameters/srmSecurityCategoryParam'
        - $ref: '#/components/parameters/srmScanTypeParam'
      responses:
        '200':
          description: Returns security and risk management items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SrmItemsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}/ignore:
    post:
      tags:
        - security
      summary: Ignore a single item with an optional comment
      operationId: ignoreSecurityItem
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/srmItemIdParam'
      requestBody:
        description: Request body of ignore item information
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IgnoreSRMItemBody'
        required: true
      responses:
        '200':
          description: Returns a security and risk management item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SrmItemResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: ignoreSecurityItemBody
  /organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}/unignore:
    post:
      tags:
        - security
      summary: Unignore a single item (only previously ignored items can be unignored)
      operationId: unignoreSecurityItem
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/srmItemIdParam'
      responses:
        '200':
          description: Returns a security and risk management item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SrmItemResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/items/{srmItemId}:
    get:
      tags:
        - security
      summary: Get a single security and risk management finding
      operationId: getSecurityItem
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/srmItemIdParam'
      responses:
        '200':
          description: Returns security and risk management items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SrmItemResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/items/search:
    post:
      tags:
        - security
      summary: List security and risk management items for an organization
      operationId: searchSecurityItems
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/srmItemsSortByParam'
        - $ref: '#/components/parameters/directionParam'
      requestBody:
        description: Request body with items filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSRMItems'
        required: false
      responses:
        '200':
          description: Returns security and risk management items.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SrmItemsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: searchSecurityItemsBody
  /organizations/{provider}/{remoteOrganizationName}/security/dashboard:
    get:
      tags:
        - security
      summary: Get metrics for the security and risk management dashboard
      description: |
        **Deprecated:** Use [searchSecurityDashboard](#searchsecuritydashboard) instead. Repository filtering is limited to 100 names.
      deprecated: true
      operationId: getSecurityDashboard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoriesParam'
        - $ref: '#/components/parameters/srmPriorityParam'
        - $ref: '#/components/parameters/srmSecurityCategoryParam'
        - $ref: '#/components/parameters/srmScanTypeParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDashboardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
    post:
      tags:
        - security
      summary: Get metrics for the security and risk management dashboard
      operationId: searchSecurityDashboard
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Request body with dashboard filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSRMDashboard'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDashboardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: searchSecurityDashboardBody
  /organizations/{provider}/{remoteOrganizationName}/security/dashboard/repositories/search:
    post:
      tags:
        - security
      summary: List repositories with security findings
      description: If no filter is specified, only the 10 repositories with the most findings are returned.
      operationId: searchSecurityDashboardRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Request body with filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSRMDashboardRepositories'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDashboardRepositoriesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: searchSecurityDashboardRepositoriesBody
  /organizations/{provider}/{remoteOrganizationName}/security/dashboard/history/search:
    post:
      tags:
        - security
      summary: Get the evolution of security findings over time
      operationId: searchSecurityDashboardHistory
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Request body with filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSRMDashboardHistory'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDashboardHistoryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: searchSecurityDashboardHistoryBody
  /organizations/{provider}/{remoteOrganizationName}/security/dashboard/categories/search:
    post:
      tags:
        - security
      summary: List security categories with findings
      description: If no filter is specified, only the 10 categories with the most findings are returned.
      operationId: searchSecurityDashboardCategories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Request body with filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSRMDashboardCategories'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDashboardCategoriesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: searchSecurityDashboardCategoriesBody
  /organizations/{provider}/{remoteOrganizationName}/security/tools/dast/{toolName}/reports:
    post:
      tags:
        - security
      summary: |
        Upload dynamic application security testing (DAST) scan report generated by the specified tool in the specified format.
        For ZAP reports (see https://www.zaproxy.org/docs/desktop/addons/report-generation/report-traditional-json), please guarantee that `@generated` timestamps are in an English locale, using the format `EEE, d MMM yyyy HH:mm:ss`  (which is ZAP's default), otherwise the report won't be processed.
      operationId: uploadDASTReport
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - name: remoteOrganizationName
          in: path
          required: true
          schema:
            type: string
        - name: toolName
          in: path
          description: The tool used to generate the DAST results
          required: true
          schema:
            type: string
            enum:
              - ZAP
            x-ms-enum:
              name: DastTool
          x-ms-enum:
            name: DastTool
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
                - file
                - reportFormat
              type: object
              properties:
                file:
                  type: string
                  description: The file containing DAST results
                  format: binary
                reportFormat:
                  type: string
                  description: The format the report is provided in
                  enum:
                    - json
                  x-ms-enum:
                    name: DastToolResultsFormat
        required: true
      responses:
        '200':
          description: Report successfully uploaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDASTReportUploadResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/dast/reports:
    get:
      tags:
        - security
      summary: List uploaded DAST scan reports and their state
      description: Results are sorted by submission date, from latest to earliest.
      operationId: listDastReports
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SRMDastReportResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/managers:
    get:
      tags:
        - security
      summary: List organization admins and security managers
      operationId: listSecurityManagers
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Returns security managers, including organization admins.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityManagersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
    post:
      tags:
        - security
      summary: Assign the Security Manager role to an organization member
      operationId: postSecurityManager
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: User ID of the organization member to be promoted to security manager.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecurityManagerBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
      x-codegen-request-body-name: securityManagerBody
  /organizations/{provider}/{remoteOrganizationName}/security/managers/{userId}:
    delete:
      tags:
        - security
      summary: Revoke the Security Manager role from an organization member
      operationId: deleteSecurityManager
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/userId'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/repositories:
    get:
      tags:
        - security
      summary: List organization repositories that have security issues
      operationId: listSecurityRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/segmentsParam'
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityRepositoriesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/security/categories:
    get:
      tags:
        - security
      summary: List security subcategories that have security issues
      operationId: listSecurityCategories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityCategoriesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/search:
    post:
      tags:
        - sbom
      summary: Return a list of SBOM dependencies, used across the organization.
      operationId: searchSbomDependencies
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - name: sortColumn
          in: query
          description: Field used to sort the results. The possible values are `severity` (default, to sort by the item's severity), or `order` (to sort by the OSSF order).
          schema:
            type: string
            default: severity
            enum:
              - severity
              - ossfScore
        - name: columnOrder
          in: query
          description: Sort direction. The possible values are `asc` (ascending) or `desc` (descending - default).
          schema:
            type: string
            default: desc
            enum:
              - asc
              - desc
      requestBody:
        description: Request body with filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSbomDependenciesBody'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchSbomDependenciesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: sbom
      x-codegen-request-body-name: searchSbomDependenciesBody
  /organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/repositories/search:
    post:
      tags:
        - sbom
      summary: Return a paginated list of repositories where a version of the specified SBOM dependency is used.
      operationId: searchRepositoriesOfSbomDependency
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: Request body with filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRepositoriesOfSbomDependencyBody'
        required: true
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRepositoriesOfSbomDependencyResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: sbom
      x-codegen-request-body-name: searchRepositoriesOfSbomDependencyBody
  /organizations/{provider}/{remoteOrganizationName}/sbom/repositories/search:
    post:
      tags:
        - sbom
      summary: List repositories with SBOM dependency information
      operationId: searchSbomRepositories
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: Request body with filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSbomRepositoriesBody'
        required: false
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchSbomRepositoriesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: sbom
      x-codegen-request-body-name: searchSbomRepositoriesBody
  /organizations/{provider}/{remoteOrganizationName}/projects/{repositoryName}/sbom:
    get:
      x-jvm-package: sbom
      tags:
        - sbom
      summary: Get a presigned URL for the latest SBOM of the repository
      operationId: getRepositorySbomPresignedUrl
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SbomPresignResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/image-sboms:
    post:
      x-jvm-package: sbom
      tags:
        - sbom
      summary: Upload an SBOM for a Docker image
      operationId: uploadImageSbom
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                sbom:
                  type: string
                  description: SBOM file (SPDX or CycloneDX format)
                  format: binary
                imageName:
                  type: string
                  description: Name of the Docker image
                tag:
                  type: string
                  description: Tag of the Docker image
                repositoryName:
                  type: string
                  description: Repository name
                environment:
                  type: string
                  description: Environment where the image is deployed
              required:
                - sbom
                - imageName
                - tag
      responses:
        '204':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/image-sboms/{imageName}:
    delete:
      tags:
        - sbom
      summary: Delete all SBOMs for a given image
      operationId: deleteImageSboms
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/imageNameParam'
      responses:
        '204':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: sbom
  /organizations/{provider}/{remoteOrganizationName}/image-sboms/{imageName}/tags/{tag}:
    delete:
      tags:
        - sbom
      summary: Delete SBOM for a given image/tag combination
      operationId: deleteImageTag
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/imageNameParam'
        - $ref: '#/components/parameters/imageTagParam'
      responses:
        '204':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: sbom
  /organizations/{provider}/{remoteOrganizationName}/images:
    get:
      x-jvm-package: sbom
      tags:
        - sbom
      summary: List Docker images for an organization
      operationId: listOrganizationImages
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListImagesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/images/{imageName}/tags:
    get:
      x-jvm-package: sbom
      tags:
        - sbom
      summary: List Docker image tags for an organization
      operationId: listImageTags
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/imageNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListImageTagsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/integrations/jira/tickets:
    post:
      tags:
        - jira
      summary: Create a Jira ticket
      description: |
        **Deprecated:** Use [createJiraTicket](#createjiraticket) instead.
      deprecated: true
      operationId: createJiraTicketDeprecated
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
      requestBody:
        description: Create Ticket Fields
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateJiraTicketDeprecatedBody'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateJiraTicketResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
  /organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets:
    get:
      tags:
        - jira
      summary: Get Jira tickets for a Codacy element
      operationId: getJiraTickets
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/elementTypeParam'
        - $ref: '#/components/parameters/elementIdParam'
      responses:
        '200':
          description: List of Jira tickets for a specific Codacy element
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetJiraTicketsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
    post:
      tags:
        - jira
      summary: Create a Jira ticket
      operationId: createJiraTicket
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Create Ticket Fields
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateJiraTicketBody'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateJiraTicketResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
  /organizations/{provider}/{remoteOrganizationName}/integrations/jira/tickets/{jiraTicketIdentifier}:
    delete:
      tags:
        - jira
      summary: Unlink a Jira ticket from a repository
      operationId: unlinkRepositoryJiraTicket
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/jiraTicketIdentifierParam'
      requestBody:
        description: Unlink Jira Ticket Element Identification
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnlinkRepositoryJiraTicketBody'
        required: true
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
  /organizations/{provider}/{remoteOrganizationName}/integrations/jira:
    get:
      summary: Get the Jira integration of the organization
      tags:
        - organization
      operationId: getJiraIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JiraIntegrationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
    put:
      summary: Create or update the Jira integration of the organization
      tags:
        - organization
      operationId: createOrUpdateJiraIntegration
      parameters:
        - $ref: '#/components/parameters/oauthCodeParam'
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JiraIntegrationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
    delete:
      summary: Delete the Jira integration of the organization and associated resources
      tags:
        - organization
      operationId: deleteJiraIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects:
    get:
      tags:
        - jira
      summary: Get available Jira projects for the organization
      operationId: getAvailableJiraProjects
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableJiraProjectsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
  /organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects/{jiraProjectId}/issueTypes:
    get:
      tags:
        - jira
      summary: Get available issue types for a Jira project
      operationId: getJiraProjectIssueTypes
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/jiraProjectIdParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JiraProjectIssueTypesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
  /organizations/{provider}/{remoteOrganizationName}/integrations/jira/projects/{jiraProjectId}/issueTypes/{jiraIssueTypeId}/fields:
    get:
      tags:
        - jira
      summary: Get available fields by issue type for a Jira project
      operationId: getJiraProjectIssueFields
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/jiraProjectIdParam'
        - $ref: '#/components/parameters/jiraIssueTypeIdParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JiraProjectIssueFieldsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: jira
  /organizations/{provider}/{remoteOrganizationName}/integrations/slack:
    get:
      summary: Get the Slack integration of the organization
      tags:
        - organization
      operationId: getSlackIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackIntegrationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
    put:
      summary: Create or update the Slack integration of the organization
      tags:
        - organization
      operationId: createOrUpdateSlackIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackIntegrationRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackIntegrationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
      x-codegen-request-body-name: slackIntegrationRequestBody
    delete:
      summary: Delete the Slack integration of the organization and associated resources
      tags:
        - organization
      operationId: deleteSlackIntegration
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: organization
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/diff:
    get:
      tags:
        - repository
      summary: Get the human-readable Git diff of a pull request
      operationId: getPullRequestDiff
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiffResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /coverage/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/diff:
    get:
      tags:
        - coverage
      summary: Get the human-readable Git diff of a pull request
      description: |
        **Deprecated:** Use [getDiffBetweenCommits](#getdiffbetweencommits) instead.
      deprecated: true
      operationId: getPullRequestGitDiff
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiffResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: coverage
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/commits/{commitUuid}/diff:
    get:
      tags:
        - repository
      summary: Get the human-readable Git diff of a commit
      operationId: getCommitDiff
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/commitUuid'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiffResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/base/{baseCommitUuid}/head/{headCommitUuid}/diff:
    get:
      tags:
        - repository
      summary: Get the human-readable Git diff between a head commit and a base commit
      operationId: getDiffBetweenCommits
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/baseCommitUuid'
        - $ref: '#/components/parameters/headCommitUuid'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiffResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: repository
  /reports/organizations/{provider}/{remoteOrganizationName}/security/items:
    get:
      tags:
        - reports
      summary: Generate a CSV file listing all security and risk management items for an organization.
      operationId: getReportSecurityItems
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: CSV file containing the security and risk management items.
          headers:
            Transfer-Encoding:
              description: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding .
              schema:
                type: string
                enum:
                  - chunked
            Content-Disposition:
              description: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition .
              schema:
                type: string
          content:
            application/json:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: reports.security.streaming
  /reports/organizations/{provider}/{remoteOrganizationName}/security/items/search:
    post:
      tags:
        - reports
      summary: Generate a filtered CSV export of security and risk management items
      operationId: searchReportSecurityItems
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Optional filters for the CSV export
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostReportSecurityItemsBody'
      responses:
        '200':
          description: CSV file containing the filtered security and risk management items
          headers:
            Transfer-Encoding:
              description: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding
              schema:
                type: string
                enum:
                  - chunked
            Content-Disposition:
              description: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition
              schema:
                type: string
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: reports.security.streaming
  /reports/organizations/{provider}/{remoteOrganizationName}/sbom/dependencies/search:
    post:
      tags:
        - reports
      summary: Search SBOM dependencies for the organization in CSV format
      operationId: searchReportSbomDependencies
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: Optional filters for report generation
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSbomDependenciesBody'
      responses:
        '200':
          description: Successful operation
          headers:
            Transfer-Encoding:
              description: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding
              schema:
                type: string
                enum:
                  - chunked
            Content-Disposition:
              description: See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition
              schema:
                type: string
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: reports.sbom.streaming
  /organizations/{provider}/{remoteOrganizationName}/commit/{commitId}:
    get:
      tags:
        - analysis
      summary: Get information about a commit
      operationId: getCommitDetails
      description: Use `/commits/{commitId}` instead.
      deprecated: true
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/commitId'
      responses:
        '200':
          description: Details about the commit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitDetails'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /commits/{commitId}:
    get:
      tags:
        - analysis
      summary: Get information about a commit
      operationId: getCommitDetailsByCommitId
      parameters:
        - $ref: '#/components/parameters/commitId'
      responses:
        '200':
          description: Details about the commit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitDetailsV2'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /session/heartbeat:
    post:
      tags:
        - session
      summary: Send a heartbeat to keep the session alive
      operationId: heartbeat
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HeartbeatRequest'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeartbeatResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: session
      x-codegen-request-body-name: heartbeatRequest
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/hasSuggestions:
    get:
      tags:
        - analysis
      summary: Check if the repository has quick fix suggestions for a branch
      description: If branch is not provided, the default branch is used.
      operationId: hasQuickfixSuggestions
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Not backward compatible. Can be deleted in future. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HasQuickfixSuggestionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/issues/patch:
    get:
      tags:
        - analysis
      summary: Get quickfixes for issues in patch format
      description: If branch is not provided, the default branch is used.
      operationId: getQuickfixesPatch
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/branchNameParam'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Not backward compatible. Can be deleted in future. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuickfixPatchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /analysis/organizations/{provider}/{remoteOrganizationName}/repositories/{repositoryName}/pull-requests/{pullRequestNumber}/issues/patch:
    get:
      tags:
        - analysis
      summary: Get quickfixes for pull request issues in patch format
      description: If branch is not provided, the default branch is used.
      operationId: getPullRequestQuickfixesPatch
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/pullRequestNumberParam'
      responses:
        '200':
          description: Successful operation
          headers:
            X-Maturity:
              description: Experimental API. Not backward compatible. Can be deleted in future. Use at your own risk.
              schema:
                type: string
                enum:
                  - experimental
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuickfixPatchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: analysis
  /organizations/{provider}/{remoteOrganizationName}/audit:
    get:
      tags:
        - organization
      summary: Retrieve the audit logs for the organization
      description: |
        Only available on [Business plan](https://www.codacy.com/pricing). Requires organization admin or organization manager role.
      operationId: listAuditLogsForOrganization
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/fromParam'
        - $ref: '#/components/parameters/toParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuditLog'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: audit
  /organizations/{provider}/{remoteOrganizationName}/segments/sync:
    get:
      tags:
        - segments
      summary: Get the status of the segments synchronization
      operationId: getSegmentsSyncStatus
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentsSyncStatusResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: segments
    post:
      tags:
        - segments
      summary: Synchronize the segments of the organization with the Git provider
      description: For GitHub, segments are the repository custom properties
      operationId: syncSegments
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '202':
          description: Sync already in progress
          content: {}
        '204':
          description: Successful operation
          content: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: segments
  /organizations/{provider}/{remoteOrganizationName}/segments/keys:
    get:
      tags:
        - segments
      summary: Get the segment keys for the organization
      operationId: getSegmentsKeys
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentsKeysResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: segments
  /organizations/{provider}/{remoteOrganizationName}/segments/keys/ids:
    get:
      tags:
        - segments
      summary: Get the segment keys with IDs for the organization
      operationId: getSegmentsKeysWithIds
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentsKeysIdsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: segments
  /organizations/{provider}/{remoteOrganizationName}/segments/values/{segmentKey}:
    get:
      tags:
        - segments
      summary: Get segment values for a segment key
      description: |
        **Deprecated:** Use [getSegments](#getsegments) instead.
      deprecated: true
      operationId: getSegmentsValues
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/segmentKeyPathParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentsResponseDeprecated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: segments
  /organizations/{provider}/{remoteOrganizationName}/segments/{segmentKey}/values:
    get:
      tags:
        - segments
      summary: Get the segment values for the organization by segment key
      operationId: getSegments
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/segmentKeyPathParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/searchParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: segments
  /organizations/{provider}/{remoteOrganizationName}/dast/targets:
    get:
      tags:
        - dast
      summary: List configured DAST targets
      operationId: getDastTargets
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DastTargetsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: dast
    post:
      tags:
        - dast
      summary: Create a DAST target
      operationId: createDastTarget
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDastTargetBody'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DastTargetResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '501':
          $ref: '#/components/responses/NotImplemented'
      x-jvm-package: dast
  /organizations/{provider}/{remoteOrganizationName}/dast/targets/{dastTargetId}:
    delete:
      tags:
        - dast
      summary: Delete a DAST target
      operationId: deleteDastTarget
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/dastTargetIdParam'
      responses:
        '204':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: dast
  /organizations/{provider}/{remoteOrganizationName}/dast/targets/{dastTargetId}/analyze:
    post:
      tags:
        - dast
      summary: Enqueue a DAST analysis for the given target
      operationId: analyzeDastTarget
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/dastTargetIdParam'
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyzeDastTargetResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: dast
  /organizations/{provider}/{remoteOrganizationName}/security/sla:
    get:
      tags:
        - security
      summary: Get the SLA configuration for an organization
      operationId: getSLAConfig
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SLAConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
    put:
      tags:
        - security
      summary: Update the SLA configuration for an organization
      operationId: updateSLAConfig
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      requestBody:
        description: SLA Configuration Values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SLAConfigBody'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SLAConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: security
  /enterprises/{provider}/{enterpriseName}/organizations:
    get:
      tags:
        - enterprise
      summary: Get the organizations of an enterprise
      operationId: listEnterpriseOrganizations
      parameters:
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/providerParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseOrganizationsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: enterprise
  /enterprises/{provider}:
    get:
      tags:
        - enterprise
      summary: List user enterprises
      operationId: listEnterprises
      parameters:
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/providerParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: enterprise
  /enterprises/{provider}/{enterpriseName}:
    get:
      tags:
        - enterprise
      summary: Get an enterprise
      operationId: getEnterprise
      parameters:
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/providerParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEnterpriseResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
      x-jvm-package: enterprise
  /enterprises/{provider}/{enterpriseName}/seats:
    get:
      tags:
        - enterprise
      summary: Get enterprise seats
      operationId: listEnterpriseSeats
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/searchParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeatsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-jvm-package: enterprise
  /reports/enterprises/{provider}/{enterpriseName}/seats-csv:
    get:
      tags:
        - reports
      x-jvm-package: reports.enterprise
      summary: Get enterprise seats as a CSV file
      operationId: listEnterpriseSeatsCsv
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/enterpriseNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            text/csv:
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /plans:
    get:
      tags:
        - billing
      x-jvm-package: billing
      summary: List available plans in Codacy
      operationId: listPaymentPlans
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentPlansResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /security/dependencies/ossf/scorecard:
    post:
      tags:
        - security
      summary: Get the OSSF Scorecard for a repository
      x-jvm-package: security
      operationId: getOssfScorecard
      requestBody:
        $ref: '#/components/requestBodies/ossfScorecardRequest'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OssfScorecardResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/ai-risk/inventory/overview:
    get:
      tags:
        - airisk
      summary: Get AI inventory overview for an organization
      description: |
        Returns a summary of AI provider usage across the organization,
        including provider counts, repository counts, and detected patterns
      operationId: getAiInventoryOverview
      x-jvm-package: aiInventory
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiInventoryOverviewResponse'
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future. Do not use it in your workflow, scripts, etc.
              schema:
                type: string
                enum:
                  - experimental
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/ai-risk/inventory/resources/search:
    post:
      tags:
        - airisk
      summary: List AI inventory resources for an organization
      operationId: searchAiInventoryResources
      x-jvm-package: aiInventory
      x-codegen-request-body-name: searchAiInventoryResourcesBody
      x-codacy-comment: Level 1 ai inventory view
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: Filters for AI inventory resources
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAiInventoryResources'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiInventoryResourcesResponse'
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future. Do not use it in your workflow, scripts, etc.
              schema:
                type: string
                enum:
                  - experimental
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/ai-risk/inventory/repositories:
    get:
      tags:
        - airisk
      summary: List organization repositories that have AI inventory resources.
      operationId: listAiRiskRepositories
      x-jvm-package: aiInventory
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiRiskRepositoriesResponse'
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future. Do not use it in your workflow, scripts, etc.
              schema:
                type: string
                enum:
                  - experimental
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/ai-risk/inventory/repositories/search:
    post:
      tags:
        - airisk
      summary: List organization repositories that have AI inventory resources with filters
      operationId: searchAiRiskRepositories
      x-jvm-package: aiInventory
      x-codegen-request-body-name: searchAiRiskRepositoriesBody
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: Optional filters for listing repositories
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAiRiskRepositories'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiRiskRepositoriesResponse'
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future. Do not use it in your workflow, scripts, etc.
              schema:
                type: string
                enum:
                  - experimental
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/ai-risk/inventory/resources/repositories/search:
    post:
      tags:
        - airisk
      summary: List repositories for an AI inventory resource
      operationId: searchAiInventoryResourceRepositories
      x-jvm-package: aiInventory
      x-codegen-request-body-name: searchAiInventoryResourceRepositoriesBody
      x-codacy-comment: Level 2 ai inventory view
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: |
          Required filters identifying the inventory resource (`marker`, `patternId`, `vendor`).
          Must match a resource from the organization inventory list
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAiInventoryResourceRepositories'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiInventoryRepositoriesResponse'
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future. Do not use it in your workflow, scripts, etc.
              schema:
                type: string
                enum:
                  - experimental
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /organizations/{provider}/{remoteOrganizationName}/ai-risk/inventory/resources/repositories/{repositoryName}/files/search:
    post:
      tags:
        - airisk
      summary: List files referencing an AI resource in a repository
      operationId: searchAiInventoryResourceRepositoryFiles
      x-jvm-package: aiInventory
      x-codegen-request-body-name: searchAiInventoryResourceRepositoryFilesBody
      x-codacy-comment: Level 3 ai inventory view
      parameters:
        - $ref: '#/components/parameters/providerParam'
        - $ref: '#/components/parameters/remoteOrganizationNameParam'
        - $ref: '#/components/parameters/repositoryNameParam'
        - $ref: '#/components/parameters/cursorParam'
        - $ref: '#/components/parameters/limitParam'
      requestBody:
        description: Filters for AI inventory files
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAiInventoryFiles'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiInventoryFilesResponse'
          headers:
            X-Maturity:
              description: Experimental API. Subject to change in the near future. Do not use it in your workflow, scripts, etc.
              schema:
                type: string
                enum:
                  - experimental
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: Learn how to [generate an account API token](https://docs.codacy.com/codacy-api/api-tokens/#account-api-tokens)
      name: api-token
      in: header
  schemas:
    Version:
      required:
        - data
      type: object
      properties:
        data:
          type: string
    ProblemLink:
      required:
        - name
        - url
      type: object
      properties:
        name:
          type: string
          example: Check our documentation
        url:
          type: string
          example: https://docs.codacy.com/faq/troubleshooting/why-isnt-my-public-repository-being-analyzed/
    ApiError:
      required:
        - actions
        - message
      type: object
      properties:
        message:
          type: string
        innerMessage:
          type: string
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ProblemLink'
    Unauthorized:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - code
            - error
          type: object
          properties:
            error:
              type: string
              default: Unauthorized
            code:
              type: string
              default: Unauthorized
    UnprocessableEntity:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: UnprocessableEntity
    InternalServerError:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: InternalServerError
    PaginationInfo:
      type: object
      properties:
        cursor:
          type: string
          description: Cursor to [request the next batch of results](https://docs.codacy.com/codacy-api/using-the-codacy-api/#using-pagination)
        limit:
          type: integer
          description: Maximum number of items returned
          format: int32
        total:
          type: integer
          description: Total number of items returned
          format: int32
      description: Cursor-based pagination information to obtain more items
    CommitIdentification:
      required:
        - sha
      type: object
      properties:
        sha:
          type: string
          description: Commit SHA
    Commit:
      allOf:
        - $ref: '#/components/schemas/CommitIdentification'
        - required:
            - commitTimestamp
            - id
            - authorName
            - authorEmail
            - message
          type: object
          properties:
            id:
              type: integer
              description: Internal commit identifier
              format: int64
              example: 1
            commitTimestamp:
              type: string
              description: Timestamp when the commit was created
              format: date-time
              example: '2019-05-07T14:29:13.43Z'
              x-scala-type: java.time.Instant
            authorName:
              type: string
              description: Name of the commit author
            authorEmail:
              type: string
              description: Email address of the commit author
            message:
              type: string
              description: Commit message
            startedAnalysis:
              type: string
              description: Timestamp when Codacy started the last analysis of the commit
              format: date-time
              example: '2022-01-07T14:29:13.43Z'
              x-scala-type: java.time.Instant
            endedAnalysis:
              type: string
              description: Timestamp when Codacy finished the last analysis of the commit
              format: date-time
              example: '2022-01-07T14:29:13.43Z'
              x-scala-type: java.time.Instant
            isMergeCommit:
              type: boolean
              description: True if the commit is a merge commit
              example: false
            gitHref:
              type: string
              description: URL to the commit on the Git provider
              example: https://github.com/codacy/tools-for-code-review-engineers/commit/370b160aaf0ed781d707d335aa1fde20cefeabf2
            parents:
              type: array
              items:
                type: string
                description: SHA-1 hashes of the parents of the commit
    Provider:
      type: string
      description: Git provider hosting the repository
      example: gh
    RepositorySummary:
      required:
        - name
        - owner
        - provider
      type: object
      properties:
        repositoryId:
          type: integer
          description: Codacy identifier for this repository.
          format: int64
          example: 45738
        provider:
          $ref: '#/components/schemas/Provider'
        owner:
          type: string
          description: Name of the organization that owns the repository.
          example: codacy
        name:
          type: string
          description: Name of the repository.
          example: codacy-eslint
      description: Essential information to describe a repository.
    Visibility:
      type: string
      description: Visibility of the repository
      example: Private
      enum:
        - Public
        - Private
        - LoginPublic
      x-ms-enum:
        name: Visibility
    Permission:
      type: string
      enum:
        - admin
        - write
        - read
      x-ms-enum:
        name: Permission
    RepositoryProblem:
      required:
        - actions
        - code
        - message
        - severity
      type: object
      properties:
        message:
          type: string
          example: We can't analyze this repository because none of the committers are part of the organization.
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ProblemLink'
        code:
          type: string
          description: A stable identifier for a problem.
          example: failed_to_clone
        severity:
          type: string
          description: The extent to which this problem affects the repository in terms of analysis execution.
          example: all_analysis
    Branch:
      required:
        - branchType
        - id
        - isDefault
        - isEnabled
        - name
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: master
        isDefault:
          type: boolean
          example: true
        isEnabled:
          type: boolean
          example: true
        lastUpdated:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        branchType:
          type: string
          enum:
            - Branch
            - PullRequest
        lastCommit:
          type: string
    Badges:
      required:
        - coverage
        - grade
      type: object
      properties:
        grade:
          type: string
          description: Repository grade badge URL
          example: https://app.codacy.com/project/badge/Grade/d992a862b1994805907ec277e16b0fda
        coverage:
          type: string
          description: Repository coverage badge URL
          example: https://app.codacy.com/project/badge/Coverage/d992a862b1994805907ec277e16b0fda
    CodingStandardInfo:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the coding standard
          format: int64
        name:
          type: string
          description: Name of the coding standard
      description: Coding standard identifier and name
    AddedState:
      type: string
      description: |
        Added state of the repository on Codacy. Valid values are `NotAdded` (the repository was not added to Codacy), `Added` (the repository was added to Codacy), or `Following` (the current user is following a repository added to Codacy).
      example: Added
      enum:
        - NotAdded
        - Added
        - Following
      x-ms-enum:
        name: AddedState
    Repository:
      allOf:
        - $ref: '#/components/schemas/RepositorySummary'
        - required:
            - addedState
            - languages
            - problems
            - standards
            - visibility
          type: object
          properties:
            fullPath:
              type: string
              description: Full path of the repository on the Git provider
              example: codacy/codacy-eslint
            visibility:
              $ref: '#/components/schemas/Visibility'
            remoteIdentifier:
              type: string
              description: Unique identifier of the repository on the Git provider
              example: '3'
            lastUpdated:
              type: string
              description: Timestamp when the repository was last updated. See [Git provider documentation](https://docs.codacy.com/organizations/organization-overview/#last-updated-repositories) for details.
              format: date-time
              example: '2019-05-07T14:29:13.43Z'
              x-scala-type: java.time.Instant
            permission:
              $ref: '#/components/schemas/Permission'
            problems:
              type: array
              items:
                $ref: '#/components/schemas/RepositoryProblem'
            languages:
              type: array
              description: List of the languages in the repository
              example:
                - Java
                - Scala
                - CSS
              items:
                type: string
            defaultBranch:
              $ref: '#/components/schemas/Branch'
            badges:
              $ref: '#/components/schemas/Badges'
            codingStandardId:
              type: integer
              description: '**Deprecated:** Use `standards` field instead. Coding standard identifier.'
              deprecated: true
              format: int64
            codingStandardName:
              type: string
              description: '**Deprecated:** Use `standards` field instead. Coding standard name.'
              deprecated: true
            standards:
              type: array
              description: List of the coding standard identifiers and names
              items:
                $ref: '#/components/schemas/CodingStandardInfo'
            addedState:
              $ref: '#/components/schemas/AddedState'
            gatePolicyId:
              type: integer
              description: Identifier of the gate policy the repository is following. If not defined, the repository does not follow a gate policy.
              format: int64
            gatePolicyName:
              type: string
              description: Name of the gate policy the repository is following. Present only if the gatePolicyId is defined.
    Coverage:
      type: object
      properties:
        filesUncovered:
          type: integer
          format: int64
          example: 1
        filesWithLowCoverage:
          type: integer
          format: int64
          example: 1
        coveragePercentage:
          type: integer
          description: Test coverage percentage, truncated. Present only if a coverage report was processed for the most recent commit on the relevant branch.
          format: int64
          example: 1
        coveragePercentageWithDecimals:
          type: number
          description: Test coverage percentage. Present only if a coverage report was processed for the most recent commit on the relevant branch.
          format: double
          example: 15.25
        numberTotalFiles:
          type: integer
          format: int32
          example: 1
        numberCoveredLines:
          type: integer
          format: int32
          example: 1
        numberCoverableLines:
          type: integer
          format: int32
          example: 1
    RepositoryQualitySettings:
      type: object
      properties:
        maxIssuePercentage:
          type: integer
          description: The repository will be considered unhealthy if the percentage of issues is over this threshold
          format: int32
          example: 1
        maxDuplicatedFilesPercentage:
          type: integer
          description: The repository will be considered unhealthy if the percentage of duplication of files is over this threshold
          format: int32
          example: 1
        minCoveragePercentage:
          type: integer
          description: The repository will be considered unhealthy if the coverage percentage is under this threshold
          format: int32
          example: 1
        maxComplexFilesPercentage:
          type: integer
          description: The repository will be considered unhealthy if the percentage of complexity of files is over this threshold
          format: int32
          example: 1
        fileDuplicationBlockThreshold:
          minimum: 0
          type: integer
          description: A file in this repository will be considered duplicated when the number of cloned blocks is over this threshold. This value cannot be negative
          format: int32
          example: 1
        fileComplexityValueThreshold:
          minimum: 0
          type: integer
          description: A file in this repository will be considered complex when its complexity value is over this threshold. This value cannot be negative
          format: int32
          example: 1
    RepositoryWithAnalysis:
      required:
        - repository
      type: object
      properties:
        lastAnalysedCommit:
          $ref: '#/components/schemas/Commit'
        grade:
          type: integer
          description: Quality grade of the file as a number between 100 (highest grade) and 0 (lowest grade)
          format: int32
          example: 74
        gradeLetter:
          type: string
          description: Quality grade of the file as a letter between A (highest grade) and F (lowest grade)
          example: A
        issuesPercentage:
          type: integer
          format: int64
          example: 1
        issuesCount:
          type: integer
          format: int64
          example: 1
        loc:
          type: integer
          description: Lines of code of the repository
          format: int64
          example: 1
        complexFilesPercentage:
          type: integer
          format: int64
          example: 1
        complexFilesCount:
          type: integer
          format: int64
          example: 1
        duplicationPercentage:
          type: integer
          format: int64
          example: 1
        repository:
          $ref: '#/components/schemas/Repository'
        branch:
          description: Deprecated
          $ref: '#/components/schemas/Branch'
        selectedBranch:
          $ref: '#/components/schemas/Branch'
        coverage:
          $ref: '#/components/schemas/Coverage'
        goals:
          $ref: '#/components/schemas/RepositoryQualitySettings'
    RepositoryWithAnalysisListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/RepositoryWithAnalysis'
    BadRequest:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: BadRequest
    NotFound:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: NotFound
    BadGateway:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: BadGateway
    SearchOrganizationRepositoriesWithAnalysis:
      type: object
      properties:
        names:
          type: array
          description: List of repository names
          items:
            type: string
      description: Search organization repositories with analysis query body
    RepositoryWithAnalysisResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RepositoryWithAnalysis'
    AnalysisToolSettings:
      required:
        - enabledBy
        - followsStandard
        - hasConfigurationFile
        - isCustom
        - isEnabled
        - usesConfigurationFile
      type: object
      properties:
        name:
          type: string
        isEnabled:
          type: boolean
        followsStandard:
          type: boolean
        isCustom:
          type: boolean
        hasConfigurationFile:
          type: boolean
        usesConfigurationFile:
          type: boolean
        enabledBy:
          type: array
          description: List of the coding standard that enable the tool
          items:
            $ref: '#/components/schemas/CodingStandardInfo'
    AnalysisTool:
      required:
        - isClientSide
        - name
        - settings
        - uuid
      type: object
      properties:
        uuid:
          type: string
        name:
          type: string
        isClientSide:
          type: boolean
        settings:
          $ref: '#/components/schemas/AnalysisToolSettings'
    AnalysisToolsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AnalysisTool'
    RepositoryConflictsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            type: string
            example: 847feb32-9ff2-11ea-bb37-0242ac130002
      description: Repository Tools that have conflicts
    ConfiguredParameter:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: Code pattern parameter name
          example: getWithoutSet
        value:
          type: string
          description: Code pattern parameter value
          example: 'true'
      description: Parameter to configure a code pattern for a tool
    ConfiguredParametersList:
      type: array
      items:
        $ref: '#/components/schemas/ConfiguredParameter'
    ConfigurePattern:
      required:
        - enabled
        - id
      type: object
      properties:
        id:
          type: string
          description: The pattern's id.
          example: ESLint_@typescript-eslint_no-shadow
        enabled:
          type: boolean
          description: Whether to enable or disable the pattern.
          example: true
        parameters:
          $ref: '#/components/schemas/ConfiguredParametersList'
      description: A pattern to enable or disable.
    ConfigureToolBody:
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether to enable or disable the tool.
        useConfigurationFile:
          type: boolean
          description: Marks the tool as using a configuration file or not.
        patterns:
          type: array
          description: The patterns to enable or disable.
          items:
            $ref: '#/components/schemas/ConfigurePattern'
      description: How to configure a tool.
    Conflict:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: Conflict
    SeverityLevel:
      type: string
      description: Issue severity level. These values map to our UI as follows - Info to Minor, Warning to Medium, High to High, Error to Critical.
      example: Error
      enum:
        - Info
        - Warning
        - High
        - Error
      x-ms-enum:
        name: SeverityLevel
    PatternDetails:
      required:
        - category
        - id
        - level
        - severityLevel
      type: object
      properties:
        id:
          type: string
          description: Pattern identifier (unique per tool)
          example: accessor-pairs
        title:
          type: string
          description: Pattern title
        category:
          type: string
          description: Pattern category
          example: Security
        subCategory:
          type: string
          description: Pattern subcategory (optional since some patterns might not have a subcategory)
          example: XSS
        level:
          type: string
          description: Deprecated, use `severityLevel` instead
          example: Error
          enum:
            - Info
            - Warning
            - High
            - Error
          x-ms-enum:
            name: SeverityLevel
        severityLevel:
          $ref: '#/components/schemas/SeverityLevel'
      description: Details of the pattern that was identified in the issue
    Parameter:
      required:
        - default
        - name
      type: object
      properties:
        name:
          type: string
          description: Name of the parameter
          example: getWithoutSet
        description:
          type: string
          description: Description of the parameter
          example: getWithoutSet
        default:
          type: string
          description: Default value of the parameter
          example: 'true'
      description: Parameter to configure a code pattern
    ParameterList:
      type: array
      items:
        $ref: '#/components/schemas/Parameter'
    Pattern:
      description: Code pattern that a Codacy tool can use to find issues
      allOf:
        - $ref: '#/components/schemas/PatternDetails'
        - required:
            - enabled
            - parameters
          type: object
          properties:
            description:
              type: string
              description: Short description of the code pattern
              example: Enforce getter and setter pairs in objects and classes
            explanation:
              type: string
              description: Full description of the code pattern, in CommonMark
              example: Accessor pairs description
            enabled:
              type: boolean
              description: True if the code pattern is on by default for new repositories
              example: true
            languages:
              type: array
              description: List of languages that the code pattern supports
              example:
                - JavaScript
              items:
                type: string
            timeToFix:
              type: integer
              description: Average time to fix an issue detected by the code pattern, in minutes
              format: int32
              example: 5
            parameters:
              $ref: '#/components/schemas/ParameterList'
            rationale:
              type: string
              description: Rationale for the pattern
            solution:
              type: string
              description: Pattern suggested solution
            goodExamples:
              type: array
              description: List of good examples for the pattern
              items:
                type: string
            badExamples:
              type: array
              description: List of bad examples for the pattern
              items:
                type: string
            tags:
              type: array
              description: Tags associated with the pattern
              items:
                type: string
    ConfiguredPattern:
      required:
        - enabled
        - enabledBy
        - isCustom
        - parameters
        - patternDefinition
      type: object
      properties:
        patternDefinition:
          $ref: '#/components/schemas/Pattern'
        enabled:
          type: boolean
          description: True if the code pattern is enabled
          example: true
        isCustom:
          type: boolean
          description: Whether the pattern is enabled outside the scope of a coding standard
        parameters:
          $ref: '#/components/schemas/ConfiguredParametersList'
        enabledBy:
          type: array
          items:
            $ref: '#/components/schemas/CodingStandardInfo'
      description: Code pattern configuration for a tool
    ConfiguredPatternListMeta:
      required:
        - totalEnabled
      type: object
      properties:
        totalEnabled:
          type: integer
          description: Total number of enabled patterns
          format: int32
          example: 35
          default: 0
      description: Metadata for a retrieved pattern list
    ConfiguredPatternsListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ConfiguredPattern'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        meta:
          $ref: '#/components/schemas/ConfiguredPatternListMeta'
    Forbidden:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: Forbidden
    UpdatePatternsBody:
      required:
        - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: True enables the code patterns, and False disables them.
      description: Specifies the update to apply to the code patterns of a tool in a coding standard
    ConfiguredPatternResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ConfiguredPattern'
    Count:
      required:
        - name
        - total
      type: object
      properties:
        name:
          type: string
        total:
          type: integer
          format: int32
    ToolPatternsOverviewCounts:
      required:
        - categories
        - languages
        - severities
        - tags
        - totalEnabled
        - totalRecommended
      type: object
      properties:
        languages:
          type: array
          items:
            $ref: '#/components/schemas/Count'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Count'
        severities:
          type: array
          items:
            $ref: '#/components/schemas/Count'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Count'
        totalRecommended:
          type: integer
          format: int32
        totalEnabled:
          type: integer
          format: int32
      description: Overview of the patterns in a tool
    ToolPatternsOverview:
      required:
        - counts
      type: object
      properties:
        counts:
          $ref: '#/components/schemas/ToolPatternsOverviewCounts'
      description: Overview of the patterns in a tool
    ToolPatternsOverviewResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ToolPatternsOverview'
    StandardParameterConflict:
      required:
        - parameters
        - standard
      type: object
      properties:
        standard:
          $ref: '#/components/schemas/CodingStandardInfo'
        parameters:
          $ref: '#/components/schemas/ConfiguredParametersList'
      description: Coding Standards and corresponding Patterns Parameters that have conflicts
    StandardPatternConflict:
      required:
        - conflicts
        - patternId
      type: object
      properties:
        patternId:
          type: string
          description: The pattern's id.
          example: ESLint_@typescript-eslint_no-shadow
        conflicts:
          type: array
          items:
            $ref: '#/components/schemas/StandardParameterConflict'
      description: Identifies conflicts in a Pattern
    RepositoryToolConflictsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/StandardPatternConflict'
      description: Repository Tool Patterns that have conflicts
    AnalysisAction:
      type: string
      enum:
        - clone
        - createTasks
        - runMetrics
        - runPatterns
        - createOverviews
      x-ms-enum:
        name: AnalysisAction
    FirstAnalysisOverview:
      required:
        - action
        - complete
      type: object
      properties:
        action:
          $ref: '#/components/schemas/AnalysisAction'
        complete:
          type: boolean
          example: false
    FirstAnalysisOverviewResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FirstAnalysisOverview'
    PullRequestOwner:
      required:
        - name
      type: object
      properties:
        name:
          type: string
          example: Foo
        avatarUrl:
          type: string
          example: https://example.com/foo
        username:
          type: string
          example: foo.bar
        email:
          type: string
          example: foobar@example.com
    PullRequest:
      required:
        - commonAncestorCommitSha
        - gitHref
        - headCommitSha
        - id
        - number
        - owner
        - repository
        - status
        - title
        - updated
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        number:
          type: integer
          format: int32
          example: 1
        updated:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        status:
          type: string
          description: Pull request status
          example: open
        repository:
          type: string
          example: awesome-repository
        title:
          type: string
          example: Amazing pull request
        owner:
          $ref: '#/components/schemas/PullRequestOwner'
        headCommitSha:
          type: string
          example: 2957025d42e8daadf937d4044516f991d21deea4
        commonAncestorCommitSha:
          type: string
          example: 3357025d42e8daadf937d4044516f991d21deea4
        originBranch:
          type: string
          example: feat-branch
        targetBranch:
          type: string
          example: master
        gitHref:
          type: string
          description: URL to the pull request on the Git provider
          example: https://github.com/...
    DiffCoverage:
      required:
        - cause
      type: object
      properties:
        value:
          multipleOf: 0.01
          type: number
          description: Coverage value of the lines added or modified by the pull request
          format: double
          example: 71
        coveredLines:
          type: integer
          description: Number of covered lines from the lines added or modified by the pull request
          format: int32
          example: 11
        coverableLines:
          type: integer
          description: Number of coverable lines from the lines added or modified by the pull request
          format: int32
          example: 21
        cause:
          type: string
          description: Rationale for diffCoverage value interpretation
          example: NoCoverableLines
          enum:
            - ValueIsPresent
            - NoCoverableLines
            - MissingRequirements
          x-ms-enum:
            name: DiffCoverageReason
    AnalysisExpectedThreshold:
      required:
        - threshold
      type: object
      properties:
        threshold:
          type: number
          description: Threshold configured for the given gate
        minimumSeverity:
          $ref: '#/components/schemas/SeverityLevel'
      description: Expected threshold for the given gate
    AnalysisResultReason:
      required:
        - expectedThreshold
        - gate
        - isUpToStandards
      type: object
      properties:
        gate:
          type: string
          description: Name of the quality gate
        expected:
          type: number
          description: '**Deprecated:** Use `expectedThreshold` instead. The threshold value configured for the quality gate.'
          deprecated: true
          example: -1
        expectedThreshold:
          $ref: '#/components/schemas/AnalysisExpectedThreshold'
        isUpToStandards:
          type: boolean
          description: True if the value passes the quality gate
          example: true
      description: Reason for an analysis result for a quality gate
    PullRequestCoverage:
      type: object
      properties:
        deltaCoverage:
          multipleOf: 0.01
          type: number
          description: Difference between the coverage of the head commit and common ancestor commit of the pull request
          format: double
          example: 71
        diffCoverage:
          $ref: '#/components/schemas/DiffCoverage'
        isUpToStandards:
          type: boolean
          description: True if coverage metrics are at or above gate thresholds
          example: true
        resultReasons:
          type: array
          description: Reasons for the results of coverage analysis
          items:
            $ref: '#/components/schemas/AnalysisResultReason'
    QualityAnalysis:
      type: object
      properties:
        newIssues:
          type: integer
          description: Number of issues introduced by the pull request or commit
          format: int32
          example: 1
        fixedIssues:
          type: integer
          description: Number of issues fixed by the pull request or commit
          format: int32
          example: 1
        deltaComplexity:
          type: integer
          description: Difference in cyclomatic complexity introduced by the pull request or commit
          format: int32
          example: 1
        deltaClonesCount:
          type: integer
          description: Difference in number of duplicated blocks of code introduced by the pull request or commit
          format: int32
          example: 1
        isUpToStandards:
          type: boolean
          description: '**Deprecated:** Use PullRequest `isUpToStandards` instead (if applicable).'
          deprecated: true
          example: true
        resultReasons:
          type: array
          description: Reasons for the results of quality analysis
          items:
            $ref: '#/components/schemas/AnalysisResultReason'
    AnalysisMeta:
      required:
        - analyzable
      type: object
      properties:
        analyzable:
          type: boolean
        reason:
          type: string
    PullRequestWithAnalysis:
      required:
        - isAnalysing
        - meta
        - pullRequest
      type: object
      properties:
        isUpToStandards:
          type: boolean
          description: True if metrics are at or above gate thresholds
          example: true
        isAnalysing:
          type: boolean
          example: false
        pullRequest:
          $ref: '#/components/schemas/PullRequest'
        newIssues:
          type: integer
          description: Number of issues introduced by the pull request
          format: int32
          example: 1
        fixedIssues:
          type: integer
          description: Number of issues fixed by the pull request
          format: int32
          example: 1
        deltaComplexity:
          type: integer
          description: Difference in cyclomatic complexity introduced by the pull request
          format: int32
          example: 1
        deltaClonesCount:
          type: integer
          description: Difference in number of duplicated blocks of code introduced by the pull request
          format: int32
          example: 1
        deltaCoverageWithDecimals:
          multipleOf: 0.01
          type: number
          description: Deprecated, use `coverage` instead
          format: double
          example: 71
        deltaCoverage:
          type: integer
          description: Deprecated, use `coverage` instead
          format: int32
          example: 1
        diffCoverage:
          multipleOf: 0.01
          type: number
          description: Deprecated, use `coverage` instead
          format: double
          example: 71
        coverage:
          $ref: '#/components/schemas/PullRequestCoverage'
        quality:
          $ref: '#/components/schemas/QualityAnalysis'
        meta:
          $ref: '#/components/schemas/AnalysisMeta'
    PullRequestWithAnalysisListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PullRequestWithAnalysis'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    PullRequestWithCoverage:
      required:
        - coverage
        - pullRequest
      type: object
      properties:
        pullRequest:
          $ref: '#/components/schemas/PullRequest'
        coverage:
          $ref: '#/components/schemas/PullRequestCoverage'
    PullRequestWithCoverageResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/PullRequestWithCoverage'
    DiffLineHit:
      required:
        - hits
        - lineNumber
      type: object
      properties:
        lineNumber:
          type: string
        hits:
          type: integer
          format: int64
    FileDiffCoverage:
      required:
        - coverage
        - diffLineHits
        - fileName
      type: object
      properties:
        fileName:
          type: string
        coverage:
          type: number
        variation:
          type: number
        diff:
          $ref: '#/components/schemas/DiffCoverage'
        diffLineHits:
          type: array
          items:
            $ref: '#/components/schemas/DiffLineHit'
    PullRequestFilesCoverageResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileDiffCoverage'
    CoverageAnalysis:
      type: object
      properties:
        totalCoveragePercentage:
          type: number
          description: Total coverage percentage at the requested commit
          format: double
          example: 93.23
        deltaCoveragePercentage:
          type: number
          description: Difference in coverage between two commits, expressed in percentage points
          format: double
          example: 15.25
        isUpToStandards:
          type: boolean
          description: True if coverage metrics are at or above gate thresholds
          example: true
        resultReasons:
          type: array
          description: Reasons for the results of coverage analysis
          items:
            $ref: '#/components/schemas/AnalysisResultReason'
    CommitWithAnalysis:
      required:
        - commit
        - meta
      type: object
      properties:
        commit:
          $ref: '#/components/schemas/Commit'
        coverage:
          $ref: '#/components/schemas/CoverageAnalysis'
        quality:
          $ref: '#/components/schemas/QualityAnalysis'
        meta:
          $ref: '#/components/schemas/AnalysisMeta'
    CommitWithAnalysisListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/CommitWithAnalysis'
    CommitWithBranches:
      allOf:
        - $ref: '#/components/schemas/Commit'
        - type: object
          properties:
            branches:
              type: array
              description: List of branches containing the commit
              items:
                $ref: '#/components/schemas/Branch'
    PullRequestCoverageReport:
      required:
        - createdAt
        - status
        - targetCommitSha
      type: object
      properties:
        targetCommitSha:
          type: string
          description: Commit SHA that was referenced as the target for this report
        commit:
          $ref: '#/components/schemas/CommitWithBranches'
        language:
          type: string
          description: Programming language associated with the coverage report
        createdAt:
          type: string
          description: Report creation date
          format: date-time
          x-scala-type: java.time.Instant
        status:
          type: string
          description: Coverage status
          enum:
            - Pending
            - Processed
            - CommitNotAnalysed
            - CommitNotFound
            - BranchNotEnabled
            - MissingFinal
      description: Status and details of a pull request coverage report
    CoveragePullRequestCommitDetail:
      required:
        - commitId
        - commitSha
        - reports
      type: object
      properties:
        commitId:
          type: integer
          format: int64
          example: 1
        commitSha:
          type: string
        reports:
          type: array
          items:
            $ref: '#/components/schemas/PullRequestCoverageReport'
      description: Status and details of the coverage reports received for a pull request commit
    CoveragePullRequestResponse:
      required:
        - data
      type: object
      properties:
        data:
          required:
            - commonAncestorCommit
            - headCommit
            - origin
            - target
          type: object
          properties:
            headCommit:
              $ref: '#/components/schemas/CoveragePullRequestCommitDetail'
            commonAncestorCommit:
              $ref: '#/components/schemas/CoveragePullRequestCommitDetail'
            origin:
              $ref: '#/components/schemas/CoveragePullRequestCommitDetail'
            target:
              $ref: '#/components/schemas/CoveragePullRequestCommitDetail'
      description: |
        Status and details about the coverage reports uploaded for the head commit
        and common ancestor commit of the pull request.
    ToolReference:
      required:
        - name
        - uuid
      type: object
      properties:
        uuid:
          type: string
          description: Tool unique identifier
          example: 847feb32-9ff2-11ea-bb37-0242ac130002
        name:
          type: string
          description: Name of the tool
          example: ESLint
      description: Details of the tool that found the issue
    CommitReference:
      description: Details of the commit that introduced the issue or null if the issue was introduced in a commit that Codacy didn't analyze
      allOf:
        - $ref: '#/components/schemas/CommitIdentification'
        - type: object
          properties:
            commiter:
              type: string
              description: Email address of the author of the commit
            commiterName:
              type: string
              description: Name of the author of the commit
            timestamp:
              type: string
              description: Time and date of the commit
              format: date-time
              example: '2019-05-07T14:29:13.43Z'
              x-scala-type: java.time.Instant
    CommitIssue:
      required:
        - fileId
        - filePath
        - issueId
        - language
        - lineNumber
        - lineText
        - message
        - patternInfo
        - resultDataId
        - toolInfo
        - falsePositiveThreshold
      type: object
      properties:
        issueId:
          type: string
          description: ID of the Issue
        resultDataId:
          type: integer
          description: Stable ID for the issue.
          format: int64
        filePath:
          type: string
          description: Path of the file where the issue was found
        fileId:
          type: integer
          format: int64
        patternInfo:
          $ref: '#/components/schemas/PatternDetails'
        toolInfo:
          $ref: '#/components/schemas/ToolReference'
        lineNumber:
          type: integer
          description: Line where the issue was found
          format: int64
        message:
          type: string
          description: Detailed cause of the issue
        suggestion:
          type: string
          description: The suggested fix for the issue
        language:
          type: string
          description: Language of the file where the issue was found
        lineText:
          type: string
          description: Contents of the line where the issue was found
        commitInfo:
          $ref: '#/components/schemas/CommitReference'
        falsePositiveProbability:
          type: integer
          description: Probability that the issue is a false positive
          format: int32
        falsePositiveReason:
          type: string
          description: Reasoning for the false positive
        falsePositiveThreshold:
          type: integer
          description: Threshold for false positive detection
          format: int32
      description: Issue details including the commit that originated the issue
    DeltaType:
      type: string
      description: Specifies if the issue was added or fixed by the commit
      example: Added
      enum:
        - Added
        - Fixed
      x-ms-enum:
        name: DeltaType
    CommitDeltaIssue:
      required:
        - commitIssue
        - deltaType
      type: object
      properties:
        commitIssue:
          $ref: '#/components/schemas/CommitIssue'
        deltaType:
          $ref: '#/components/schemas/DeltaType'
      description: Details of an issue that was added or fixed by a commit
    PullRequestIssuesResponse:
      required:
        - analyzed
        - data
      type: object
      properties:
        analyzed:
          type: boolean
          description: True if Codacy already analyzed the latest commit
        data:
          type: array
          description: List of issues added or fixed on a pull request or an empty list if Codacy didn't analyze the latest commit yet.
          items:
            $ref: '#/components/schemas/CommitDeltaIssue'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
      description: List of issues added or fixed on a pull request
    CloneDuplicationBlock:
      required:
        - fileDataId
        - fileId
        - fromLine
        - path
        - toLine
      type: object
      properties:
        path:
          type: string
        fileId:
          type: integer
          format: int64
        fileDataId:
          type: integer
          format: int64
        fromLine:
          type: integer
          format: int64
        toLine:
          type: integer
          format: int64
    CommitFileClone:
      required:
        - clones
        - id
        - status
      type: object
      properties:
        id:
          type: integer
          format: int64
        status:
          $ref: '#/components/schemas/DeltaType'
        clones:
          type: array
          items:
            $ref: '#/components/schemas/CloneDuplicationBlock'
      description: A duplicated code block with references to duplicate instances
    ClonesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of duplicate code blocks added or removed in a commit or pull request, or an empty list if Codacy has not analyzed the latest commit yet.
          items:
            $ref: '#/components/schemas/CommitFileClone'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
      description: List of duplicate code blocks added or removed in a commit or pull request
    AnalysisStepExecutionMetrics:
      required:
        - activeExecutionTime
        - end
        - start
        - status
        - title
        - totalExecutionTime
      type: object
      properties:
        title:
          type: string
        start:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        end:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        activeExecutionTime:
          type: integer
          format: int64
        totalExecutionTime:
          type: integer
          format: int64
        stackTrace:
          type: string
        status:
          type: string
          enum:
            - success
            - error
      description: Execution metrics for a step of the analysis process
    LogsResponse:
      required:
        - data
      type: object
      properties:
        data:
          required:
            - end
            - headCommitSha
            - start
            - steps
            - totalAnalysisTime
          type: object
          properties:
            headCommitSha:
              type: string
            commonAncestorCommitSha:
              type: string
            start:
              type: string
              format: date-time
              x-scala-type: java.time.Instant
            end:
              type: string
              format: date-time
              x-scala-type: java.time.Instant
            totalAnalysisTime:
              type: integer
              format: int64
            steps:
              type: array
              items:
                $ref: '#/components/schemas/AnalysisStepExecutionMetrics'
          description: Analysis logs data for a commit or pull request
      description: Analysis logs response for a commit or pull request
    DeprecatedRepositoryQualitySettings:
      type: object
      properties:
        issueThreshold:
          type: integer
          description: The repository will be considered unhealthy if the percentage of issues is over this threshold
          format: int32
          example: 1
        duplicationThreshold:
          type: integer
          description: The repository will be considered unhealthy if the percentage of duplication of files is over this threshold
          format: int32
          example: 1
        coverageThreshold:
          type: integer
          description: The repository will be considered unhealthy if the coverage percentage is under this threshold
          format: int32
          example: 1
        complexityThreshold:
          type: integer
          description: The repository will be considered unhealthy if the percentage of complexity of files is over this threshold
          format: int32
          example: 1
        fileDuplicationThreshold:
          type: integer
          description: A file in this repository will be considered duplicated when the number of cloned blocks is over this threshold
          format: int32
          example: 1
        fileComplexityThreshold:
          type: integer
          description: A file in this repository will be considered complex when its complexity value is over this threshold
          format: int32
          example: 1
    DeprecatedRepositoryQualitySettingsResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/DeprecatedRepositoryQualitySettings'
    FileMetadata:
      required:
        - commitId
        - commitSha
        - fileDataId
        - fileId
        - gitProviderUrl
        - ignored
        - language
        - path
      type: object
      properties:
        branchId:
          type: integer
          description: Identifier for the branch the file belongs to
          format: int64
          example: 1
        commitId:
          type: integer
          format: int64
          example: 1
        commitSha:
          type: string
          description: Commit SHA
        fileId:
          type: integer
          description: Identifier for file in any branch of a specific commit
          format: int64
          example: 1
        fileDataId:
          type: integer
          description: Identifier for file
          format: int64
          example: 1
        path:
          type: string
          description: Relative path of the file in the repository
          example: /src/test.go
        language:
          type: string
          description: Language of the file
          example: Go
        gitProviderUrl:
          type: string
          description: URL to the commit on the Git provider
          example: https://github.com/codacy/tools-for-code-review-engineers/commit/370b160aaf0ed781d707d335aa1fde20cefeabf2
        ignored:
          type: boolean
          description: True if the file is excluded from the analysis
          example: false
      description: Metadata for a file in a repository
    FileDeltaCoverageAnalysis:
      type: object
      properties:
        deltaCoverage:
          multipleOf: 0.01
          type: number
          description: Difference in code coverage percentage when compared to the parent commit
          format: double
          example: -2.35
        totalCoverage:
          multipleOf: 0.01
          type: number
          description: The total coverage percentage for a given commit
          format: double
          example: -2.35
      description: Coverage changes for a file between two commits
    FileDeltaQualityAnalysis:
      required:
        - deltaFixedIssues
        - deltaNewIssues
      type: object
      properties:
        deltaNewIssues:
          type: integer
          description: Number of issues introduced by the commit
          format: int32
          example: 1
        deltaFixedIssues:
          type: integer
          description: Number of issues fixed by the commit
          format: int32
          example: 1
        deltaComplexity:
          type: integer
          description: Difference in cyclomatic complexity introduced by the commit
          format: int32
          example: 1
        deltaClonesCount:
          type: integer
          description: Difference in number of duplicated blocks of code introduced by the commit
          format: int32
          example: 1
      description: Quality changes for a file between two commits
    FileDeltaAnalysis:
      required:
        - file
      type: object
      properties:
        file:
          $ref: '#/components/schemas/FileMetadata'
        coverage:
          $ref: '#/components/schemas/FileDeltaCoverageAnalysis'
        quality:
          $ref: '#/components/schemas/FileDeltaQualityAnalysis'
        comparedWithCommit:
          required:
            - commitId
          type: object
          properties:
            commitId:
              type: integer
              format: int64
              example: 1
            coverage:
              type: object
              properties:
                totalCoverage:
                  multipleOf: 0.01
                  type: number
                  description: Total coverage of the commit
                  format: double
                  example: 82.35
          description: Original analysis results for the file
      description: File with analysis results changes between two commits
    FileAnalysisListResponse:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileDeltaAnalysis'
      description: List of files with analysis results changes between two commits
    AddedStateResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AddedState'
    RepositoryQualitySettingsResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RepositoryQualitySettings'
    SshKeySettingResponse:
      required:
        - publicSshKey
      type: object
      properties:
        publicSshKey:
          type: string
          description: Public SSH key
    SyncProviderSettingResponse:
      required:
        - name
        - visibility
      type: object
      properties:
        name:
          type: string
          description: Name of the repository
          example: codacy-eslint
        visibility:
          $ref: '#/components/schemas/Visibility'
    BuildServerAnalysisSettingResponse:
      required:
        - buildServerAnalysisSetting
      type: object
      properties:
        buildServerAnalysisSetting:
          type: boolean
          description: |
            If true, Codacy waits for your build server to upload the results of the local analysis before resuming the analysis of your commits.
            If false, Codacy analyzes your commits directly on its cloud infrastructure.
    MethodNotAllowed:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: MethodNotAllowed
    BuildServerAnalysisSettingRequest:
      required:
        - buildServerAnalysisSetting
      type: object
      properties:
        buildServerAnalysisSetting:
          type: boolean
          description: |
            If true, Codacy waits for your build server to upload the results of the local analysis before resuming the analysis of your commits.
            If false, Codacy analyzes your commits directly on its cloud infrastructure.
    Language:
      required:
        - name
      type: object
      properties:
        name:
          type: string
          description: name of the language
          example: Scala
      description: Language information
    RepositoryLanguage:
      allOf:
        - $ref: '#/components/schemas/Language'
        - required:
            - codacyDefaults
            - detected
            - enabled
            - extensions
            - defaultFiles
          type: object
          properties:
            codacyDefaults:
              type: array
              description: Default Codacy extensions for the language
              items:
                type: string
            extensions:
              type: array
              description: List of custom extensions for the language
              items:
                type: string
            defaultFiles:
              type: array
              description: Default Codacy files for the language
              items:
                type: string
            enabled:
              type: boolean
              description: Whether or not this language is to be analyzed for this repository.
            detected:
              type: boolean
              description: Whether or not Codacy detected this language in the given repository. Note that at least one analysis has to have happened after
          description: List of supported file extensions for a specific language
    RepositoryLanguageResponse:
      required:
        - languages
      type: object
      properties:
        languages:
          type: array
          description: List of languages with supported extensions
          items:
            $ref: '#/components/schemas/RepositoryLanguage'
    RepositoryLanguageUpdate:
      allOf:
        - $ref: '#/components/schemas/Language'
        - type: object
          properties:
            extensions:
              type: array
              description: List of custom file extensions for the language. If left undefined, then the extensions will not be updated.
              items:
                type: string
            enabled:
              type: boolean
              description: Whether this language is to be analyzed for this repository. If left undefined, then the flag will not be updated.
    RepositoryLanguagesBody:
      required:
        - languages
      type: object
      properties:
        languages:
          type: array
          description: List of languages for this repository
          items:
            $ref: '#/components/schemas/RepositoryLanguageUpdate'
    FileExtensions:
      required:
        - codacyDefaults
        - extensions
        - name
      type: object
      properties:
        name:
          type: string
          description: Language name
        codacyDefaults:
          type: array
          description: Default Codacy extensions for the language
          items:
            type: string
        extensions:
          type: array
          description: List of custom extensions for the language
          items:
            type: string
      description: List of supported file extensions for a specific language
    FileExtensionsResponse:
      required:
        - languagesExtensions
      type: object
      properties:
        languagesExtensions:
          type: array
          description: List of languages with supported extensions
          items:
            $ref: '#/components/schemas/FileExtensions'
    FileExtensionsUpdate:
      required:
        - extensions
        - name
      type: object
      properties:
        name:
          type: string
          description: Language name
        extensions:
          type: array
          description: List of custom file extensions for the language
          items:
            type: string
    FileExtensionsBody:
      required:
        - languagesExtensions
      type: object
      properties:
        languagesExtensions:
          type: array
          description: List of custom file extensions to associate with each language for a repository
          items:
            $ref: '#/components/schemas/FileExtensionsUpdate'
    QualityGate:
      type: object
      properties:
        issueThreshold:
          required:
            - threshold
          type: object
          properties:
            threshold:
              minimum: 0
              type: integer
              format: int32
              example: 1
            minimumSeverity:
              $ref: '#/components/schemas/SeverityLevel'
          description: The quality gate will fail if there are new issues of the specified severity over this threshold (if no severity is specified all severity levels are considered). This value cannot be negative
        securityIssueThreshold:
          minimum: 0
          type: integer
          description: The quality gate will fail if the number of new security issues is over this threshold. This value cannot be negative
          format: int32
          example: 1
        securityIssueMinimumSeverity:
          $ref: '#/components/schemas/SeverityLevel'
        duplicationThreshold:
          type: integer
          description: The quality gate will fail if there are new duplicated blocks over this threshold
          format: int32
          example: 1
        coverageThreshold:
          maximum: 1
          type: integer
          description: Deprecated, use `coverageThresholdWithDecimals` instead
          format: int32
          example: 1
        coverageThresholdWithDecimals:
          type: number
          description: The quality gate will fail if coverage percentage varies less than this threshold. This value should be at most 1.00
          format: double
          example: -0.02
        diffCoverageThreshold:
          maximum: 100
          minimum: 0
          type: integer
          description: The quality gate will fail if diff coverage is under this threshold. This value should be at least 0 and at most 100
          format: int32
          example: 70
        complexityThreshold:
          minimum: 0
          type: integer
          description: The quality gate will fail if the complexity value is over this threshold. This value cannot be negative
          format: int32
          example: 1
    RepositoryGatePolicy:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the gate policy
          format: int64
        name:
          type: string
          description: Name of the gate policy
      description: Gate policy the repository is following.
    QualitySettingsWithGatePolicy:
      required:
        - qualityGate
      type: object
      properties:
        qualityGate:
          $ref: '#/components/schemas/QualityGate'
        repositoryGatePolicyInfo:
          $ref: '#/components/schemas/RepositoryGatePolicy'
    QualitySettingsResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/QualitySettingsWithGatePolicy'
    CategoryIssues:
      required:
        - categoryId
        - categoryType
        - categoryName
        - numberOfIssues
      type: object
      properties:
        categoryId:
          type: integer
          format: int64
          example: 1
        categoryType:
          type: string
        categoryName:
          type: string
        numberOfIssues:
          type: integer
          format: int64
          example: 100
    CommitAnalysisStats:
      required:
        - commitAuthorName
        - commitId
        - commitShortUUID
        - commitTimestamp
        - issuePercentage
        - issuesPerCategory
        - numberIssues
        - numberLoc
        - repositoryId
        - techDebt
        - totalFilesAdded
        - totalFilesChanged
        - totalFilesRemoved
      type: object
      properties:
        repositoryId:
          type: integer
          format: int64
          example: 1
        commitId:
          type: integer
          format: int64
          example: 1
        numberIssues:
          type: integer
          format: int64
          example: 1
        numberLoc:
          type: integer
          format: int64
          example: 1
        issuesPerCategory:
          type: array
          items:
            $ref: '#/components/schemas/CategoryIssues'
        issuePercentage:
          type: integer
          format: int64
          example: 1
        totalComplexity:
          type: integer
          format: int64
          example: 1
        numberComplexFiles:
          type: integer
          format: int64
          example: 1
        complexFilesPercentage:
          type: integer
          format: int64
          example: 1
        filesChangedToIncreaseComplexity:
          type: integer
          format: int64
          example: 1
        numberDuplicatedLines:
          type: integer
          format: int64
          example: 1
        duplicationPercentage:
          type: integer
          format: int64
          example: 1
        coveragePercentage:
          type: integer
          description: Test coverage percentage, truncated. Present only if a coverage report was processed for this commit.
          format: int64
          example: 1
        coveragePercentageWithDecimals:
          type: number
          description: Test coverage percentage. Present only if a coverage report was processed for this commit.
          format: double
          example: 15.25
        numberFilesUncovered:
          type: integer
          format: int64
          example: 1
        techDebt:
          type: integer
          format: int64
          example: 1
        totalFilesAdded:
          type: integer
          format: int64
          example: 1
        totalFilesRemoved:
          type: integer
          format: int64
          example: 1
        totalFilesChanged:
          type: integer
          format: int64
          example: 1
        commitTimestamp:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        commitAuthorName:
          type: string
          example: Mike The Developer
        commitShortUUID:
          type: string
          example: 00d3079ed
    CommitAnalysisStatsListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CommitAnalysisStats'
    Category:
      required:
        - categoryType
        - description
        - name
      type: object
      properties:
        categoryType:
          type: string
        name:
          type: string
        description:
          type: string
    CategoryOverview:
      required:
        - category
        - commitId
        - percentage
        - totalResults
      type: object
      properties:
        commitId:
          type: integer
          format: int64
          example: 1
        category:
          $ref: '#/components/schemas/Category'
        percentage:
          type: number
          format: double
          example: 1.6
        totalResults:
          type: integer
          format: int64
          example: 1
    CategoryOverviewListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CategoryOverview'
    SearchRepositoryIssuesBody:
      type: object
      properties:
        branchName:
          type: string
          description: |
            Name of a [repository branch enabled on Codacy](https://docs.codacy.com/repositories-configure/managing-branches/),
            as returned by the endpoint [listRepositoryBranches](#listrepositorybranches).
            By default, uses the main branch defined on the Codacy repository settings.
          example: a-feature-branch-name
        patternIds:
          type: array
          description: Set of code pattern identifiers, as returned by the endpoint [listPatterns](#listpatterns)
          example:
            - ESLint_@typescript-eslint_consistent-indexed-object-style
            - ESLint_@typescript-eslint_no-redeclare
          items:
            type: string
        languages:
          type: array
          description: Set of language names, without spaces
          example:
            - Java
            - Scala
            - CSS
            - ObjectiveC
          items:
            type: string
        categories:
          type: array
          description: Set of issue categories
          example:
            - Security
            - CodeStyle
          items:
            type: string
        levels:
          type: array
          description: Set of issue severity levels
          example:
            - Error
            - Warning
          items:
            $ref: '#/components/schemas/SeverityLevel'
        tags:
          type: array
          description: Set of issue pattern tags
          example:
            - react
            - angular
          items:
            type: string
        authorEmails:
          type: array
          description: Set of commit author email addresses
          example:
            - example@mail.com
            - another@mail.com
          items:
            type: string
      description: Search parameters to filter the list of issues in a repository
    SearchRepositoryIssuesListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CommitIssue'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    BulkIgnoreIssuesBody:
      type: object
      properties:
        issueIds:
          type: array
          items:
            type: string
          description: List of issue ids to ignore
        reason:
          type: string
          description: Optional reason for ignoring
        comment:
          type: string
          description: Optional comment
      required:
        - issueIds
    PatternsCount:
      required:
        - id
        - title
        - total
      type: object
      properties:
        id:
          type: string
          description: Identifier of the code pattern
        title:
          type: string
          description: Title of the code pattern
        total:
          type: integer
          description: Number of issues detected by the code pattern
          format: int32
      description: Number of issues detected by a code pattern
    IssuesOverviewCounts:
      required:
        - authors
        - categories
        - languages
        - levels
        - tags
        - patterns
      type: object
      properties:
        categories:
          type: array
          description: Number of issues per category
          items:
            $ref: '#/components/schemas/Count'
        languages:
          type: array
          description: Number of issues per language
          items:
            $ref: '#/components/schemas/Count'
        levels:
          type: array
          description: Number of issues per severity level
          items:
            $ref: '#/components/schemas/Count'
        tags:
          type: array
          description: Number of tags per code pattern
          items:
            $ref: '#/components/schemas/Count'
        patterns:
          type: array
          description: Number of issues per code pattern
          items:
            $ref: '#/components/schemas/PatternsCount'
        authors:
          type: array
          description: Number of issues per commit author
          items:
            $ref: '#/components/schemas/Count'
      description: Overview of the issues in a repository
    IssuesOverview:
      required:
        - counts
      type: object
      properties:
        counts:
          $ref: '#/components/schemas/IssuesOverviewCounts'
      description: Overview of the issues in a repository
    IssuesOverviewResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/IssuesOverview'
    GetIssueResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CommitIssue'
    IssueStateBody:
      required:
        - ignored
      type: object
      properties:
        ignored:
          type: boolean
          description: True if the issue is ignored
        reason:
          type: string
          enum:
            - AcceptedUse
            - FalsePositive
            - NotExploitable
            - TestCode
            - ExternalCode
          description: Predefined reason for ignoring the issue
          example: FalsePositive
        comment:
          type: string
          description: Optional comment justifying the ignore action
      description: Ignored status of an issue
    IgnoredIssue:
      required:
        - filePath
        - issueId
        - ignoredTimestamp
        - language
        - lineText
        - message
        - patternInfo
        - toolInfo
      type: object
      properties:
        issueId:
          type: string
          description: ID of the Issue
        reason:
          type: string
          enum:
            - AcceptedUse
            - FalsePositive
            - NotExploitable
            - TestCode
            - ExternalCode
          description: Predefined reason for ignoring the issue
          example: FalsePositive
        comment:
          type: string
          description: Optional comment describing reason for ignoring the issue
        ignoredByName:
          type: string
          description: Name of who ignored the issue
        ignoredTimestamp:
          type: string
          description: Timestamp when the issue was ignored
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        filePath:
          type: string
          description: Path of the file where the issue was found and ignored
        fileId:
          type: integer
          format: int64
        patternInfo:
          $ref: '#/components/schemas/PatternDetails'
        toolInfo:
          $ref: '#/components/schemas/ToolReference'
        lineNumber:
          type: integer
          description: Line where the issue was found
          format: int64
        message:
          type: string
          description: Detailed cause of the ignored issue
        language:
          type: string
          description: Language of the file where the ignored issue was found
        lineText:
          type: string
          description: Contents of the line where the ignored issue was found
        commitInfo:
          $ref: '#/components/schemas/CommitReference'
        falsePositiveProbability:
          type: integer
          description: Probability that the issue is a false positive
          format: int32
        falsePositiveReason:
          type: string
          description: Reasoning for the false positive
        falsePositiveThreshold:
          type: integer
          description: Threshold for false positive detection
          format: int32
      description: Ignored issue details including the commit that originated the issue
    IgnoredIssuesListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/IgnoredIssue'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    CommitDeltaStatistics:
      required:
        - analyzed
        - commitUuid
        - fixedIssues
        - newIssues
      type: object
      properties:
        commitUuid:
          type: string
          description: Unique identifier of the commit
        newIssues:
          type: integer
          description: Number of issues introduced by the commit
          format: int32
        fixedIssues:
          type: integer
          description: Number of issues fixed by the commit
          format: int32
        deltaComplexity:
          type: integer
          description: Difference in cyclomatic complexity when compared to the previous commit
          format: int32
        deltaCoverage:
          type: integer
          description: Difference in code coverage percentage when compared to the previous commit
          format: int32
        deltaCoverageWithDecimals:
          multipleOf: 0.01
          type: number
          description: Difference in code coverage with decimals percentage when compared to the previous commit
          format: double
          example: 71
        deltaClonesCount:
          type: integer
          description: Difference in number of duplicated blocks of code when compared to the previous commit
          format: int32
        analyzed:
          type: boolean
          description: True if the commit was already analyzed by Codacy
      description: Delta quality metrics for a commit
    CommitDeltaIssuesResponse:
      required:
        - analyzed
        - data
      type: object
      properties:
        analyzed:
          type: boolean
          description: True if Codacy already analyzed the commit
        data:
          type: array
          description: List of issues added or fixed on a commit or an empty list if Codacy didn't analyze the commit yet.
          items:
            $ref: '#/components/schemas/CommitDeltaIssue'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
      description: List of issues added or fixed on a commit
    User:
      required:
        - created
        - id
        - isActive
        - isAdmin
        - mainEmail
        - otherEmails
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
          example: Foo
        mainEmail:
          type: string
          example: main@codacy.com
        otherEmails:
          type: array
          example:
            - foo@bar.com
          items:
            type: string
        isAdmin:
          type: boolean
          example: false
        isActive:
          type: boolean
          example: true
        created:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        intercomHash:
          type: string
          example: userhash
        zendeskHash:
          type: string
          example: userzendeskhash
        pylonHash:
          type: string
          example: userpylonhash
        shouldDoClientQualification:
          type: boolean
          example: false
    UserResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/User'
    UserBody:
      type: object
      properties:
        name:
          type: string
          example: Foo
        shouldDoClientQualification:
          type: boolean
          example: false
    JoinMode:
      type: string
      enum:
        - auto
        - adminAuto
        - request
      x-ms-enum:
        name: JoinMode
    OrganizationType:
      type: string
      description: The type of Organization
      example: Organization
      enum:
        - Account
        - Organization
      x-ms-enum:
        name: OrganizationType
    JoinStatus:
      type: string
      enum:
        - member
        - pendingMember
        - remoteMember
      x-ms-enum:
        name: JoinStatus
    Organization:
      required:
        - name
        - provider
        - remoteIdentifier
        - singleProviderLogin
        - type
        - hasDastAccess
        - hasScaEnabled
        - imageSbomEnabled
      type: object
      properties:
        identifier:
          type: integer
          format: int64
        remoteIdentifier:
          type: string
        name:
          type: string
          example: FooOrganization
        avatar:
          type: string
          example: someRandomLink.com
        created:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        provider:
          $ref: '#/components/schemas/Provider'
        joinMode:
          $ref: '#/components/schemas/JoinMode'
        type:
          $ref: '#/components/schemas/OrganizationType'
        joinStatus:
          $ref: '#/components/schemas/JoinStatus'
        singleProviderLogin:
          type: boolean
        hasDastAccess:
          type: boolean
        hasScaEnabled:
          type: boolean
        imageSbomEnabled:
          type: boolean
    OrganizationListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Organization'
    OrganizationResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Organization'
    UserEmail:
      type: object
      required:
        - email
        - isPrivate
      properties:
        email:
          type: string
        isPrivate:
          type: boolean
    UserEmails:
      type: object
      required:
        - mainEmail
        - otherEmails
      properties:
        mainEmail:
          $ref: '#/components/schemas/UserEmail'
        otherEmails:
          type: array
          items:
            $ref: '#/components/schemas/UserEmail'
    UserEmailsResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/UserEmails'
    EmailNotificationSettings:
      type: object
      required:
        - perCommit
        - perPullRequest
        - onlyMyActivity
      properties:
        perCommit:
          type: boolean
          description: Whether to receive notifications for each commit
          example: false
        perPullRequest:
          type: boolean
          description: Whether to receive notifications for pull requests
          example: true
        onlyMyActivity:
          type: boolean
          description: Whether to only receive notifications for your own activity
          example: true
      example:
        perCommit: false
        perPullRequest: true
        onlyMyActivity: true
    EmailNotificationSettingsResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/EmailNotificationSettings'
    EmailNotificationSettingsOptional:
      type: object
      properties:
        perCommit:
          type: boolean
          description: Whether to receive notifications for each commit
          example: false
        perPullRequest:
          type: boolean
          description: Whether to receive notifications for pull requests
          example: true
        onlyMyActivity:
          type: boolean
          description: Whether to only receive notifications for your own activity
          example: true
      example:
        perCommit: false
        perPullRequest: true
        onlyMyActivity: true
    Integration:
      required:
        - lastAuthenticated
        - provider
        - host
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/Provider'
        host:
          type: string
          example: gsh.dev.codacy.org
        lastAuthenticated:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
    IntegrationListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Integration'
    UserRole:
      type: string
      enum:
        - admin
        - manager
        - member
      x-ms-enum:
        name: UserRole
    Membership:
      required:
        - userRole
      type: object
      properties:
        userRole:
          $ref: '#/components/schemas/UserRole'
    Billing:
      required:
        - isPremium
        - model
      type: object
      properties:
        isPremium:
          type: boolean
          description: Deprecated, use subscriptions.plan.isPremium instead.
          example: true
        model:
          type: string
          example: Auto
          enum:
            - Auto
            - Manual
        code:
          type: string
          description: Deprecated, use subscriptions.plan.code instead.
          example: trial
        monthly:
          type: boolean
          example: true
        price:
          type: integer
          format: int64
          example: 1000
        pricedPerUser:
          type: boolean
          example: true
    Paywall:
      required:
        - organizationDashboard
        - securityDashboard
      type: object
      properties:
        organizationDashboard:
          type: boolean
          description: Deprecated, use OrganizationPaywall instead.
          example: true
        securityDashboard:
          type: boolean
          description: Deprecated, use subscriptions.paywall.securityDashboard instead.
          example: true
      description: Deprecated, use ProductPaywall and OrganizationPaywall instead.
    OrganizationPaywall:
      required:
        - organizationDashboard
      type: object
      properties:
        organizationDashboard:
          type: boolean
          example: true
    CodacyProduct:
      type: string
      description: Codacy product
      example: coverage
      enum:
        - quality
        - coverage
    OrganizationBillingPlan:
      required:
        - code
        - isPremium
      type: object
      properties:
        isPremium:
          type: boolean
        code:
          type: string
    ProductPaywall:
      required:
        - securityDashboard
      type: object
      properties:
        securityDashboard:
          type: boolean
          example: true
    ProductSubscription:
      required:
        - product
      type: object
      properties:
        product:
          $ref: '#/components/schemas/CodacyProduct'
        plan:
          $ref: '#/components/schemas/OrganizationBillingPlan'
        paywall:
          $ref: '#/components/schemas/ProductPaywall'
    OrganizationWithMeta:
      required:
        - analysisConfigurationMinimumPermission
        - membership
        - organization
        - subscriptions
      type: object
      properties:
        organization:
          $ref: '#/components/schemas/Organization'
        membership:
          $ref: '#/components/schemas/Membership'
        billing:
          $ref: '#/components/schemas/Billing'
        paywall:
          $ref: '#/components/schemas/Paywall'
        organizationPayWall:
          $ref: '#/components/schemas/OrganizationPaywall'
        analysisConfigurationMinimumPermission:
          $ref: '#/components/schemas/Permission'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/ProductSubscription'
    OrganizationWithMetaResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/OrganizationWithMeta'
    Reason:
      required:
        - notes
        - title
      type: object
      properties:
        title:
          type: string
        notes:
          type: array
          items:
            type: string
    ChurnFeedback:
      required:
        - cancelReason
        - joinReason
      type: object
      properties:
        joinReason:
          $ref: '#/components/schemas/Reason'
        cancelReason:
          $ref: '#/components/schemas/Reason'
    PaymentPlan:
      required:
        - isPremium
        - model
        - code
        - monthly
        - price
        - pricedPerUser
      type: object
      properties:
        isPremium:
          type: boolean
          example: true
        model:
          type: string
          example: Auto
          enum:
            - Auto
            - Manual
        code:
          type: string
          example: trial
        monthly:
          type: boolean
          example: true
        price:
          type: integer
          format: int64
          example: 1000
        pricedPerUser:
          type: boolean
          example: true
        alternatePeriodCode:
          type: string
          description: |
            Plan code for the same tier with opposite billing period (monthly <-> yearly).
            When not available, fall back to default plan selection logic.
          example: team-yearly
    PaymentProvider:
      type: string
      enum:
        - stripe
        - chargebee
        - direct
        - github
    Tax:
      required:
        - name
        - rate
      type: object
      properties:
        name:
          type: string
          description: Name of the tax
        rate:
          type: number
          description: Rate of the tax
          format: double
    OrganizationProductBillingPlan:
      required:
        - product
      type: object
      properties:
        product:
          $ref: '#/components/schemas/CodacyProduct'
        plan:
          $ref: '#/components/schemas/Billing'
    OrganizationBillingInformation:
      required:
        - numberOfPurchasedSeats
        - numberOfSeats
        - paymentPlan
        - plan
        - priceInCents
        - subscriptions
        - taxes
      type: object
      properties:
        numberOfSeats:
          type: integer
          format: int32
          example: 42
        numberOfPurchasedSeats:
          type: integer
          format: int32
          example: 100
        paymentPlan:
          $ref: '#/components/schemas/Billing'
        plan:
          $ref: '#/components/schemas/PaymentPlan'
        paymentGateway:
          $ref: '#/components/schemas/PaymentProvider'
        priceInCents:
          type: integer
          description: Final price paid in cents, containing all taxes if applicable. For example, 12020 represents $120.20.
          format: int32
          example: 12020
        pricePerSeatInCents:
          type: integer
          description: Final price paid per seat in cents, containing all taxes if applicable. For example, 1405 represents $14.05.
          format: int32
          example: 1405
        nextPaymentDate:
          type: string
          description: Next payment date for the plan. This field is empty for plans that don't renew automatically.
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        invoiceDetails:
          required:
            - firstName
            - lastName
            - email
            - country
            - vat
            - address
            - zip
            - state
          type: object
          properties:
            firstName:
              type: string
            lastName:
              type: string
            email:
              type: string
              description: Invoice email address
              format: email
              example: codacy@codacy.com
            country:
              type: string
              description: Country code
              example: PT
            vat:
              type: string
              description: VAT or equivalent tax number depending on your location
              example: PT999999999
            address:
              type: string
              description: Invoice address
              example: Av. João Crisóstomo, nº31 - 6º, 1050-125 Lisboa
            zip:
              type: string
              description: Postal code or ZIP code
              example: 1050-125
            state:
              type: string
              description: State, province, or administrative region
              example: Lisbon
        taxes:
          type: array
          description: Taxes included in the final price priceInCents.
          items:
            $ref: '#/components/schemas/Tax'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationProductBillingPlan'
    OrganizationBillingInformationResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/OrganizationBillingInformation'
    BillingDetailsUpdate:
      type: object
      required:
        - firstName
        - lastName
        - billingEmail
        - country
        - vat
        - address
        - zip
        - state
      properties:
        firstName:
          type: string
        lastName:
          type: string
        billingEmail:
          type: string
        country:
          type: string
        vat:
          type: string
        address:
          type: string
        zip:
          type: string
        state:
          type: string
    Card:
      required:
        - maskedNumber
        - last4
        - expiryMonth
        - expiryYear
        - holderName
      type: object
      properties:
        maskedNumber:
          type: string
        last4:
          type: string
        expiryMonth:
          type: integer
          format: int32
        expiryYear:
          type: integer
          format: int32
        holderName:
          type: string
    CardResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Card'
    CardCreation:
      required:
        - cardToken
      type: object
      properties:
        cardToken:
          type: string
    TaxEstimation:
      type: object
      required:
        - name
        - rate
        - valueDollars
      properties:
        name:
          type: string
        rate:
          type: number
          format: double
        valueDollars:
          type: number
          format: double
    BillingEstimation:
      type: object
      required:
        - perSeatCents
        - seats
        - taxes
        - subTotalCents
        - totalCents
        - nextBilling
        - isMonthly
      properties:
        perSeatCents:
          type: integer
          format: int32
        seats:
          type: integer
          format: int32
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/TaxEstimation'
        discountCents:
          type: integer
          format: int32
        subTotalCents:
          type: integer
          format: int64
        totalCents:
          type: integer
          format: int64
        nextBilling:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        isMonthly:
          type: boolean
    BillingEstimationResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/BillingEstimation'
    ChangePlan:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          description: The code that uniquely identifies the payment plan
        promoCode:
          type: string
    ProviderIntegrationSettingsBody:
      required:
        - aiEnhancedComments
        - commitStatus
        - pullRequestComment
        - pullRequestSummary
        - availableSettings
      type: object
      properties:
        commitStatus:
          type: boolean
          description: Toggle the feature "Status checks"
        pullRequestComment:
          type: boolean
          description: Toggle the feature "Issue annotations"
        pullRequestSummary:
          type: boolean
          description: Toggle the feature "Issue summaries"
        coverageSummary:
          type: boolean
          description: Toggle the feature "Coverage summary" (GitHub only)
        suggestions:
          type: boolean
          description: Toggle the feature "Suggested fixes" (GitHub only)
        aiEnhancedComments:
          type: boolean
          description: |
            Toggle the feature "AI-enhanced comments". If "Suggested fixes" (GitHub only) is also enabled, then the AI-enhanced comments also provide suggested fixes. This is an experimental feature.
        aiPullRequestReviewer:
          type: boolean
          description: |
            Toggle the feature "AI Pull Request Reviewer" (GitHub only). When enabled, Codacy will use AI to review pull requests and provide comments on code quality and potential issues. This is an experimental feature.
        aiPullRequestReviewerAutomatic:
          type: boolean
          description: |
            Toggle the feature "AI Pull Request Reviewer Automatic" (GitHub only). When enabled, Codacy will use AI to review pull requests and provide comments on code quality and potential issues automatically once, subsequent reviews will have to be explicitly requested.
        pullRequestUnifiedSummary:
          type: boolean
          description: |
            Toggle the feature "Pull Request Unified Summary" (GitHub only). When enabled, Codacy provides a unified summary (coverage and analysis).
        availableSettings:
          type: array
          description: List of available settings for the Git provider integration
          items:
            type: string
            example: GitHubCoverageSummary
      description: Default settings for Git provider integrations with a list of available settings
    ProviderIntegrationSettingsPatchBody:
      type: object
      properties:
        commitStatus:
          type: boolean
          description: Toggle the feature "Status checks"
        pullRequestComment:
          type: boolean
          description: Toggle the feature "Issue annotations"
        pullRequestSummary:
          type: boolean
          description: Toggle the feature "Issue summaries"
        coverageSummary:
          type: boolean
          description: Toggle the feature "Coverage summary" (GitHub only)
        suggestions:
          type: boolean
          description: Toggle the feature "Suggested fixes" (GitHub only)
        aiEnhancedComments:
          type: boolean
          description: |
            Toggle the feature "AI-enhanced comments". If "Suggested fixes" (GitHub only) is also enabled, then the AI-enhanced comments also provide suggested fixes.
        aiPullRequestReviewer:
          type: boolean
          description: |
            Toggle the feature "AI Pull Request Reviewer" (GitHub only). When enabled, Codacy will use AI to review pull requests and provide comments on code quality and potential issues.
        aiPullRequestReviewerAutomatic:
          type: boolean
          description: |
            Toggle the feature "AI Pull Request Reviewer Automatic" (GitHub only). When enabled, Codacy will use AI to review pull requests and provide comments on code quality and potential issues automatically once, subsequent reviews will have to be explicitly requested.
        pullRequestUnifiedSummary:
          type: boolean
          description: |
            Toggle the feature "Pull Request Unified Summary" (GitHub only). When enabled, Codacy provides a unified summary (coverage and analysis).
      description: Default settings for Git provider integrations
    RepositoryIntegrationSettings:
      required:
        - settings
      type: object
      properties:
        settings:
          $ref: '#/components/schemas/ProviderIntegrationSettingsBody'
        integratedBy:
          type: string
          example: example@codacy.com
      description: Settings for Git provider integrations
    RepositoryFilter:
      type: string
      description: |
        Filters where to fetch the repositories from:
          * `AllSynced` - All organization's repositories in Codacy. Requires Admin access
          * `NotSynced` - All organization's repositories fetched from provider.
          * `Synced` - All organization's repositories that the user has access.
      enum:
        - Synced
        - NotSynced
        - AllSynced
      x-ms-enum:
        name: RepositoryFilter
    RepositoryListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Repository'
    OrganizationOnboardingStep:
      required:
        - isCompleted
        - step
      type: object
      properties:
        step:
          type: string
          description: Identifier of the onboarding step
          example: addRepositories | enableStatusChecks
        isCompleted:
          type: boolean
    OrganizationOnboardingProgressResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: Completeness status of each onboarding step
          items:
            $ref: '#/components/schemas/OrganizationOnboardingStep'
    Person:
      required:
        - canBeRemoved
        - email
        - emails
      type: object
      properties:
        name:
          type: string
          description: The name of the person
          example: John Smith
        email:
          type: string
          description: '[deprecated: use emails instead] The email of the person'
          example: johnsmith@emailprovider.com
        emails:
          type: array
          description: The emails of the person
          example:
            - johnsmith@emailprovider.com
          items:
            type: string
        userId:
          type: integer
          description: User ID internal to Codacy.
          format: int64
          example: 1234
        committerId:
          type: integer
          description: Commit author ID
          format: int64
          example: 1234
        lastLogin:
          type: string
          format: date-time
          example: '2020-11-05T15:39:13.43Z'
          x-scala-type: java.time.Instant
        lastAnalysis:
          type: string
          description: Date and time when Codacy last analyzed a commit from this person.
          format: date-time
          example: '2020-11-05T15:39:13.43Z'
          x-scala-type: java.time.Instant
        isActive:
          type: boolean
          description: |
            Whether the person is an active committer on Codacy or not. If null, the person is not a committer, thus they do not occupy a seat. Applies only to specific Enterprise plans.
        canBeRemoved:
          type: boolean
          description: Whether the person can be removed from the organization or not
        lastCommitId:
          type: integer
          format: int64
          example: 2335557754
        providerId:
          type: string
          description: ID of the person on the Git provider
        providerLogin:
          type: string
          description: Username of the person on the Git provider
        isProviderRegistered:
          type: boolean
          description: True if the person is registered on the Git provider
      description: Representation of a person that belongs to an organization
    ListPeopleResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Person'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    MembershipPrivileges:
      type: string
      enum:
        - RepoAdmin
        - RepoWrite
        - RepoRead
      x-ms-enum:
        name: MembershipPrivileges
    MembershipPrivilegesBody:
      type: object
      properties:
        permission:
          $ref: '#/components/schemas/MembershipPrivileges'
      description: |
        Minimum permission level regarding configuring patterns, configuring which file extensions and branches are analyzed, and ignoring issues and files
    RemovePeopleBody:
      required:
        - emails
      type: object
      properties:
        emails:
          type: array
          description: List of emails to add
          items:
            type: string
    RemovePeopleEmailStatus:
      required:
        - email
      type: object
      properties:
        email:
          type: string
        error:
          type: string
    RemovePeopleResponse:
      type: object
      properties:
        success:
          type: array
          items:
            $ref: '#/components/schemas/RemovePeopleEmailStatus'
        failed:
          type: array
          items:
            $ref: '#/components/schemas/RemovePeopleEmailStatus'
    GitProviderAppPermissions:
      required:
        - contentPermission
        - customPropertiesPermission
      type: object
      properties:
        contentPermission:
          type: boolean
          description: True if Codacy GitHub App has repository permissions for Contents, false otherwise
          example: true
        customPropertiesPermission:
          type: boolean
          description: True if Codacy GitHub App has permissions for custom properties, false otherwise
          example: true
      description: Information about Codacy GitHub App repository permissions
    ProjectCommitStat:
      required:
        - numberOfCommits
        - projectId
      type: object
      properties:
        projectId:
          type: integer
          format: int64
        firstCommit:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        lastCommit:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        numberOfCommits:
          type: integer
          format: int64
    SuggestedAuthor:
      required:
        - commitEmail
        - projectCommitStats
        - totalCommits
        - totalProjects
      type: object
      properties:
        commitEmail:
          type: string
        totalProjects:
          type: integer
          format: int64
        totalCommits:
          type: integer
          format: int64
        lastCommit:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        projectCommitStats:
          type: array
          items:
            $ref: '#/components/schemas/ProjectCommitStat'
    SuggestedAuthorsResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SuggestedAuthor'
    commitUuidSchema:
      type: string
      description: UUID or SHA string that identifies the commit
      x-example: 2957025d42e8daadf937d4044516f991d21deea4
    CommitUuidRequest:
      required:
        - commitUuid
      type: object
      properties:
        commitUuid:
          $ref: '#/components/schemas/commitUuidSchema'
        cleanCache:
          type: boolean
          description: If true, the cache will be cleaned before the analysis
          example: false
    RepositoryResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Repository'
    RepositorySuggestedAuthor:
      required:
        - commitEmail
        - projectCommitStat
      type: object
      properties:
        commitEmail:
          type: string
        projectCommitStat:
          $ref: '#/components/schemas/ProjectCommitStat'
    RepositorySuggestedAuthorsResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/RepositorySuggestedAuthor'
    BranchListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Branch'
    UpdateRepositoryBranchConfigurationBody:
      type: object
      properties:
        isEnabled:
          type: boolean
          description: True if Codacy should analyze the branch
          example: true
      description: Configuration of a repository branch
    JoinModeRequest:
      required:
        - joinMode
      type: object
      properties:
        joinMode:
          $ref: '#/components/schemas/JoinMode'
    BranchRequiredChecks:
      required:
        - coverageVariation
        - diffCoverage
        - quality
      type: object
      properties:
        quality:
          type: boolean
          description: True if Branch has Codacy Static Code Analysis step as required before merge
          example: true
        diffCoverage:
          type: boolean
          description: True if Branch has Codacy Diff Coverage step as required before merge
          example: true
        coverageVariation:
          type: boolean
          description: True if Branch has Codacy Coverage Variation step as required before merge
          example: true
    BranchRequiredChecksResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/BranchRequiredChecks'
    LeaveOrgProblem:
      required:
        - actions
        - code
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ProblemLink'
        code:
          type: string
          description: A stable identifier for a problem.
          example: last_admin_credit
    LeaveOrgCheckResult:
      required:
        - canLeave
        - message
      type: object
      properties:
        canLeave:
          type: boolean
          description: True if user can leave the organization
          example: true
        message:
          type: string
          example: Since you are the last organization admin of $orgName, to leave this organization you need to delete it. Please contact us through support.
        reason:
          $ref: '#/components/schemas/LeaveOrgProblem'
      description: Informs if the user can leave the organization and if not, why.
    RequestToJoin:
      required:
        - creationDate
        - email
        - name
      type: object
      properties:
        email:
          type: string
          example: mail@mail.com
        name:
          type: string
          example: a display name
        numberOfCommits:
          type: integer
          format: int32
        numberOfRepositories:
          type: integer
          format: int32
        lastActivity:
          type: string
          format: date-time
          example: '2020-01-06T14:29:13.43Z'
          x-scala-type: java.time.Instant
        creationDate:
          type: string
          format: date-time
          example: '2020-01-06T14:29:13.43Z'
          x-scala-type: java.time.Instant
    ListRequestsToJoinResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/RequestToJoin'
    JoinResponse:
      required:
        - joinStatus
        - organizationIdentifier
      type: object
      properties:
        organizationIdentifier:
          type: integer
          format: int64
        joinStatus:
          $ref: '#/components/schemas/JoinStatus'
    PaymentRequired:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: PaymentRequired
    AddRepositoryBody:
      required:
        - provider
        - repositoryFullPath
      type: object
      properties:
        repositoryFullPath:
          type: string
          description: Full path of the repository on the Git provider, starting at the organization. Separate each segment of the path with a slash (/).
          example: codacy/codacy-analysis-cli
        provider:
          $ref: '#/components/schemas/Provider'
    AddOrganizationBody:
      required:
        - name
        - provider
        - remoteIdentifier
        - type
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/Provider'
        remoteIdentifier:
          type: string
        name:
          type: string
          example: FooOrganization
        type:
          $ref: '#/components/schemas/OrganizationType'
        products:
          type: array
          items:
            $ref: '#/components/schemas/CodacyProduct'
    AddOrganizationResponse:
      required:
        - organization
      type: object
      properties:
        organization:
          $ref: '#/components/schemas/Organization'
        warnings:
          type: array
          items:
            type: string
    EnterpriseAccountToken:
      required:
        - provider
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/Provider'
      description: Enterprise account token
    EnterpriseAccountTokenListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EnterpriseAccountToken'
      description: List of enterprise account tokens
    AddEnterpriseAccountTokenBody:
      required:
        - provider
        - token
      type: object
      properties:
        token:
          type: string
        provider:
          $ref: '#/components/schemas/Provider'
      description: Details of a new enterprise account token
    ApiToken:
      required:
        - id
        - token
      type: object
      properties:
        id:
          type: integer
          format: int64
        token:
          type: string
        expiresAt:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
      description: API token string value and ID
    ApiTokenListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ApiToken'
      description: List of API tokens
    ApiTokenCreateRequest:
      type: object
      properties:
        expiresAt:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
      description: Request body for creating an API token containing optional expiration timestamp
    ConfiguredLoginIntegration:
      required:
        - loginUrl
        - provider
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/Provider'
        loginUrl:
          type: string
    ConfiguredLoginIntegrationListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ConfiguredLoginIntegration'
    ProviderIntegration:
      required:
        - provider
        - redirectUrl
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/Provider'
        redirectUrl:
          type: string
    ProviderIntegrationListResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ProviderIntegration'
    ConfigurationStatusResponse:
      type: object
      properties:
        statuses:
          type: array
          items:
            type: string
        metadata:
          required:
            - firstSignupDone
          type: object
          properties:
            firstSignupDone:
              type: boolean
    HealthCheck:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          example: Hello, it's me
    HealthCheckResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/HealthCheck'
    AdminEntityIdentification:
      type: object
      required:
        - id
        - groupSlug
      properties:
        id:
          type: integer
          description: Internal Codacy identifier for this entity
          format: int64
          example: 42
        groupSlug:
          type: string
          description: Name to be used on URLs that identify the group for this type of entity
    AdminEntity:
      type: object
      required:
        - id
        - groupSlug
        - displayName
        - details
        - relatedEntities
        - availableResources
      properties:
        id:
          type: integer
          description: Internal Codacy identifier for this entity
          format: int64
          example: 42
        groupSlug:
          type: string
          description: Name to be used on URLs that identify the group for this type of entity
        displayName:
          type: string
          description: Human friendly name
        details:
          type: object
          additionalProperties:
            type: string
          example:
            provider: GitHub
            visibility: private
        relatedEntities:
          type: array
          items:
            $ref: '#/components/schemas/AdminEntityIdentification'
        availableResources:
          type: array
          items:
            type: string
    AdminEntityGroup:
      type: object
      required:
        - slug
        - items
      properties:
        slug:
          type: string
          description: Name to be used on URLs that identify the group for this type of entity
        items:
          type: array
          items:
            $ref: '#/components/schemas/AdminEntity'
    AdminEntityGroupResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AdminEntityGroup'
    AdminEntityResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/AdminEntity'
    NotImplemented:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: NotImplemented
    AdminEntityResource:
      type: object
      required:
        - details
      properties:
        details:
          type: object
          additionalProperties:
            type: string
        entityIdentification:
          $ref: '#/components/schemas/AdminEntityIdentification'
    AdminEntityResourcesResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AdminEntityResource'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    License:
      required:
        - email
        - expirationDate
        - numberOfSeats
      type: object
      properties:
        numberOfSeats:
          type: integer
          format: int32
          example: 100
        email:
          type: string
          example: name@domain.com
        expirationDate:
          type: string
          format: date-time
          example: '2019-05-07T14:29:13.43Z'
          x-scala-type: java.time.Instant
        inactivityThreshold:
          type: integer
          format: int32
          example: 4
        autoAddAuthors:
          type: boolean
        allowSeatsOverflow:
          type: boolean
    LicenseResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: string
    DormantAccountInfo:
      required:
        - email
      type: object
      properties:
        email:
          type: string
          description: Email address of the deleted account
    DeleteDormantAccountsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/DormantAccountInfo'
    LanguageFileExtension:
      required:
        - name
        - fileExtensions
        - files
      type: object
      properties:
        name:
          type: string
          description: The language name
          example: Java
        fileExtensions:
          type: array
          description: The default file extensions for this language
          items:
            type: string
          example:
            - .java
        files:
          type: array
          description: Specific files that should be considered for this language
          items:
            type: string
          example:
            - requirements.txt
    LanguageListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/LanguageFileExtension'
    Tool:
      description: Codacy tool that can flag patterns/issues on projects
      allOf:
        - $ref: '#/components/schemas/ToolReference'
        - required:
            - clientSide
            - configurable
            - configurationFilenames
            - dockerImage
            - enabledByDefault
            - languages
            - needsCompilation
            - shortName
            - standalone
            - version
          type: object
          properties:
            version:
              type: string
              description: Original tool version used by the Codacy tool wrapper
              example: 6.8.0
            shortName:
              type: string
              description: Tool unique short name, must contain alphanumeric characters only and no spaces
              example: eslint
            documentationUrl:
              type: string
              description: Original tool documentation URL
              example: http://eslint.org/docs/rules/
            sourceCodeUrl:
              type: string
              description: Codacy tool wrapper source code URL
              example: https://github.com/codacy/codacy-eslint
            prefix:
              type: string
              description: Tool prefix used to ensure pattern names are unique
              example: ESLint_
            needsCompilation:
              type: boolean
              description: Tool requires compilation to run
              example: false
            configurationFilenames:
              type: array
              description: Tool configuration filename
              example:
                - .eslintrc.js
                - .eslintrc.yaml
              items:
                type: string
            description:
              type: string
              description: Tool description
              example: ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few exceptions
            dockerImage:
              type: string
              description: Docker image used to launch tool
              example: codacy/codacy-eslint:2.20.19
            languages:
              type: array
              description: List of languages that the tool supports
              example:
                - JavaScript
              items:
                type: string
            clientSide:
              type: boolean
              description: True if the tool is supposed to run on the client's machine and the results sent to Codacy
              example: true
            standalone:
              type: boolean
              description: True if the client-side tool runs stand-alone outside of the CLI
              example: true
            enabledByDefault:
              type: boolean
              description: True if the tool is enabled by default for new projects (not required)
              example: true
            configurable:
              type: boolean
              description: True if the tool is configurable on Codacy's UI
              example: true
    ToolListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    PatternListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Pattern'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    AddEnrichedPatternFeedbackBody:
      type: object
      required:
        - reactionFeedback
      properties:
        reactionFeedback:
          type: boolean
          description: |
            True if the enriched pattern in
            mention is considered good/relevant by the user
        feedback:
          type: string
          description: |
            Feedback from the user to describe why enriched pattern
            is not considered good/relevant
    PatternResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Pattern'
    DuplicationTool:
      required:
        - dockerImage
        - languages
      type: object
      properties:
        dockerImage:
          type: string
          description: Docker image used to launch tool
          example: codacy/codacy-duplication-pmdcpd:1.0.0
        languages:
          type: array
          description: List of languages that the tool supports
          items:
            type: string
      description: Codacy tool that can detect duplication on projects
    DuplicationToolListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/DuplicationTool'
    MetricsTool:
      required:
        - dockerImage
        - languages
      type: object
      properties:
        dockerImage:
          type: string
          description: Docker image used to launch tool
          example: codacy/codacy-metrics-cloc:1.0.0
        languages:
          type: array
          description: List of languages that the tool supports
          items:
            type: string
      description: Codacy tool that calculates metrics on projects
    MetricsToolListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/MetricsTool'
    MetricsFilter:
      type: object
      required:
        - metrics
      properties:
        metrics:
          type: array
          items:
            type: string
    OrganizationReadyMetrics:
      required:
        - organizationId
        - provider
        - organizationName
        - readyMetrics
      type: object
      properties:
        organizationId:
          type: integer
          format: int64
        provider:
          $ref: '#/components/schemas/Provider'
        organizationName:
          type: string
          description: The name of the organization to which the results belong.
        readyMetrics:
          type: array
          items:
            type: string
        startedAt:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
    OrganizationReadyMetricsResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/OrganizationReadyMetrics'
    EntityFilter:
      type: object
      properties:
        repositories:
          type: array
          items:
            type: string
        segmentIds:
          type: array
          items:
            type: integer
            format: int64
    DimensionsFilter:
      required:
        - dimension
        - value
      type: object
      properties:
        dimension:
          type: string
        value:
          type: string
    MetricFilter:
      required:
        - entityFilter
      type: object
      properties:
        entityFilter:
          $ref: '#/components/schemas/EntityFilter'
        dimensionsFilter:
          type: array
          items:
            $ref: '#/components/schemas/DimensionsFilter'
    MetricValue:
      required:
        - value
      type: object
      properties:
        value:
          type: number
          format: double
        latestValue:
          type: number
          format: double
    MetricValueResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MetricValue'
    MetricGroupBy:
      required:
        - groupBy
      type: object
      properties:
        groupBy:
          type: array
          description: |
            Values can be `organization`, `repository`, or a dimension type. Supported dimension values will depend
            on the metric.

            Dimension allocation:
            - For `OpenIssues`, `NewIssues` & `FixedIssues`, the dimensions are `category` and `severity`
          items:
            type: string
        sortDirection:
          type: string
        limit:
          type: integer
    GroupMetricFilter:
      required:
        - filter
        - groupBy
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/MetricFilter'
        groupBy:
          $ref: '#/components/schemas/MetricGroupBy'
    MetricGroup:
      type: object
      properties:
        organization:
          type: string
        repository:
          type: string
        dimensions:
          type: array
          items:
            type: string
    GroupedMetricValue:
      required:
        - group
        - value
      type: object
      properties:
        group:
          $ref: '#/components/schemas/MetricGroup'
        value:
          type: number
          format: double
        latestValue:
          type: number
    PeriodGroupedMetricValuesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GroupedMetricValue'
    PeriodEnum:
      type: string
      example: week
      enum:
        - day
        - week
        - month
    PeriodMetricFilterBody:
      required:
        - date
        - filter
        - period
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/MetricFilter'
        date:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        period:
          $ref: '#/components/schemas/PeriodEnum'
    PeriodGroupMetricFilterBody:
      required:
        - date
        - filter
        - groupBy
        - period
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/MetricFilter'
        groupBy:
          $ref: '#/components/schemas/MetricGroupBy'
        date:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        period:
          $ref: '#/components/schemas/PeriodEnum'
    TimerangeMetricFilterBody:
      required:
        - filter
        - from
        - groupBy
        - to
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/MetricFilter'
        groupBy:
          $ref: '#/components/schemas/MetricGroupBy'
        from:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        to:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        period:
          $ref: '#/components/schemas/PeriodEnum'
    TimerangeMetricValue:
      required:
        - date
        - value
      type: object
      properties:
        date:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        group:
          $ref: '#/components/schemas/MetricGroup'
        value:
          type: number
          format: double
        latestValue:
          type: number
          format: double
    TimerangeMetricValuesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/TimerangeMetricValue'
    EnterpriseReadyMetrics:
      required:
        - organizationId
        - organizationName
        - readyMetrics
      type: object
      properties:
        organizationId:
          type: integer
          format: int64
        organizationName:
          type: string
        readyMetrics:
          type: array
          items:
            type: string
        startedAt:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
    ReadyMetricsForEnterpriseResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EnterpriseReadyMetrics'
    EnterpriseMetricFilter:
      required:
        - enterpriseEntityFilter
      type: object
      properties:
        dimensionsFilter:
          type: array
          items:
            $ref: '#/components/schemas/DimensionsFilter'
    EnterpriseGroupMetricFilter:
      required:
        - groupBy
        - filter
      type: object
      properties:
        groupBy:
          $ref: '#/components/schemas/MetricGroupBy'
        filter:
          $ref: '#/components/schemas/EnterpriseMetricFilter'
    EnterprisePeriodMetricFilterBody:
      required:
        - filter
        - date
        - period
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/EnterpriseMetricFilter'
        date:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        period:
          $ref: '#/components/schemas/PeriodEnum'
    EnterprisePeriodGroupMetricFilterBody:
      required:
        - date
        - groupBy
        - period
        - filter
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/EnterpriseMetricFilter'
        groupBy:
          $ref: '#/components/schemas/MetricGroupBy'
        date:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        period:
          $ref: '#/components/schemas/PeriodEnum'
    EnterpriseTimerangeMetricFilterBody:
      required:
        - from
        - groupBy
        - to
        - filter
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/EnterpriseMetricFilter'
        groupBy:
          $ref: '#/components/schemas/MetricGroupBy'
        from:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        to:
          type: string
          format: date-time
          x-scala-type: java.time.LocalDate
        period:
          $ref: '#/components/schemas/PeriodEnum'
    FileWithAnalysisInfo:
      required:
        - branchId
        - fileId
        - grade
        - gradeLetter
        - numberOfMethods
        - path
        - totalIssues
      type: object
      properties:
        fileId:
          type: integer
          description: Identifier of the file in a specific branch and commit
          format: int64
          example: 2
        branchId:
          type: integer
          description: Identifier for the branch the file belongs to
          format: int64
          example: 3
        path:
          type: string
          description: Relative path of the file in the repository
          example: /src/test.go
        totalIssues:
          type: integer
          description: Number of issues in the file
          format: int32
          example: 42
        complexity:
          type: integer
          description: Complexity level of the file
          format: int32
          example: 3
        grade:
          type: integer
          description: Quality grade of the file as a number between 100 (highest grade) and 0 (lowest grade)
          format: int32
          example: 74
        gradeLetter:
          type: string
          description: Quality grade of the file as a letter between A (highest grade) and F (lowest grade)
          example: A
        coverage:
          type: integer
          description: Deprecated, use `coverageWithDecimals` instead
          format: int32
          example: 71
        coverageWithDecimals:
          multipleOf: 0.01
          type: number
          description: Test coverage percentage of the file with decimals
          format: double
          example: 71
        duplication:
          type: integer
          description: Number of duplicated lines in the file
          format: int32
          example: 7
        linesOfCode:
          type: integer
          description: Lines of code in the file
          format: int32
          example: 123
        sourceLinesOfCode:
          type: integer
          description: Coverable lines of code in the file
          format: int32
          example: 90
        numberOfMethods:
          type: integer
          description: Number of methods in the file
          format: int32
          example: 12
        numberOfClones:
          type: integer
          description: Number of cloned blocks of code in the file
          format: int32
          example: 5
      description: File with analysis information
    FileListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileWithAnalysisInfo'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    IgnoredFile:
      type: object
      required:
        - filepath
      properties:
        filepath:
          type: string
    IgnoredFileListResponse:
      required:
        - hasCodacyConfigurationFile
        - data
      type: object
      properties:
        hasCodacyConfigurationFile:
          type: boolean
          description: If the repository has a configuration file that controls what repository files are ignored
        data:
          type: array
          items:
            $ref: '#/components/schemas/IgnoredFile'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    FileCoverageAnalysis:
      required:
        - coverableLines
        - coverage
        - coveredLines
      type: object
      properties:
        coverage:
          multipleOf: 0.01
          type: number
          description: Coverage percentage of the file with decimals
          format: double
          example: 71
        coverableLines:
          type: integer
          description: Coverable lines of the file (lines that can be covered by tests)
          format: int64
          example: 2
        coveredLines:
          type: integer
          description: Covered lines of the file (lines that are covered by tests)
          format: int64
          example: 1
      description: Coverage analysis metrics for a file
    FileQualityInfo:
      required:
        - grade
        - gradeLetter
        - totalIssues
      type: object
      properties:
        totalIssues:
          type: integer
          description: Number of issues in the file
          format: int32
          example: 42
        complexity:
          type: integer
          description: Complexity level of the file
          format: int32
          example: 3
        grade:
          type: integer
          description: Quality grade of the file as a number between 100 (highest grade) and 0 (lowest grade)
          format: int32
          example: 74
        gradeLetter:
          type: string
          description: Quality grade of the file as a letter between A (highest grade) and F (lowest grade)
          example: A
        duplication:
          type: integer
          description: Number of cloned blocks of code in the file
          format: int32
          example: 7
        duplicatedLinesOfCode:
          type: integer
          description: Number of duplicated lines in the file
          format: int32
          example: 45
      description: Analysis result information for a file
    FileInformationWithAnalysis:
      required:
        - file
      type: object
      properties:
        file:
          $ref: '#/components/schemas/FileMetadata'
        coverage:
          $ref: '#/components/schemas/FileCoverageAnalysis'
        quality:
          $ref: '#/components/schemas/FileQualityInfo'
    FileClone:
      required:
        - id
        - occurrences
      type: object
      properties:
        id:
          type: integer
          format: int64
        occurrences:
          type: array
          items:
            $ref: '#/components/schemas/CloneDuplicationBlock'
      description: A duplicated code block within a file, including its occurrences
    FileClonesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: Array of duplicated code blocks
          items:
            $ref: '#/components/schemas/FileClone'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
      description: Paginated list of duplicate code blocks within a file
    AiRiskCheckListItem:
      description: An item in the AI Risk Checklist
      type: object
      properties:
        key:
          type: string
          description: The key identifier for the checklist item
        check:
          type: boolean
          description: Checks if the checklist item passes
        number:
          type: integer
          format: int32
          description: The number of repositories that have the AI policy applied
        threshold:
          type: integer
          format: int32
          description: The minimum percentage of repositories required to meet the AI policy compliance target
        total:
          type: integer
          format: int32
          description: The total number of repositories (all repositories in the organization)
      required:
        - key
        - check
    AiRiskChecklistResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AiRiskCheckListItem'
      description: List AI Risk Checklist for an organization
    CodingStandardMeta:
      required:
        - enabledPatternsCount
        - enabledToolsCount
        - linkedRepositoriesCount
      type: object
      properties:
        enabledToolsCount:
          type: integer
          description: Number of tools that are enabled in the coding standard
          format: int32
        enabledPatternsCount:
          type: integer
          description: Number of code patterns that are enabled in the coding standard
          format: int32
        linkedRepositoriesCount:
          type: integer
          description: Number of repositories using the coding standard
          format: int32
      description: Meta information about a coding standard
    ComplianceType:
      type: string
      description: The type of compliance standard
      example: ai-risk
      enum:
        - ai-risk
    CodingStandard:
      required:
        - id
        - isDefault
        - isDraft
        - languages
        - meta
        - name
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the coding standard
          format: int64
        name:
          type: string
          description: Name of the coding standard
        isDraft:
          type: boolean
          description: True if the coding standard is a draft
        isDefault:
          type: boolean
          description: True if the coding standard is the default for the organization
        languages:
          type: array
          description: List of programming languages supported by the coding standard
          items:
            type: string
        meta:
          $ref: '#/components/schemas/CodingStandardMeta'
        complianceType:
          $ref: '#/components/schemas/ComplianceType'
      description: Coding standard for an organization
    CodingStandardsListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CodingStandard'
      description: List of coding standards for an organization
    CreateCodingStandardBody:
      required:
        - languages
        - name
      type: object
      properties:
        name:
          type: string
          description: Name of the new coding standard
          example: Security best practices
        languages:
          type: array
          description: List of programming languages supported by the new coding standard
          example:
            - Java
            - Go
          items:
            type: string
      description: Details of a new coding standard
    CodingStandardResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CodingStandard'
    CreateComplianceStandardBody:
      required:
        - name
        - complianceType
      type: object
      properties:
        name:
          type: string
          description: Name of the compliance standard
          example: AI Usage Compliance
        complianceType:
          $ref: '#/components/schemas/ComplianceType'
      description: Details required to create a compliance standard
    CodingStandardCategoriesPresets:
      required:
        - bestPractices
        - bugRisk
        - codeStyle
        - documentation
        - security
      type: object
      properties:
        bugRisk:
          maximum: 4
          minimum: 1
          type: integer
          format: int32
        security:
          maximum: 4
          minimum: 1
          type: integer
          format: int32
        bestPractices:
          maximum: 4
          minimum: 1
          type: integer
          format: int32
        codeStyle:
          maximum: 4
          minimum: 1
          type: integer
          format: int32
        documentation:
          maximum: 4
          minimum: 1
          type: integer
          format: int32
      description: Settings to create a new coding standard from a series of presets
    CreateCodingStandardPresetBody:
      required:
        - isDefault
        - presets
      type: object
      properties:
        name:
          type: string
          description: Name of the new coding standard
          example: Security best practices
        isDefault:
          type: boolean
          description: If true, the new coding standard becomes the default coding standard for the organization
        presets:
          $ref: '#/components/schemas/CodingStandardCategoriesPresets'
      description: Details of a new coding standard. Uses presets to streamline the creation of the new coding standard
    CodingStandardTool:
      required:
        - codingStandardId
        - isEnabled
        - uuid
      type: object
      properties:
        codingStandardId:
          type: integer
          description: Coding standard identifier
          format: int64
        uuid:
          type: string
          description: Unique identifier of the tool
          example: 847feb32-9ff2-11ea-bb37-0242ac130002
        isEnabled:
          type: boolean
          description: True if the tool is enabled in the coding standard
          example: true
      description: Information about a tool in a coding standard
    CodingStandardToolsListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CodingStandardTool'
    SetDefaultCodingStandardBody:
      required:
        - isDefault
      type: object
      properties:
        isDefault:
          type: boolean
          description: If true, sets the coding standard as the default coding standard for the organization
      description: Toggle the default coding standard for an organization
    PatternConfiguration:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Code pattern unique identifier
          example: ESLint_@typescript-eslint_no-shadow
        enabled:
          type: boolean
          description: True if the code pattern is enabled in the repository or coding standard
          example: true
        parameters:
          type: array
          description: List of code pattern parameter configurations
          items:
            $ref: '#/components/schemas/ConfiguredParameter'
      description: Code pattern configuration
    ToolConfiguration:
      required:
        - patterns
      type: object
      properties:
        enabled:
          type: boolean
          description: True if the tool is enabled in the repository or coding standard
          example: true
        patterns:
          type: array
          description: List of code pattern configurations
          items:
            $ref: '#/components/schemas/PatternConfiguration'
      description: Configuration of a tool and its code patterns
    RepositoryIdentification:
      required:
        - name
        - repositoryId
      type: object
      properties:
        repositoryId:
          type: integer
          description: Identifier of the repository
          format: int64
        name:
          type: string
          description: Name of the repository
          example: codacy-eslint
      description: Identifier and name of a repository using a coding standard
    CodingStandardRepositoriesListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of repositories using a coding standard
          items:
            $ref: '#/components/schemas/RepositoryIdentification'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    ApplyCodingStandardToRepositoriesBody:
      required:
        - link
        - unlink
      type: object
      properties:
        link:
          type: array
          description: Names of the repositories to link to a coding standard
          items:
            type: string
        unlink:
          type: array
          description: Names of the repositories to unlink from a coding standard
          items:
            type: string
      description: Names of the repositories to link or unlink from a coding standard
    ApplyCodingStandardToRepositoriesResult:
      required:
        - failed
        - successful
      type: object
      properties:
        successful:
          type: array
          description: Names of the repositories that were successfully linked or unlinked from a coding standard
          items:
            type: string
        failed:
          type: array
          description: Names of the repositories that failed to be linked or unlinked from a coding standard
          items:
            type: string
      description: Result of applying a coding standard to a list of repositories
    ApplyCodingStandardToRepositoriesResultResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ApplyCodingStandardToRepositoriesResult'
    GatePolicyMeta:
      required:
        - linkedRepositoriesCount
        - nrOfQualityGates
      type: object
      properties:
        nrOfQualityGates:
          type: integer
          description: Number of quality gates that are configured in the gate policy
          format: int32
          example: 10
        linkedRepositoriesCount:
          type: integer
          description: Number of repositories following the gate policy
          format: int32
          example: 10
      description: Meta information about a gate policy
    GatePolicy:
      required:
        - id
        - isDefault
        - meta
        - name
        - readOnly
        - settings
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the gate policy
          format: int64
          example: 1
        name:
          type: string
          description: Name of the gate policy
          example: policy-name
        isDefault:
          type: boolean
          description: True if the gate policy is the default for the organization
          example: true
        readOnly:
          type: boolean
          description: True if the quality gates of the gate policy cannot be changed
          example: true
        settings:
          $ref: '#/components/schemas/QualityGate'
        meta:
          $ref: '#/components/schemas/GatePolicyMeta'
      description: Details of the gate policy
    GetGatePolicyResultResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/GatePolicy'
    UpdateGatePolicyBody:
      type: object
      properties:
        gatePolicyName:
          type: string
          description: Name of the gate policy
        isDefault:
          type: boolean
          description: True if the gate policy is the default for the organization
        settings:
          $ref: '#/components/schemas/QualityGate'
    GatePolicySummarized:
      required:
        - id
        - isDefault
        - meta
        - name
        - readOnly
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the gate policy
          format: int64
          example: 1
        name:
          type: string
          description: Name of the gate policy
          example: policy-name
        isDefault:
          type: boolean
          description: True if the gate policy is the default for the organization
          example: true
        readOnly:
          type: boolean
          description: True if the quality gates of the gate policy cannot be changed
          example: true
        meta:
          $ref: '#/components/schemas/GatePolicyMeta'
      description: Gate policy summary information, without the quality gate settings
    GatePoliciesListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GatePolicySummarized'
      description: List of gate policies for an organization
    CreateGatePolicyBody:
      required:
        - gatePolicyName
      type: object
      properties:
        gatePolicyName:
          type: string
          description: Name of the gate policy
          example: gate-policy-name
        isDefault:
          type: boolean
          example: true
        settings:
          $ref: '#/components/schemas/QualityGate'
      description: Details of a new gate policy
    SyncProviderSettingOrganizationResponse:
      required:
        - name
      type: object
      properties:
        name:
          type: string
          description: Synced name of the organization
          example: troubleshoot-codacy
    CheckSubmodulesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: boolean
          description: True if the submodules option is enabled for the organization, false otherwise
    ListRepositoriesFollowingGatePolicyResultResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of repositories following a gate policy
          items:
            $ref: '#/components/schemas/RepositoryIdentification'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    ApplyGatePolicyToRepositoriesBody:
      required:
        - link
        - unlink
      type: object
      properties:
        link:
          type: array
          description: Names of the repositories to link to a gate policy
          items:
            type: string
        unlink:
          type: array
          description: Names of the repositories to unlink from a gate policy
          items:
            type: string
      description: Names of the repositories to link or unlink from a gate policy
    ApiTokenResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ApiToken'
    CoverageReport:
      required:
        - createdAt
        - status
        - targetCommitSha
      type: object
      properties:
        targetCommitSha:
          type: string
          description: Commit SHA that was referenced as the target for this report
        commit:
          $ref: '#/components/schemas/CommitWithBranches'
        language:
          type: string
          description: Programming language associated with the coverage report
        createdAt:
          type: string
          description: Report creation date
          format: date-time
          x-scala-type: java.time.Instant
        status:
          type: string
          description: Coverage status
          enum:
            - Pending
            - Processed
            - CommitNotAnalysed
            - CommitNotFound
            - BranchNotEnabled
            - MissingFinal
      description: Status and details of a coverage report
    CoverageReportResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: object
          properties:
            hasCoverageOverview:
              type: boolean
              description: True if the Quality evolution chart of the repository includes coverage information
            lastReports:
              type: array
              items:
                $ref: '#/components/schemas/CoverageReport'
    CoverageReportEntry:
      required:
        - repositoryId
        - commitSha
        - reportId
        - isFinal
        - processed
        - createdAt
      type: object
      properties:
        repositoryId:
          type: integer
          format: int64
        commitSha:
          type: string
        reportId:
          type: string
        language:
          type: string
        isFinal:
          type: boolean
        processed:
          type: boolean
        createdAt:
          type: string
          format: date-time
    CoverageReportEntryResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CoverageReportEntry'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    CoverageReportFile:
      type: object
      description: Coverage report for the file
      required:
        - fileName
        - coverage
      properties:
        fileName:
          type: string
          description: Name of the file
        coverage:
          type: object
          description: Coverage map
          additionalProperties:
            type: integer
            format: int32
          example:
            '1': 2
            '12': 1
            '23': 0
    CoverageReportContent:
      required:
        - repositoryId
        - commitSha
        - reportId
        - isFinal
        - processed
        - createdAt
        - content
      type: object
      properties:
        repositoryId:
          type: integer
          format: int64
        commitSha:
          type: string
        reportId:
          type: string
        language:
          type: string
        isFinal:
          type: boolean
        processed:
          type: boolean
        createdAt:
          type: string
          format: date-time
        content:
          type: array
          items:
            $ref: '#/components/schemas/CoverageReportFile'
    CoverageReportContentResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CoverageReportContent'
    CodeBlockLine:
      required:
        - content
        - number
      type: object
      properties:
        number:
          type: integer
          description: Line number
        content:
          type: string
          description: Line content
    CodeBlockLineListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CodeBlockLine'
    PayloadTooLarge:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: PayloadTooLarge
    FileCoverage:
      required:
        - hits
        - line
      type: object
      properties:
        line:
          type: integer
          description: Line number
          format: int32
          example: 2
        hits:
          type: integer
          description: Number of test hits for the line
          format: int32
          example: 3
      description: Coverage information for a file
    GetFileCoverageResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileCoverage'
    FileStateBody:
      required:
        - filepath
        - ignored
      type: object
      properties:
        ignored:
          type: boolean
          description: True if the file is ignored
          example: true
        filepath:
          type: string
          description: Relative path of the file in the repository
          example: src/main/scala/main/Main.scala
      description: Ignored status of a file
    SrmSource:
      type: string
      example: Codacy
      enum:
        - Codacy
        - Jira
        - PenTest
        - ZAP
        - Trivy
    SrmIgnoredBody:
      required:
        - at
        - authorId
        - authorName
        - reason
      type: object
      properties:
        at:
          type: string
          format: date-time
          example: '2017-08-21T17:32:28Z'
          x-scala-type: java.time.Instant
        authorId:
          type: integer
          description: Id of user who ignored issue
          format: int64
          example: 42
        authorName:
          type: string
          description: Name of the user who ignored the item
          example: John Doe
        reason:
          type: string
          description: Reason for ignoring the item
          example: False positive
      description: Contains information about who ignored an SRM item
    SrmItem:
      required:
        - dueAt
        - id
        - itemSource
        - itemSourceId
        - openedAt
        - priority
        - status
        - title
      type: object
      properties:
        id:
          type: string
          description: Item ID internal to Codacy.
          format: uuid
          example: ba7c836d-85f8-4617-9a95-ac6f00af1d30
        itemSource:
          $ref: '#/components/schemas/SrmSource'
        itemSourceId:
          type: string
          description: Original source item ID.
          example: '764334'
        title:
          type: string
          description: Human-readable title of the item.
          example: Codacy quality - critical security issue 764334
        repository:
          type: string
          example: codacy-docs
        openedAt:
          type: string
          format: date-time
          example: '2017-07-21T17:32:28Z'
          x-scala-type: java.time.Instant
        closedAt:
          type: string
          format: date-time
          example: '2017-08-21T17:32:28Z'
          x-scala-type: java.time.Instant
        dueAt:
          type: string
          format: date-time
          example: '2017-07-21T17:32:28Z'
          x-scala-type: java.time.Instant
        ignored:
          $ref: '#/components/schemas/SrmIgnoredBody'
        priority:
          type: string
          example: Critical
          enum:
            - Low
            - Medium
            - High
            - Critical
        status:
          type: string
          example: Overdue
          enum:
            - Overdue
            - OnTrack
            - DueSoon
            - ClosedOnTime
            - ClosedLate
            - Ignored
        htmlUrl:
          type: string
          description: Link to the item's underlying issue
          example: https://app.codacy.com/gh/test-org/test-repo/issues?resultDataId=12345
        projectKey:
          type: string
          description: Jira project key of the item's underlying issue
          example: PUL
        securityCategory:
          type: string
          description: The category of a security item identified by Codacy
          example: Cryptography
        scanType:
          type: string
          description: The type of scan that identified the item.
          example: SAST, SCA, ContainerSCA, Secrets, IaC, CICD, License, PenTesting, DAST, CSPM
        summary:
          type: string
          description: Brief description of the issue. Specific to penetration testing issues.
          example: Modern web application design incorporates a Same-Origin Policy (SOP) in order to restrict interactions between scripts loaded on the origin and resources hosted on other origins.
        cvssScore:
          type: number
          description: CVSS (Common Vulnerability Scoring System) score representing the severity of the vulnerability. Specific to penetration testing issues.
          format: float
          example: 0.42
        cvssVector:
          type: string
          description: |
            CVSS (Common Vulnerability Scoring System) scoring vector, including various metrics detailing the nature and impact of the vulnerability. Specific to penetration testing issues.
          example: CVSS:3.0/AV:A/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:L/E:U/MUI:N
        cwe:
          type: string
          description: CWE (Common Weakness Enumeration) software vulnerability identifier. Specific to penetration testing issues.
          example: CWE-122
        cve:
          type: string
          description: |
            A list of CVE (Common Vulnerabilities and Exposures) identifiers. Most of the time the array will contain only one single ID, but there are niche instances where there can be multiple ones.
          example: CVE-1970-1234
        affectedVersion:
          type: string
          description: Indicates the version when this vulnerability was first detected in your codebase
          example: 1.0.0
        fixedVersion:
          type: array
          description: Indicates the version (tag, or commit SHA) when this vulnerability was fixed
          items:
            type: string
          example:
            - 1.0.1
        application:
          type: string
          description: Applicable for issues identified by DAST scanning. A URL identifying the affected application.
          example: https://example.com
        affectedTargets:
          type: string
          description: |
            List of targets affected by the security issue, determined dynamically based on the target type. Includes URLs, app names with operating systems for mobile apps, SSIDs for wireless, hostnames, full names for social engineering targets, and various combinations of hostnames and IP addresses for other targets. Cannot guarantee a specific format. Specific to penetration testing issues.
          example: https://example.com
        additionalInfo:
          type: string
          description: Additional information about the issue.
          example: |
            The following directives either allow wildcard sources (or ancestors), are not defined, or are overly broadly defined: script-src, style-src, img-src, connect-src, frame-src, font-src, media-src, object-src, manifest-src, worker-src, form-action. The directive(s): form-action are among the directives that do not fallback to default-src, missing/excluding them is the same as allowing anything.
        likelihood:
          type: string
          description: Specific to penetration testing issues.
          example: Low
          enum:
            - Low
            - Medium
            - High
            - not_applicable
        effortToFix:
          type: string
          description: Specific to penetration testing issues.
          example: High
          enum:
            - Low
            - Medium
            - High
            - not_applicable
        remediation:
          type: string
          description: Recommended steps to fix the security issue. Specific to penetration testing issues.
          example: Always ensure that the 'Access-Control-Allow-Origin' only allows specific origins.
        dastTargetUrls:
          type: string
          description: Specifies the target URLs that were scanned.
        imageName:
          type: string
          description: Name of the scanned container image
        imageTag:
          type: string
          description: Tag of the scanned container image
      description: Security and risk management item of an organization.
    SrmItemsResponse:
      required:
        - data
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SrmItem'
      description: Security and risk management item list, sorted by due date descending.
    IgnoreSRMItemBody:
      type: object
      properties:
        reason:
          type: string
          description: |
            The reason why we ignore an issue.
            Must be one of `AcceptedUse`, `FalsePositive`, `NotExploitable`, `TestCode`, `ExternalCode`
        comment:
          type: string
          description: Comment describing why we ignore an issue
      description: Request body with information of who ignored an SRM item
    SrmItemResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SrmItem'
      description: Response with a security and risk management item.
    SearchSRMItems:
      type: object
      properties:
        repositories:
          type: array
          description: Repository names to filter by.
          items:
            type: string
        priorities:
          type: array
          description: Security issue priorities to filter by. See [SrmPriority](#tocssrmpriority) for valid values.
          items:
            type: string
        statuses:
          type: array
          description: Security issue status to filter by. See [SrmStatus](#tocssrmstatus) for valid values.
          items:
            type: string
        categories:
          type: array
          description: Security categories to filter by. Use `_other_` to search for issues that don't have a security category.
          items:
            type: string
        scanTypes:
          type: array
          description: Scan types to filter by.
          example:
            - SAST
            - SCA
            - ContainerSCA
            - Secrets
            - IaC
            - CICD
            - License
            - PenTesting
            - DAST
            - CSPM
          items:
            type: string
        segments:
          type: array
          description: Segments ids to filter by.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
        dastTargetUrls:
          type: array
          description: Filter containing a list of Dast target urls.
          items:
            type: string
        searchText:
          type: string
          description: Text to search for in security items.
      description: Request body to filter the security issues of an organization.
    SRMDashboard:
      required:
        - closedLate
        - closedOnTime
        - dueSoon
        - onTrack
        - openCICD
        - openCSPM
        - openContainerSCA
        - openCritical
        - openDAST
        - openHigh
        - openIaC
        - openLicense
        - openLow
        - openMedium
        - openPenTesting
        - openSAST
        - openSCA
        - openScanNotAttributed
        - openSecrets
        - overdue
        - totalClosed
        - totalNewThisWeek
        - totalOpen
      type: object
      properties:
        totalOpen:
          type: integer
          format: int32
        totalNewThisWeek:
          type: integer
          format: int32
        totalClosed:
          type: integer
          format: int32
        onTrack:
          type: integer
          format: int32
        dueSoon:
          type: integer
          format: int32
        overdue:
          type: integer
          format: int32
        closedOnTime:
          type: integer
          format: int32
        closedLate:
          type: integer
          format: int32
        openCritical:
          type: integer
          description: Number of open security issues with Critical severity.
          format: int32
        openHigh:
          type: integer
          description: Number of open security issues with High severity.
          format: int32
        openMedium:
          type: integer
          description: Number of open security issues with Medium severity.
          format: int32
        openLow:
          type: integer
          description: Number of open security issues with Low severity.
          format: int32
        openSAST:
          type: integer
          description: Number of open security issues identified by a SAST scan.
          format: int32
        openSCA:
          type: integer
          description: Number of open security issues identified by an SCA scan.
          format: int32
        openContainerSCA:
          type: integer
          description: Number of open security issues identified by a ContainerSCA scan.
          format: int32
        openSecrets:
          type: integer
          description: Number of open security issues identified by a Secrets scan.
          format: int32
        openIaC:
          type: integer
          description: Number of open security issues identified by an IaC scan.
          format: int32
        openCICD:
          type: integer
          description: Number of open security issues identified by a CICD scan.
          format: int32
        openLicense:
          type: integer
          description: Number of open security issues identified by a License scan.
          format: int32
        openPenTesting:
          type: integer
          description: Number of open security issues identified by a PenTesting scan.
          format: int32
        openDAST:
          type: integer
          description: Number of open security issues identified by a DAST scan.
          format: int32
        openCSPM:
          type: integer
          description: Number of open security issues identified by a CSPM scan.
          format: int32
        openScanNotAttributed:
          type: integer
          description: Number of open security issues which do not have an attributed scan type.
          format: int32
      description: Metrics for the security and risk management dashboard.
    SRMDashboardResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SRMDashboard'
      description: Metrics for the security and risk management dashboard.
    SearchSRMDashboard:
      type: object
      properties:
        repositories:
          type: array
          description: Repository names to filter by.
          items:
            type: string
        priorities:
          type: array
          description: Security issue priorities to filter by. See [SrmPriority](#tocssrmpriority) for valid values.
          items:
            type: string
            enum:
              - Low
              - Medium
              - High
              - Critical
        categories:
          type: array
          description: Security categories to filter by. Use `_other_` to search for issues that don't have a security category.
          items:
            type: string
        scanTypes:
          type: array
          description: Scan types to filter by.
          example:
            - SAST
            - SCA
            - ContainerSCA
            - Secrets
            - IaC
            - CICD
            - License
            - PenTesting
            - DAST
            - CSPM
          items:
            type: string
        segments:
          type: array
          description: Segments ids to filter by.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
      description: Request body to filter the metrics of the security issues dashboard of an organization.
    SearchSRMDashboardRepositories:
      type: object
      properties:
        repositories:
          type: array
          description: Repository names to filter by.
          items:
            type: string
        segments:
          type: array
          description: Segments ids to filter by.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
      description: Request body to filter the search for the list of organization repositories with security findings.
    SRMRepositoryIssueCount:
      required:
        - critical
        - high
        - id
        - low
        - medium
        - name
      type: object
      properties:
        id:
          type: integer
          description: Codacy repository id.
          format: int64
        name:
          type: string
          description: Repository name.
          example: important-repo
        critical:
          type: integer
          description: Number of open issues with 'Critical' severity.
          format: int32
        high:
          type: integer
          description: Number of open issues with 'High' severity.
          format: int32
        medium:
          type: integer
          description: Number of open issues with 'Medium' severity.
          format: int32
        low:
          type: integer
          description: Number of open issues with 'Low' severity.
          format: int32
      description: Open issue counts for a repository, aggregated by severity.
    SRMDashboardRepositoriesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SRMRepositoryIssueCount'
      description: List of repositories with their respective issue count.
    SearchSRMDashboardHistory:
      type: object
      properties:
        repositories:
          type: array
          description: Repository names to filter by.
          items:
            type: string
        segments:
          type: array
          description: Segments ids to filter by.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
      description: Request body to filter the evolution of security findings over time.
    SRMHistoryDataPoint:
      required:
        - fixedCritical
        - fixedHigh
        - fixedLow
        - fixedMedium
        - ignoredCritical
        - ignoredHigh
        - ignoredLow
        - ignoredMedium
        - newCritical
        - newHigh
        - newLow
        - newMedium
        - openCritical
        - openHigh
        - openLow
        - openMedium
        - since
        - unignoredCritical
        - unignoredHigh
        - unignoredLow
        - unignoredMedium
        - until
      type: object
      properties:
        since:
          type: string
          description: Beginning of the time interval (inclusive).
          format: date-time
          example: '2024-03-04T00:00:00Z'
          x-scala-type: java.time.Instant
        until:
          type: string
          description: End of the time interval (exclusive).
          format: date-time
          example: '2024-03-11T00:00:00Z'
          x-scala-type: java.time.Instant
        newCritical:
          type: integer
          description: Number of security findings with Critical severity, introduced during the time interval
          format: int32
        newHigh:
          type: integer
          description: Number of security findings with High severity, introduced during the time interval
          format: int32
        newMedium:
          type: integer
          description: Number of security findings with Medium severity, introduced during the time interval
          format: int32
        newLow:
          type: integer
          description: Number of security findings with Low severity, introduced during the time interval
          format: int32
        fixedCritical:
          type: integer
          description: Number of security findings with Critical severity, fixed during the time interval
          format: int32
        fixedHigh:
          type: integer
          description: Number of security findings with High severity, fixed during the time interval
          format: int32
        fixedMedium:
          type: integer
          description: Number of security findings with Medium severity, fixed during the time interval
          format: int32
        fixedLow:
          type: integer
          description: Number of security findings with Low severity, fixed during the time interval
          format: int32
        openCritical:
          type: integer
          description: Number of open security findings with Critical severity, at the beginning of the time interval
          format: int32
        openHigh:
          type: integer
          description: Number of open security findings with High severity, at the beginning of the time interval
          format: int32
        openMedium:
          type: integer
          description: Number of open security findings with Medium severity, at the beginning of the time interval
          format: int32
        openLow:
          type: integer
          description: Number of open security findings with Low severity, at the beginning of the time interval
          format: int32
        ignoredCritical:
          type: integer
          description: Number of ignored security findings with Critical severity, at the beginning of the time interval
          format: int32
        ignoredHigh:
          type: integer
          description: Number of ignored security findings with High severity, at the beginning of the time interval
          format: int32
        ignoredMedium:
          type: integer
          description: Number of ignored security findings with Medium severity, at the beginning of the time interval
          format: int32
        ignoredLow:
          type: integer
          description: Number of ignored security findings with Low severity, at the beginning of the time interval
          format: int32
        unignoredCritical:
          type: integer
          description: Number of unignored security findings with Critical severity, at the beginning of the time interval
          format: int32
        unignoredHigh:
          type: integer
          description: Number of unignored security findings with High severity, at the beginning of the time interval
          format: int32
        unignoredMedium:
          type: integer
          description: Number of unignored security findings with Medium severity, at the beginning of the time interval
          format: int32
        unignoredLow:
          type: integer
          description: Number of unignored security findings with Low severity, at the beginning of the time interval
          format: int32
      description: Totals for open, new, and fixed security findings during the given time interval
    SRMDashboardHistoryResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SRMHistoryDataPoint'
      description: Evolution of security findings over time.
    SearchSRMDashboardCategories:
      type: object
      properties:
        repositories:
          type: array
          description: Repository names to filter by.
          items:
            type: string
        segments:
          type: array
          description: Segments ids to filter by.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
      description: Request body to filter the search for the list of security categories with findings.
    SRMCategoryIssueCount:
      required:
        - name
        - total
      type: object
      properties:
        name:
          type: string
          description: Security category name.
          example: Cryptography
        total:
          type: integer
          description: Total number of open issues for the given security category.
          format: int32
      description: Open issue counts for a security category.
    SRMDashboardCategoriesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SRMCategoryIssueCount'
      description: List of security categories with their respective issue count.
    SRMDASTReportUploadResponse:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the uploaded report
          example: 847feb32-9ff2-11ea-bb37-0242ac130002
      description: Metadata useful to identify the report upload.
    SRMDastReport:
      required:
        - createdAt
        - generatedAt
        - id
        - organizationId
        - state
        - tool
        - updatedAt
      type: object
      properties:
        id:
          type: string
          description: The report internal id.
          format: uuid
          example: 9a4f2183-c2a8-4f38-abe9-1041c5dc9b05
        organizationId:
          type: integer
          description: Codacy's organization identifier.
          format: int64
          example: 12455
        createdAt:
          type: string
          description: When the report was created on Codacy's platform.
          format: date-time
          example: '2024-03-14T06:54:42.869673Z'
          x-scala-type: java.time.Instant
        updatedAt:
          type: string
          description: When the report was last updated on Codacy's platform.
          format: date-time
          example: '2024-03-14T06:54:42.869673Z'
          x-scala-type: java.time.Instant
        generatedAt:
          type: string
          description: When the report was originally generated.
          format: date-time
          example: '2024-03-14T06:54:42.869673Z'
          x-scala-type: java.time.Instant
        state:
          type: string
          description: The report's current processing state.
          example: InProgress
          enum:
            - InProgress
            - Success
            - Failure
        tool:
          type: string
          description: The DAST scanning tool used to generate the report.
          enum:
            - ZAP
          x-ms-enum:
            name: DastTool
        failureReason:
          type: string
          description: The reason the report failed to be processed. This field is only defined when state is 'Failure'.
          example: Unrecognized report format.
      description: A dynamic application security testing (DAST) report.
    SRMDastReportResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SRMDastReport'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
      description: A page of DAST reports submitted to Codacy.
    SecurityManager:
      required:
        - createdAt
        - email
        - userId
      type: object
      properties:
        userId:
          type: integer
          description: User ID internal to Codacy.
          format: int64
          example: 867842577
        name:
          type: string
          example: John Doe
        email:
          type: string
          example: example@codacy.com
        createdAt:
          type: string
          format: date-time
          example: '2017-07-21T17:32:28Z'
          x-scala-type: java.time.Instant
      description: Organization admin or security manager.
    SecurityManagersResponse:
      required:
        - data
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SecurityManager'
      description: Security manager list sorted by organization admin status first and then alphabetically
    SecurityManagerBody:
      required:
        - userId
      type: object
      properties:
        userId:
          type: integer
          description: User ID of the organization member to be promoted to security manager.
          format: int64
          example: 867842577
      description: Assign or revoke the Security Manager role for an organization member.
    SecurityRepositoriesResponse:
      required:
        - data
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/RepositorySummary'
      description: List of repositories that have security issues.
    SecurityCategoriesResponse:
      required:
        - data
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            type: string
            example: Cryptography
      description: List of security categories that have security issues.
    FindingSeverity:
      type: string
      description: Finding severity level. Possible values are `Critical`, `High`, `Medium`, `Low`.
      example: Critical
      enum:
        - Critical
        - High
        - Medium
        - Low
      x-ms-enum:
        name: FindingSeverity
    LicenseRiskCategory:
      type: string
      description: The risk category of a license.
      enum:
        - Forbidden
        - Restricted
        - Reciprocal
        - Notice
        - Permissive
        - Unencumbered
        - Unknown
    SearchSbomDependenciesBody:
      type: object
      description: Request body for searching dependencies.
      properties:
        text:
          type: string
          description: Text search query. Matches against SBOM component fields (purl, full_name).
        repositories:
          type: array
          description: Repository names to filter by.
          items:
            type: string
        segments:
          type: array
          description: Segments ids to filter by.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
        findingSeverities:
          type: array
          description: Finding severities to filter by. Possible values are `Critical`, `High`, `Medium`, `Low`.
          items:
            $ref: '#/components/schemas/FindingSeverity'
        riskCategories:
          type: array
          description: License Risk categories to filter by.
          items:
            $ref: '#/components/schemas/LicenseRiskCategory'
    OpenFindingsCount:
      required:
        - open
        - severity
      type: object
      properties:
        severity:
          type: string
          description: The findings' severity.
        open:
          type: integer
          description: The number of open findings.
          format: int32
      description: The open findings count for a given severity.
    LicensesDetails:
      type: object
      description: Detailed information about a license.
      properties:
        name:
          type: string
          description: The name of the license.
        url:
          type: string
          description: The license's official page.
        isOsiApproved:
          type: boolean
          description: Whether the license is OSI approved.
        isFsfLibre:
          type: boolean
          description: Whether the license is FSF libre.
        riskCategory:
          $ref: '#/components/schemas/LicenseRiskCategory'
          description: The license risk category.
        isDerivedByAi:
          type: boolean
          description: Whether the license details were derived by AI.
    SbomDependencySummary:
      required:
        - findings
        - fullName
        - repositoriesCount
        - versionsCount
        - licensesDetails
      type: object
      properties:
        fullName:
          type: string
          description: The full name of the dependency.
          example: maven/ch.qos.logback/logback-classic
        purl:
          type: string
          description: The purl of the dependency.
          example: maven:ch.qos.logback:logback-classic:1.2.3
        ossfScore:
          type: number
          description: The ossf score of the dependency.
          format: double
        repositoriesCount:
          minimum: 0
          type: integer
          description: The number of repositories where a version of this dependency is used.
          format: int32
        versionsCount:
          minimum: 1
          type: integer
          description: The number of versions this dependency has across repositories.
          format: int32
        findings:
          type: array
          description: An array containing the open findings count, per severity, found for this dependency
          items:
            $ref: '#/components/schemas/OpenFindingsCount'
        licensesDetails:
          type: array
          description: Detailed license information for this dependency.
          items:
            $ref: '#/components/schemas/LicensesDetails'
      description: Summary of a dependency.
    SbomDependenciesOverview:
      required:
        - filteredDependenciesCount
        - filteredRepositoriesCount
        - totalDependenciesCount
        - totalRepositoriesCount
      type: object
      properties:
        totalRepositoriesCount:
          type: integer
          description: The total number of repositories for which there is dependency information. This number does not change with filtering.
          format: int32
        filteredRepositoriesCount:
          type: integer
          description: The total number of filtered repositories for which there is dependency information.
          format: int32
        totalDependenciesCount:
          type: integer
          description: |
            The total number of dependencies found across repositories for which there is dependency information. If the same dependency is used in multiple repositories, it will be counted multiple times. This number does not change with filtering.
          format: int64
        filteredDependenciesCount:
          type: integer
          description: |
            The total number of filtered dependencies found across repositories for which there is dependency information. If the same dependency is used in multiple repositories, it will be counted multiple times.
          format: int64
      description: Overview of a search dependencies request.
    SearchSbomDependenciesResponse:
      required:
        - data
        - overview
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SbomDependencySummary'
        overview:
          $ref: '#/components/schemas/SbomDependenciesOverview'
      description: Response body for searching dependencies.
    SearchRepositoriesOfSbomDependencyBody:
      type: object
      required:
        - dependencyFullName
      description: Request body for searching the repositories where a dependency is used.
      properties:
        dependencyFullName:
          type: string
          description: The full name of the dependency to search for.
        repositoriesFilter:
          type: array
          description: Repository names to filter by.
          items:
            type: string
    RepositorySummaryOfSbomDependency:
      required:
        - id
        - name
        - licenses
        - licensesDetails
      type: object
      properties:
        id:
          type: integer
          description: The identifier of the repository.
          format: int64
        name:
          type: string
          description: The name of the repository.
        dependencyVersion:
          type: string
          description: The exact version of the dependency this repository is using.
        highestFindingSeverity:
          type: string
          description: The highest severity of the findings found for this dependency in this repository.
        licenses:
          type: array
          items:
            type: string
            x-scala-type: String
          description: Deprecated use licensesDetails instead
          deprecated: true
        licensesDetails:
          type: array
          description: Detailed license information for the dependency used in this repository.
          items:
            $ref: '#/components/schemas/LicensesDetails'
      description: Summary of a repository where a given dependency is used.
    RepositoriesOverviewOfSbomDependency:
      type: object
      required:
        - fullName
        - filteredVersionsCount
        - totalRepositoriesCount
        - filteredRepositoriesCount
      properties:
        name:
          type: string
          description: The dependency name.
          example: logback-classic
        fullName:
          type: string
          description: The dependency full name.
          example: maven/ch.qos.logback/logback-classic
        purl:
          type: string
          description: The purl of the dependency.
          example: maven:ch.qos.logback:logback-classic:1.2.3
        ossfScore:
          type: number
          description: The ossf score of the dependency.
          format: double
        latestVersion:
          type: string
          description: The latest version of this dependency that is being used across filtered repositories.
          example: 10.1.2
        oldestVersion:
          type: string
          description: The oldest version of this dependency that is being used across filtered repositories.
          example: 1.2.3
        totalVersionsCount:
          type: integer
          description: How many dependency versions are being used across repositories. This number does not change with filtering.
          format: int32
        filteredVersionsCount:
          type: integer
          description: How many dependency versions are being used across the filtered repositories.
          format: int32
        totalRepositoriesCount:
          type: integer
          description: How many repositories are using a version of this dependency. This number does not change with filtering.
          format: int32
        filteredRepositoriesCount:
          type: integer
          description: How many repositories matching the filters are using a version of this dependency.
          format: int32
      description: Overview of how a dependency is used across repositories.
    SearchRepositoriesOfSbomDependencyResponse:
      required:
        - data
        - overview
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/RepositorySummaryOfSbomDependency'
        overview:
          $ref: '#/components/schemas/RepositoriesOverviewOfSbomDependency'
      description: Response body for searching the repositories where a given dependency is used.
    SearchSbomRepositoriesBody:
      type: object
      description: Request body for searching dependencies by repository.
      example:
        - cargo/addr2line
        - cargo/addr2line
        - cargo/adler
        - cargo/ahash
        - cargo/aho-corasi
        - cargo/backtrace
        - cargo/bitflags
    DependenciesSummaryOfSbomRepository:
      required:
        - dependenciesCount
        - dependenciesFindings
        - id
        - name
      type: object
      properties:
        id:
          type: integer
          description: The identifier of the repository.
          format: int64
        name:
          type: string
          description: The name of the repository.
        dependenciesCount:
          minimum: 0
          type: integer
          description: The number of dependencies this repository has, including indirect dependencies
          format: int32
        dependenciesFindings:
          type: array
          description: An array containing the open findings count, per severity, found for this repository's dependencies
          items:
            $ref: '#/components/schemas/OpenFindingsCount'
      description: Summary of the dependencies of a repository.
    DependenciesOverviewOfSbomRepositories:
      required:
        - filteredDependenciesCount
        - filteredRepositoriesCount
        - totalDependenciesCount
        - totalRepositoriesCount
      type: object
      properties:
        totalRepositoriesCount:
          type: integer
          description: The total number of repositories for which there is dependency information. This number does not change with filtering.
          format: int32
        filteredRepositoriesCount:
          type: integer
          description: The total number of filtered repositories for which there is dependency information.
          format: int32
        totalDependenciesCount:
          type: integer
          description: |
            The total number of dependencies found across repositories for which there is dependency information. If the same dependency is used in multiple repositories, it will be counted multiple times. This number does not change with filtering.
          format: int64
        filteredDependenciesCount:
          type: integer
          description: |
            The total number of filtered dependencies found across repositories for which there is dependency information. If the same dependency is used in multiple repositories, it will be counted multiple times.
          format: int64
      description: Overview of dependencies used across repositories.
    SearchSbomRepositoriesResponse:
      required:
        - data
        - overview
        - pagination
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DependenciesSummaryOfSbomRepository'
        overview:
          $ref: '#/components/schemas/DependenciesOverviewOfSbomRepositories'
      description: Response body for searching repositories with dependency information.
    SbomPresignResponse:
      description: Response containing a presigned URL to download the repository SBOM.
      type: object
      properties:
        url:
          type: string
          format: uri
          description: Presigned S3 URL to download the SBOM JSON.
      required:
        - url
    ImageSummary:
      type: object
      properties:
        imageName:
          type: string
          description: The name of the Docker image
          example: codacy/service-a
        latestTag:
          type: string
          description: The most recently uploaded tag for this image
          example: 1.0.0
        lastSbomUploaded:
          type: string
          format: date-time
          description: Timestamp when the last SBOM was uploaded
          x-scala-type: java.time.Instant
        lastSbomGenerated:
          type: string
          format: date-time
          description: Timestamp when the last SBOM was generated
          x-scala-type: java.time.Instant
      required:
        - imageName
    ListImagesResponse:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ImageSummary'
      required:
        - pagination
        - data
    ImageTagSummary:
      type: object
      properties:
        imageName:
          type: string
          description: The name of the Docker image
          example: codacy/service-a
        tag:
          type: string
          description: Tag of the Docker image
        environment:
          type: string
          description: Environment where the image is deployed
        repositoryId:
          type: integer
          format: int64
          description: The repository id associated with this image tag
        repositoryName:
          type: string
          description: The repository name associated with this image tag
        generatedAt:
          type: string
          format: date-time
          description: The timestamp when the SBOM for this image tag was generated
          x-scala-type: java.time.Instant
        uploadedAt:
          type: string
          format: date-time
          description: The timestamp when the SBOM was uploaded to the system
          x-scala-type: java.time.Instant
        scanStatus:
          type: string
          description: The current status of the security scan for this image tag.
      required:
        - imageName
        - tag
        - generatedAt
        - uploadedAt
    ListImageTagsResponse:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ImageTagSummary'
      required:
        - pagination
        - data
    ElementType:
      type: string
      enum:
        - issue
        - finding
        - file
        - dependency
    CreateJiraTicketDeprecatedBody:
      type: object
      required:
        - elementType
        - elementIds
        - jiraProjectId
        - issueTypeId
        - summary
        - description
      properties:
        elementType:
          $ref: '#/components/schemas/ElementType'
        elementIds:
          type: array
          items:
            type: string
        jiraProjectId:
          type: integer
          format: int64
        issueTypeId:
          type: integer
          format: int64
        summary:
          type: string
        description:
          type: string
          description: JIRA description written in Atlassian Document Format https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/#json-schema
        dueDate:
          type: string
          format: date
          description: Optional due date in YYYY-MM-DD format
    JiraTicket:
      type: object
      required:
        - id
        - key
        - summary
        - status
        - assignee
        - link
      properties:
        id:
          type: string
        key:
          type: string
        summary:
          type: string
        assignee:
          type: string
        link:
          type: string
        status:
          type: object
          required:
            - key
            - labels
            - color
          properties:
            key:
              type: string
            labels:
              type: array
              items:
                type: string
            color:
              type: string
    CreateJiraTicketResponse:
      description: Create ticket response
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/JiraTicket'
    GetJiraTicketsResponse:
      description: Jira tickets retrieval response
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/JiraTicket'
    CreateJiraTicketElement:
      type: object
      required:
        - elementId
      properties:
        elementId:
          type: string
        repositoryName:
          type: string
    CreateJiraTicketBody:
      type: object
      required:
        - elementType
        - jiraProjectId
        - createJiraTicketElements
        - issueTypeId
        - summary
        - description
      properties:
        elementType:
          $ref: '#/components/schemas/ElementType'
        jiraProjectId:
          type: integer
          format: int64
        createJiraTicketElements:
          type: array
          items:
            $ref: '#/components/schemas/CreateJiraTicketElement'
        issueTypeId:
          type: integer
          format: int64
        summary:
          type: string
        description:
          type: string
          description: JIRA description written in Atlassian Document Format https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/#json-schema
        dueDate:
          type: string
          format: date
          description: Optional due date in YYYY-MM-DD format
    UnlinkRepositoryJiraTicketBody:
      type: object
      required:
        - elementType
        - elementId
      properties:
        elementType:
          $ref: '#/components/schemas/ElementType'
        elementId:
          type: string
    JiraIntegration:
      required:
        - created_at
        - instance_id
        - instance_name
        - organization_id
        - updated_at
      type: object
      properties:
        organization_id:
          type: integer
          description: Codacy organization ID
          format: int64
          example: 867842577
        instance_id:
          type: string
          description: Jira cloud ID of the organization
          example: 1324a887-45db-1bf4-1e99-ef0ff456d421
        instance_name:
          type: string
          description: Name of the Jira instance that Codacy has access to
          example: codacy
        created_at:
          type: string
          format: date-time
          example: '2020-11-09T09:10:00Z'
          x-scala-type: java.time.Instant
        updated_at:
          type: string
          format: date-time
          example: '2020-11-09T09:10:00Z'
          x-scala-type: java.time.Instant
      description: Details of a Jira integration for the security and risk management feature.
    JiraIntegrationResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/JiraIntegration'
      description: A response with a Jira integration
    JiraProject:
      required:
        - id
        - key
        - name
        - avatarUrl
      type: object
      properties:
        id:
          type: integer
          format: int64
        key:
          type: string
        name:
          type: string
        avatarUrl:
          type: string
    PaginationInfoLong:
      type: object
      properties:
        cursor:
          type: string
          description: Cursor to [request the next batch of results](https://docs.codacy.com/codacy-api/using-the-codacy-api/#using-pagination)
        limit:
          type: integer
          description: Maximum number of items returned
          format: int32
        total:
          type: integer
          description: Total number of items returned
          format: int64
      description: Cursor-based pagination information to obtain more items
    AvailableJiraProjectsResponse:
      description: A response with a list of available projects.
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/JiraProject'
        pagination:
          $ref: '#/components/schemas/PaginationInfoLong'
    JiraProjectIssueType:
      required:
        - id
        - name
        - isSubtask
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        isSubtask:
          type: boolean
        iconUrl:
          type: string
    JiraProjectIssueTypesResponse:
      description: A response with a list of issue types for a Jira project.
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/JiraProjectIssueType'
        pagination:
          $ref: '#/components/schemas/PaginationInfoLong'
    JiraProjectIssueField:
      required:
        - fieldId
        - name
        - key
        - required
        - hasDefaultValue
      type: object
      properties:
        fieldId:
          type: string
        name:
          type: string
        key:
          type: string
        required:
          type: boolean
        hasDefaultValue:
          type: boolean
    JiraProjectIssueFieldsResponse:
      description: A response with a list of possible fields for a Jira project issue type.
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/JiraProjectIssueField'
        pagination:
          $ref: '#/components/schemas/PaginationInfoLong'
    SlackIntegration:
      required:
        - created_at
        - organization_id
        - updated_at
        - webhook_url
      type: object
      properties:
        organization_id:
          type: integer
          description: Codacy organization ID
          format: int64
          example: 867842577
        webhook_url:
          pattern: https:\/\/hooks\.slack\.com\/services\/T[a-zA-Z0-9_]{8,10}\/B[a-zA-Z0-9_]{8,10}\/[a-zA-Z0-9_]{24}
          type: string
          description: Slack Incoming Webhook URL to post notifications to.
          example: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
        created_at:
          type: string
          format: date-time
          example: '2020-11-09T09:10:00Z'
          x-scala-type: java.time.Instant
        updated_at:
          type: string
          format: date-time
          example: '2020-11-09T09:10:00Z'
          x-scala-type: java.time.Instant
      description: Details of a Slack integration.
    SlackIntegrationResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SlackIntegration'
    SlackIntegrationRequest:
      required:
        - webhook_url
      type: object
      properties:
        webhook_url:
          pattern: https:\/\/hooks\.slack\.com\/services\/T[a-zA-Z0-9_]{8,10}\/B[a-zA-Z0-9_]{8,10}\/[a-zA-Z0-9_]{24}
          type: string
          description: Slack Incoming Webhook URL to post notifications to.
          example: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
      description: The request body to create or update the Slack integration of the organization.
    DiffResponse:
      required:
        - diff
      type: object
      properties:
        diff:
          type: string
          example: diff --git a/example.md b/example.md&bsol;nindex 9eeb703..777b981 100644&bsol;n--- a/example.md&bsol;n+++ b/example.md&bsol;n@@ -1 +1 @@&bsol;n-Edited line&bsol;n+Edited line (edit)&bsol;n
      description: Human-readable Git diff of a commit or pull request, matching the output format of the [`git diff` command](https://git-scm.com/docs/git-diff)
    SrmPriority:
      type: string
      example: Critical
      enum:
        - Low
        - Medium
        - High
        - Critical
    SrmStatus:
      type: string
      example: Overdue
      enum:
        - Overdue
        - OnTrack
        - DueSoon
        - ClosedOnTime
        - ClosedLate
        - Ignored
    PostReportSecurityItemsBody:
      type: object
      description: Optional filters for exporting security items as CSV
      properties:
        repositories:
          type: array
          description: Repository names to filter by
          items:
            type: string
        priorities:
          type: array
          description: Security issue priorities to filter by. See [SrmPriority](#tocssrmpriority) for valid values.
          items:
            $ref: '#/components/schemas/SrmPriority'
        statuses:
          type: array
          description: Security issue status to filter by. See [SrmStatus](#tocssrmstatus) for valid values.
          items:
            $ref: '#/components/schemas/SrmStatus'
        categories:
          type: array
          description: |
            Security categories to filter by. Use `_other_` to search for
            issues that don't have a security category
          items:
            type: string
        scanTypes:
          type: array
          description: Scan types to filter by
          example:
            - SAST
            - SCA
            - ContainerSCA
            - Secrets
            - IaC
            - CICD
            - License
            - PenTesting
            - DAST
            - CSPM
          items:
            type: string
        segments:
          type: array
          description: Segment IDs to filter by
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            format: int64
        searchText:
          type: string
          description: Text to search for in security items
    CommitDetails:
      required:
        - commit
        - repository
      type: object
      properties:
        commit:
          $ref: '#/components/schemas/Commit'
        repository:
          $ref: '#/components/schemas/RepositoryIdentification'
      description: Details of a commit.
    RepositoryIdentificationV2:
      required:
        - name
        - repositoryId
        - provider
        - organizationName
      type: object
      properties:
        repositoryId:
          type: integer
          description: Identifier of the repository
          format: int64
        name:
          type: string
          description: Name of the repository
          example: codacy-eslint
        provider:
          $ref: '#/components/schemas/Provider'
        organizationName:
          type: string
          description: Name of the organization
          example: codacy
    CommitDetailsV2:
      required:
        - commit
        - repository
      type: object
      properties:
        commit:
          $ref: '#/components/schemas/Commit'
        repository:
          $ref: '#/components/schemas/RepositoryIdentificationV2'
      description: Details of a commit.
    HeartbeatRequest:
      required:
        - wasActive
      type: object
      properties:
        wasActive:
          type: boolean
          description: True if the user was active in the last heartbeat interval.
          example: true
      description: Request body to send a heartbeat
    HeartbeatResponse:
      required:
        - absoluteExpiresIn
        - idleExpiresIn
        - lastActivity
      type: object
      properties:
        lastActivity:
          type: string
          description: Server time of user's last activity
          format: date-time
          example: '2020-11-09T09:10:00Z'
          x-scala-type: java.time.Instant
        idleExpiresIn:
          minimum: 0
          type: integer
          description: Time in milliseconds until the session expires due to inactivity
          example: 300000
        absoluteExpiresIn:
          minimum: 0
          type: integer
          description: Time in milliseconds until the session absolute timeout expires
          example: 28800000
      description: Heartbeat response
    HasQuickfixSuggestionsResponse:
      required:
        - hasSuggestions
      type: object
      properties:
        hasSuggestions:
          type: boolean
    QuickfixPatchResponse:
      required:
        - data
      type: object
      properties:
        data:
          required:
            - patch
          type: object
          properties:
            patch:
              type: string
              description: Base64 encoded patch file
    AuditActorRole:
      type: string
      description: Role of the audit actor.
      example: repositoryAdmin
      enum:
        - repositoryRead
        - repositoryWrite
        - repositoryAdmin
        - organizationMember
        - organizationManager
        - organizationAdmin
      x-ms-enum:
        name: Role
    AuditActor:
      required:
        - email
      type: object
      properties:
        email:
          type: string
          description: Email of the audit actor.
          example: example@email.com
        role:
          $ref: '#/components/schemas/AuditActorRole'
      description: Actor of the audit event.
    AuditResultType:
      type: string
      description: Result of the audit action.
      enum:
        - succeed
        - failed
        - rejected
      x-ms-enum:
        name: AuditResultType
    AuditLog:
      required:
        - action
        - actor
        - result
        - timestamp
      type: object
      properties:
        actor:
          $ref: '#/components/schemas/AuditActor'
        action:
          type: string
          description: Action performed in the event.
          example: organizations.gatepolicies.repositories.apply
        result:
          $ref: '#/components/schemas/AuditResultType'
        timestamp:
          type: string
          description: Timestamp when the event occurred.
          format: date-time
          example: '2024-06-28T14:29:13.43Z'
          x-scala-type: java.time.Instant
        source:
          type: string
          description: Source of the event. Possible values are 'UI' (Codacy app) or 'API' (Codacy API).
          example: UI
        repositoryName:
          type: string
          description: Name of the repository, if the scope of the event action is a repository
          example: ''
        description:
          type: string
          description: Description of the event.
          example: Apply gate policy
        details:
          type: object
          properties: {}
          description: |
            Details specific to the performed event action. Includes the JSON-format body of the performed request, and any additional information related to that action.
          example: '{"link":["repo-one"],"unlink":[]}'
        entityId:
          type: string
          description: |
            Identifier of the entity involved in the event. For example, the identifier of the updated gate policy in an event with the action `organizations.gatepolicies.update`.
          example: '123456'
      description: Audit log of an event performed by a Codacy user who is part of an organization.
    SegmentsSyncStatusResponse:
      required:
        - status
      type: object
      properties:
        status:
          type: string
          description: Status of the segments synchronization process. Valid values are `Syncing`, `Completed`, `Error`, `NotSynced`.
          example: Syncing
        error:
          type: string
          example: Error message
    SegmentsKeysResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            type: string
            example: group-id
    SegmentKeyWithId:
      required:
        - id
        - key
      type: object
      properties:
        id:
          type: integer
          description: Segment id
          format: int64
        key:
          type: string
          description: Segment key
          example: group
      description: Segment keys and id pair
    SegmentsKeysIdsResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SegmentKeyWithId'
    SegmentEntryDeprecated:
      required:
        - id
        - name
        - value
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the segment
          format: int64
          example: 1
        name:
          type: string
          description: Name of the segment. Specific to the organization.
          example: group-id
        value:
          type: string
          description: Value of the segment
          example: common libraries
        description:
          type: string
          description: Description of the segment
          example: Group of common libraries for projects
      description: Segment of an organization.
    SegmentsResponseDeprecated:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SegmentEntryDeprecated'
    SegmentEntry:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: integer
          description: Identifier of the segment
          format: int64
          example: 1
        name:
          type: string
          description: Name of the segment. Specific to the organization.
          example: group-id
        value:
          type: string
          description: Value of the segment
          example: common libraries
        description:
          type: string
          description: Description of the segment
          example: Group of common libraries for projects
      description: Segment of an organization.
    SegmentsResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/SegmentEntry'
    DastTargetStatus:
      description: The current analysis status of a DAST target.
      type: object
      properties:
        status:
          description: The current analysis status of a DAST target.
          type: string
          enum:
            - queued
            - running
            - successful
            - failed
        transitionedAt:
          description: When the target transitioned to this status.
          type: string
          format: date-time
          example: '2024-06-28T14:29:13.43Z'
          x-scala-type: java.time.Instant
        transitionReason:
          description: An optional description of why the target transition to the current status.
          type: string
          example: Timed out.
        analysisId:
          description: The DAST analysis id associated with this status.
          type: string
          format: uuid
          example: 72aa9244-4281-460a-a4ee-25be58d2a1ab
      required:
        - status
        - transitionedAt
        - analysisId
    DastTargetType:
      type: string
      description: Dast target request type
      enum:
        - webapp
        - openapi
        - graphql
      default: webapp
    DastTarget:
      description: A target for DAST analysis.
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 125904
        url:
          type: string
          format: uri
          example: https://api.domain.com/v1
        status:
          description: |
            The analysis status the target is in. A target can have multiple status at once.
            Currently, it can be both running and queued.
            This array can be empty if the target was never analysed.
          type: array
          items:
            $ref: '#/components/schemas/DastTargetStatus'
        targetType:
          $ref: '#/components/schemas/DastTargetType'
        apiDefinitionUrl:
          type: string
        apiAuthHeaderNames:
          type: array
          items:
            type: string
      required:
        - id
        - url
        - status
    DastTargetsResponse:
      description: List of DAST targets.
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DastTarget'
      required:
        - pagination
        - data
    CreateDastTargetBody:
      description: body to create a DAST target
      type: object
      properties:
        url:
          type: string
          format: uri
          example: https://api.domain.com/v1
        targetType:
          $ref: '#/components/schemas/DastTargetType'
        apiDefinitionUrl:
          type: string
          example: https://api.domain.com/v1
        apiAuthHeaders:
          type: object
          additionalProperties:
            type: string
      required:
        - url
    DastTargetResponse:
      description: A response with a target for DAST analysis.
      type: object
      properties:
        data:
          $ref: '#/components/schemas/DastTarget'
      required:
        - data
    AnalyzeDastTargetResponse:
      description: A response with the analysis ID that was queued.
      type: object
      properties:
        data:
          type: object
          properties:
            analysisId:
              type: string
              format: uuid
              example: 75d1b4cf-ef70-4be8-93ca-e9d21c7dca31
          required:
            - analysisId
      required:
        - data
    TooManyRequests:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - required:
            - error
          type: object
          properties:
            error:
              type: string
              default: TooManyRequests
    SLAConfig:
      type: object
      description: SLA configuration of an organization.
      properties:
        criticalSla:
          type: integer
          format: int32
          description: Amount of time, in days, to handle critical severity security issues.
        highSla:
          type: integer
          format: int32
          description: Amount of time, in days, to handle high severity security issues.
        mediumSla:
          type: integer
          format: int32
          description: Amount of time, in days, to handle medium severity security issues.
        lowSla:
          type: integer
          format: int32
          description: Amount of time, in days, to handle low severity security issues.
      required:
        - criticalSla
        - highSla
        - mediumSla
        - lowSla
    SLAConfigResponse:
      type: object
      description: Response body for getting SLA configuration for a given organization.
      properties:
        slaConfig:
          $ref: '#/components/schemas/SLAConfig'
      required:
        - slaConfig
    SLAConfigBody:
      type: object
      description: Request body for updating an SLA configuration.
      required:
        - slaConfig
      properties:
        slaConfig:
          $ref: '#/components/schemas/SLAConfig'
    EnterpriseOrganization:
      required:
        - avatar
        - name
        - remoteId
        - url
      type: object
      properties:
        id:
          type: integer
          description: Internal Codacy organization id
          format: int64
          example: 42
        remoteId:
          type: string
          description: Organization ID in provider
          example: group-id
        name:
          type: string
          description: Organization name.
          example: my-enterprise
        displayName:
          type: string
          description: Organization display name.
          example: My Enterprise
        userRole:
          type: string
          description: User role in the organization.
          example: Owner
          enum:
            - admin
            - member
        url:
          type: string
          description: Organization URL
          example: https://github.com/enterprises/my-enterprise
        avatar:
          type: string
          description: Organization avatar URL
      description: Organization in an enterprise
    EnterpriseOrganizationsResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EnterpriseOrganization'
    EnterpriseEntity:
      required:
        - avatarUrl
        - displayName
        - name
        - provider
        - url
        - userRole
      type: object
      properties:
        name:
          type: string
          description: Enterprise name. This is used as stable Enterprise Identifier
        displayName:
          type: string
          description: Enterprise remote name. This is not Enterprise Identifier
        userRole:
          type: string
          enum:
            - admin
            - member
        url:
          type: string
        avatarUrl:
          type: string
        provider:
          $ref: '#/components/schemas/Provider'
    EnterpriseListResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EnterpriseEntity'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    GetEnterpriseResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/EnterpriseEntity'
    Seat:
      required:
        - createdAt
        - emails
        - isActive
        - organizationsIds
      type: object
      properties:
        organizationsIds:
          type: array
          items:
            type: integer
            format: int64
        emails:
          type: array
          items:
            type: string
        lastAnalysis:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        createdAt:
          type: string
          format: date-time
          x-scala-type: java.time.Instant
        lastCommitId:
          type: integer
          format: int64
        providerId:
          type: string
        providerLogin:
          type: string
        isActive:
          type: boolean
    SeatsResponse:
      required:
        - data
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Seat'
    CodacyPaymentPlans:
      type: object
      required:
        - defaultYearlyPaidCode
        - defaultMonthlyPaidCode
        - trialCode
        - openSourceCode
        - defaultYearlyPaidPlan
        - defaultMonthlyPaidPlan
        - trialPlan
        - openSourcePlan
        - plans
      properties:
        defaultYearlyPaidCode:
          type: string
        defaultMonthlyPaidCode:
          type: string
        trialCode:
          type: string
        openSourceCode:
          type: string
        defaultYearlyPaidPlan:
          $ref: '#/components/schemas/PaymentPlan'
        defaultMonthlyPaidPlan:
          $ref: '#/components/schemas/PaymentPlan'
        trialPlan:
          $ref: '#/components/schemas/PaymentPlan'
        openSourcePlan:
          $ref: '#/components/schemas/PaymentPlan'
        plans:
          type: array
          items:
            $ref: '#/components/schemas/PaymentPlan'
    PaymentPlansResponse:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CodacyPaymentPlans'
    OssfScorecardUrlRequest:
      type: object
      description: Request body to fetch OSSF Scorecard information by URL.
      properties:
        url:
          type: string
          description: The URL of the repository to fetch OSSF Scorecard information for.
          example: https://www.github.com/codacy/codacy
        purl:
          type: string
          description: The PURL of the dependency to fetch OSSF Scorecard information for.
          example: maven:ch.qos.logback:logback-classic:1.2.3
    OssfScorecardDocumentation:
      type: object
      description: OSSF scorecard check documentation for a given repository.
      properties:
        url:
          type: string
          description: The URL of the documentation.
          example: https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review
        short:
          type: string
          description: The short documentation of the check.
          example: Determines if the project requires human code review before pull requests (aka merge requests) are merged.
      required:
        - url
        - short
    OssfScorecardSeverity:
      type: string
      description: The severity of a check, according to OSSF Scorecard. (https://github.com/ossf/scorecard?tab=readme-ov-file#scorecard-checks)
      enum:
        - Critical
        - High
        - Medium
        - Low
        - Unknown
    OssfScorecardCheck:
      type: object
      description: An OSSF Scorecard check.
      properties:
        name:
          type: string
          description: The name of the check.
        score:
          type: number
          format: float
          description: The score of the check.
        reason:
          type: string
          description: The reason for the score.
        details:
          type: array
          items:
            type: string
            description: The details of the check.
        documentation:
          $ref: '#/components/schemas/OssfScorecardDocumentation'
        severity:
          $ref: '#/components/schemas/OssfScorecardSeverity'
      required:
        - name
        - score
        - reason
        - details
        - documentation
        - severity
    OssfScorecard:
      type: object
      description: OSSF Scorecard information for a repository.
      properties:
        score:
          type: number
          format: float
          description: The overall OSSF Scorecard score.
        date:
          type: string
          description: The date of the scorecard.
        checks:
          type: array
          description: The list of OSSF Scorecard checks.
          items:
            $ref: '#/components/schemas/OssfScorecardCheck'
        failingCheckCount:
          type: integer
          format: int32
          description: The number of failing checks.
        passingCheckCount:
          type: integer
          format: int32
          description: The number of passing checks.
      required:
        - score
        - checks
        - date
        - failingCheckCount
        - passingCheckCount
    OssfScorecardResponse:
      type: object
      description: Response body to fetch OSSF Scorecard information.
      properties:
        data:
          $ref: '#/components/schemas/OssfScorecard'
      required:
        - data
    PatternOverview:
      type: object
      required:
        - patternId
        - count
      properties:
        patternId:
          type: string
          description: Identifier for the AI usage pattern (e.g. `ai_dependency`, `ai_model_usage`, `ai_env_endpoint`, `ai_key`)
          example: ai_dependency
        count:
          type: integer
          format: int32
          description: Number of inventory entries matching this pattern
          example: 5
    ProviderOverview:
      type: object
      required:
        - provider
        - itemsCount
        - repositoriesCount
        - patterns
      properties:
        provider:
          type: string
          description: Normalized provider slug (e.g. `anthropic`, `openai`). `unknown` for entries without a recognized provider
          example: openai
        itemsCount:
          type: integer
          format: int32
          description: Total number of inventory entries for this provider
          example: 12
        repositoriesCount:
          type: integer
          format: int32
          description: Number of distinct repositories with findings for this provider
          example: 3
        patterns:
          type: array
          items:
            $ref: '#/components/schemas/PatternOverview'
          description: Per-pattern breakdown, sorted by count descending
    AiInventoryOverview:
      type: object
      required:
        - totalProviders
        - providers
      properties:
        totalProviders:
          type: integer
          format: int32
          description: Total number of distinct providers detected
          example: 3
        providers:
          type: array
          items:
            $ref: '#/components/schemas/ProviderOverview'
          description: Per-provider overview, sorted by itemsCount descending
    AiInventoryOverviewResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/AiInventoryOverview'
    SearchAiInventoryResources:
      type: object
      description: Request body to filter AI inventory resources
      properties:
        segments:
          type: array
          description: Segment IDs to filter by
          items:
            type: integer
            format: int64
          example:
            - 1
            - 2
            - 3
        repositories:
          type: array
          description: Repository names to filter by
          items:
            type: string
        vendors:
          type: array
          description: AI vendor slugs to filter by (e.g. `openai`, `anthropic`)
          items:
            type: string
        patternId:
          type: array
          description: |
            AI usage pattern identifiers to filter by (e.g. `ai_dependency`, `ai_model_usage`, `ai_env_endpoint`, `ai_key`) A.K.A resource type
          items:
            type: string
    AiInventoryResourceIdentity:
      type: object
      description: Marker, pattern, and vendor identifying an AI inventory resource
      required:
        - marker
        - patternId
        - vendor
      properties:
        marker:
          type: string
          description: Marker identifying the AI resource (e.g. model id, package name)
          example: gpt-4o-2024-05-13
        patternId:
          type: string
          description: Identifier for the AI usage pattern (e.g. `ai_dependency`, `ai_model_usage`, `ai_env_endpoint`, `ai_key`). A.K.A resource type.
          example: ai_model_usage
        vendor:
          type: string
          description: AI vendor slug
          example: openai
    AiInventoryResourceItem:
      allOf:
        - $ref: '#/components/schemas/AiInventoryResourceIdentity'
        - type: object
          required:
            - repositoriesCount
            - referencesCount
          properties:
            repositoriesCount:
              type: integer
              format: int32
              description: Number of distinct repositories containing this resource
              example: 3
            referencesCount:
              type: integer
              format: int32
              description: Total number of reference entries for this resource
              example: 11
    AiInventoryResourcesResponse:
      type: object
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AiInventoryResourceItem'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    AiRepositorySummary:
      type: object
      required:
        - name
        - owner
      properties:
        repositoryId:
          type: integer
          description: Codacy identifier for this repository.
          format: int64
          example: 45738
        name:
          type: string
          description: Name of the repository
          example: my-service
        owner:
          type: string
          description: Owner of the repository
          example: codacy
    AiRiskRepositoriesResponse:
      type: object
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AiRepositorySummary'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
      description: List of repositories that have AI inventory resources.
    SearchAiRiskRepositories:
      type: object
      description: Request body to filter AI risk repositories
      properties:
        segments:
          type: array
          description: Segment IDs to filter by
          items:
            type: integer
            format: int64
          example:
            - 1
            - 2
            - 3
    SearchAiInventoryResourceRepositories:
      description: |
        Required filters identifying the inventory resource when listing repositories.
        Values must correspond to a resource from the organization inventory
      allOf:
        - $ref: '#/components/schemas/AiInventoryResourceIdentity'
        - type: object
          properties:
            segments:
              type: array
              description: Segment IDs to filter by
              items:
                type: integer
                format: int64
              example:
                - 1
                - 2
                - 3
            repositories:
              type: array
              description: Repository names to filter by
              items:
                type: string
            vendors:
              type: array
              description: AI vendor slugs to filter by (e.g. `openai`, `anthropic`)
              items:
                type: string
            patternIds:
              type: array
              description: |
                AI usage pattern identifiers to filter by (e.g. `ai_dependency`, `ai_model_usage`, `ai_env_endpoint`, `ai_key`).
                Distinct from required `patternId` on the resource identity
              items:
                type: string
    AiInventoryRepository:
      type: object
      required:
        - repositoryName
        - filesCount
        - referencesCount
      properties:
        repositoryName:
          type: string
          description: Name of the repository
          example: my-service
        filesCount:
          type: integer
          format: int32
          description: Number of distinct files in this repository containing the resource
          example: 11
        referencesCount:
          type: integer
          format: int32
          description: Total number of reference entries in this repository for the resource
          example: 5
    AiInventoryRepositoriesResponse:
      type: object
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AiInventoryRepository'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
    SearchAiInventoryFiles:
      description: Request body to filter AI inventory files
      allOf:
        - $ref: '#/components/schemas/AiInventoryResourceIdentity'
    AiInventoryFileReference:
      type: object
      required:
        - filePath
        - lineNumbers
      properties:
        filePath:
          type: string
          description: Relative path of the file within the repository
          example: src/ai/client.py
        lineNumbers:
          type: array
          items:
            type: integer
            format: int32
          description: Line numbers where the resource is referenced
          example:
            - 14
            - 27
            - 85
    AiInventoryFilesResponse:
      type: object
      required:
        - data
        - pagination
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AiInventoryFileReference'
        pagination:
          $ref: '#/components/schemas/PaginationInfo'
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
      x-ms-error-response: true
    UnprocessableEntity:
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnprocessableEntity'
      x-ms-error-response: true
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
      x-ms-error-response: true
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
      x-ms-error-response: true
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
      x-ms-error-response: true
    BadGateway:
      description: Bad Gateway
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadGateway'
      x-ms-error-response: true
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Conflict'
      x-ms-error-response: true
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Forbidden'
      x-ms-error-response: true
    MethodNotAllowed:
      description: Method Not Allowed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MethodNotAllowed'
      x-ms-error-response: true
    PaymentRequired:
      description: PaymentRequired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PaymentRequired'
      x-ms-error-response: true
    NotImplemented:
      description: Not Implemented
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotImplemented'
      x-ms-error-response: true
    PayloadTooLarge:
      description: Content too large
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayloadTooLarge'
      x-ms-error-response: true
    TooManyRequests:
      description: Too Many Requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TooManyRequests'
      x-ms-error-response: true
  parameters:
    providerParam:
      name: provider
      in: path
      description: Git provider identifier (e.g., gh for GitHub, gl for GitLab, bb for Bitbucket)
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: gh
      x-ms-parameter-location: method
    remoteOrganizationNameParam:
      name: remoteOrganizationName
      in: path
      description: Organization name on the Git provider
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: codacy
      x-ms-parameter-location: method
    cursorParam:
      name: cursor
      in: query
      description: Cursor to [specify a batch of results to request](https://docs.codacy.com/codacy-api/using-the-codacy-api/#using-pagination)
      schema:
        type: string
        x-ms-parameter-location: method
      example: Yms345gh==
      x-ms-parameter-location: method
    limitParam:
      name: limit
      in: query
      description: Maximum number of items to return
      schema:
        maximum: 100
        minimum: 1
        type: integer
        format: int32
        default: 100
        x-ms-parameter-location: method
      example: 20
      x-ms-parameter-location: method
    searchParam:
      name: search
      in: query
      description: Filter results by searching for this string
      schema:
        type: string
        x-ms-parameter-location: method
      example: my-repository-name
      x-ms-parameter-location: method
    repositoriesParam:
      name: repositories
      in: query
      description: '**Deprecated:** Use [searchOrganizationRepositoriesWithAnalysis](#searchorganizationrepositorieswithanalysis) instead.'
      deprecated: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: codacy-eslint,codacy-pmd
      x-ms-parameter-location: method
    segmentsParam:
      name: segments
      in: query
      description: Filter by a comma-separated list of segment identifiers
      schema:
        type: string
        x-ms-parameter-location: method
      example: 1,2,3
      x-ms-parameter-location: method
    repositoryNameParam:
      name: repositoryName
      in: path
      description: Repository name on the Git provider organization
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: awesome-repo
      x-ms-parameter-location: method
    branchNameParam:
      name: branch
      in: query
      description: |
        Name of a [repository branch enabled on Codacy](https://docs.codacy.com/repositories-configure/managing-branches/),
        as returned by the endpoint [listRepositoryBranches](#listrepositorybranches).
        By default, uses the main branch defined on the Codacy repository settings.
      schema:
        type: string
        x-ms-parameter-location: method
      example: master
      x-ms-parameter-location: method
    toolUuidParam:
      name: toolUuid
      in: path
      description: Unique identifier (UUID) for the tool
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 847feb32-9ff2-11ea-bb37-0242ac130002
      x-ms-parameter-location: method
    languagesFilterParam:
      name: languages
      in: query
      description: Comma-separated list of programming languages to filter results by
      schema:
        type: string
        x-ms-parameter-location: method
      example: Scala,Java,Javascript
      x-ms-parameter-location: method
    categoriesParam:
      name: categories
      in: query
      description: |
        Filter by a comma-separated list of code pattern categories. Valid values are `Security`, `ErrorProne`, `CodeStyle`, `Compatibility`, `UnusedCode`, `Complexity`, `Comprehensibility`, `Documentation`, `BestPractice`, and `Performance`.
      schema:
        type: string
        x-ms-parameter-location: method
      example: Security,ErrorProne
      x-ms-parameter-location: method
    severityLevelsParam:
      name: severityLevels
      in: query
      description: Filter by a comma-separated list of code pattern severity levels. Valid values are `Error`, `High`, `Warning`, and `Info`.
      schema:
        type: string
        x-ms-parameter-location: method
      example: Error,Warning
      x-ms-parameter-location: method
    tagsParam:
      name: tags
      in: query
      description: Filter by a comma-separated list of pattern tags
      schema:
        type: string
        x-ms-parameter-location: method
      example: React,Angular
      x-ms-parameter-location: method
    enabledPatternParam:
      name: enabled
      in: query
      description: Filter by pattern status. Set to `true` to return only enabled patterns, or `false` to return only disabled patterns
      schema:
        type: boolean
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    recommendedPatternParam:
      name: recommended
      in: query
      description: Filter by recommended status. Set to `true` to return only recommended patterns, or `false` to return only non-recommended patterns
      schema:
        type: boolean
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    patternsSortParam:
      name: sort
      in: query
      description: Field used to sort the tool's code patterns. Valid values are `category`, `recommended`, and `severity`.
      schema:
        type: string
        x-ms-parameter-location: method
      example: category
      x-ms-parameter-location: method
    directionParam:
      name: direction
      in: query
      description: Sort direction. Possible values are 'asc' (ascending) or 'desc' (descending).
      schema:
        type: string
        x-ms-parameter-location: method
      example: desc
      x-ms-parameter-location: method
    patternIdParam:
      name: patternId
      in: path
      description: Pattern identifier
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: ScalaStyle_BlockImportChecker
      x-ms-parameter-location: method
    pullRequestNumberParam:
      name: pullRequestNumber
      in: path
      description: Pull request number
      required: true
      schema:
        type: integer
        format: int32
        x-ms-parameter-location: method
      example: 738490
      x-ms-parameter-location: method
    issueStatusParam:
      name: status
      in: query
      description: Filter issues by status. Valid values are `all`, `new`, or `fixed`.
      schema:
        type: string
        enum:
          - all
          - new
          - fixed
        x-ms-parameter-location: method
        x-ms-enum:
          name: IssueStatus
      example: all
      x-ms-parameter-location: method
      x-ms-enum:
        name: IssueStatus
    onlyPotentialParam:
      name: onlyPotential
      in: query
      description: Set to `true` to return only potential issues
      schema:
        type: boolean
        x-ms-parameter-location: method
      example: 'true'
      x-ms-parameter-location: method
    commitUuidParam:
      name: commitUuid
      in: path
      description: UUID or SHA identifier of the source commit
      required: true
      schema:
        type: string
    commitUuid:
      name: commitUuid
      in: path
      description: UUID or SHA string that identifies the commit
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 2957025d42e8daadf937d4044516f991d21deea4
      x-ms-parameter-location: method
    filesSearchFilter:
      name: search
      in: query
      description: Filter files that include this string anywhere in their relative path
      schema:
        type: string
        x-ms-parameter-location: method
      example: file.js
      x-ms-parameter-location: method
    daysParam:
      name: days
      in: query
      description: Number of days of data to return (1-365, defaults to 31)
      schema:
        maximum: 365
        minimum: 1
        type: integer
        format: int32
        default: 31
        x-ms-parameter-location: method
      example: 31
      x-ms-parameter-location: method
    resultDataIdParam:
      name: issueId
      in: path
      description: Identifier of an open issue
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    issueParam:
      name: issueId
      in: path
      description: Issue identifier
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    installationIdParam:
      name: installationId
      in: path
      description: Identifier of the Codacy installation
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: '123412645234'
      x-ms-parameter-location: method
    paymentPlanCodeParam:
      name: paymentPlanCode
      in: query
      description: Payment plan code (available codes can be retrieved using [listPaymentPlans](#listpaymentplans))
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
        example: standard-team
      x-ms-parameter-location: method
    repositoryFilterParam:
      name: filter
      in: query
      description: Filter for which repositories to return. Use `Synced` for repositories the user has access to, `NotSynced` for repositories fetched from the provider, or `AllSynced` for all organization repositories (requires admin access)
      schema:
        $ref: '#/components/schemas/RepositoryFilter'
      example: Synced
      x-ms-parameter-location: method
      x-ms-enum:
        name: RepositoryFilter
    onlyMembersParam:
      name: onlyMembers
      in: query
      description: If true, returns only Codacy users. If false, returns also commit authors that are not Codacy users.
      schema:
        type: boolean
        default: false
        x-ms-parameter-location: method
      example: true
      x-ms-parameter-location: method
    branchStatusParam:
      name: enabled
      in: query
      description: Filter by branch status. Set to `true` to return only enabled branches, or `false` to return only disabled branches
      schema:
        type: boolean
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    branchesSortParam:
      name: sort
      in: query
      description: Field used to sort the list of branches. The allowed values are 'name' and 'last-updated'.
      schema:
        type: string
        x-ms-parameter-location: method
      example: category
      x-ms-parameter-location: method
    branchNamePathParam:
      name: branchName
      in: path
      description: Repository branch name
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: master
      x-ms-parameter-location: method
    accountIdentifierParam:
      name: accountIdentifier
      in: path
      description: Unique identifier for the account
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    tokenIdParam:
      name: tokenId
      in: path
      description: Unique identifier for the API token
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 30
      x-ms-parameter-location: method
    adminEntityGroupSlugParam:
      name: adminEntityGroupSlug
      in: path
      description: Admin entity group slug
      required: true
      schema:
        type: string
      example: repositories
      x-ms-parameter-location: method
    adminEntityIdentifierParam:
      name: adminEntityIdentifier
      in: path
      description: Admin entity identifier
      required: true
      schema:
        type: integer
        format: int64
      x-ms-parameter-location: method
      example: 1337
    adminResourceSlugParam:
      name: adminResourceSlug
      in: path
      description: Admin resource slug
      required: true
      schema:
        type: string
      x-ms-parameter-location: method
      example: members
    metricNameParam:
      name: metricName
      in: path
      description: Name of the metric to retrieve. Get all available metrics using [readyMetricsForOrganization](#readymetricsfororganization)
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: openissues
      x-ms-parameter-location: method
    enterpriseNameParam:
      name: enterpriseName
      in: path
      description: Enterprise name (slug)
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: my-enterprise
      x-ms-parameter-location: method
    filesSortParam:
      name: sort
      in: query
      description: Field used to sort the list of files. Valid values are `filename`, `issues`, `grade`, `duplication`, `complexity`, and `coverage`.
      schema:
        type: string
        x-ms-parameter-location: method
      example: category
      x-ms-parameter-location: method
    fileIdParam:
      name: fileId
      in: path
      description: Identifier of a file in a specific commit
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    sourceRepositoryParam:
      name: sourceRepository
      in: query
      description: Name of a repository in the same organization to use as a template when creating the new coding standard
      schema:
        type: string
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    sourceCodingStandardParam:
      name: sourceCodingStandard
      in: query
      description: |
        Identifier of an existing coding standard to use as a template when creating a new coding standard, including the enabled repositories and default coding standard status
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    codingStandardIdParam:
      name: codingStandardId
      in: path
      description: Coding standard identifier
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    gatePolicyId:
      name: gatePolicyId
      in: path
      description: Identifier of the gate policy
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    reportUuid:
      name: reportUuid
      in: path
      description: UUID string that identifies the coverage report
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 80f64371-e6bc-4d9b-b022-7c873cc5e39f
    filePathParam:
      name: filePath
      in: path
      description: URL encoded path for a file from the root of the repository
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: src%2Fwhat%20ever%2Ffile.txt
      x-ms-parameter-location: method
    startLineParam:
      name: startLine
      in: query
      description: Line number where the code block starts
      schema:
        type: integer
        format: int32
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    endLineParam:
      name: endLine
      in: query
      description: Line number where the code block ends
      schema:
        type: integer
        format: int32
        x-ms-parameter-location: method
      example: 10
      x-ms-parameter-location: method
    commitRefParam:
      in: query
      name: commitRef
      description: A reference to a commit (branch name, tag, or commit hash). Defaults to HEAD which represents the head of the default branch.
      required: false
      schema:
        type: string
        x-ms-parameter-location: method
        default: HEAD
      example: main
      x-ms-parameter-location: method
    srmStatusParam:
      name: status
      in: query
      description: Security issue status to filter by. See [SrmStatus](#tocssrmstatus) for valid values.
      style: form
      explode: true
      schema:
        type: array
        items:
          type: string
          enum:
            - Overdue
            - OnTrack
            - DueSoon
            - ClosedOnTime
            - ClosedLate
            - Ignored
        x-ms-parameter-location: method
      example: status=Overdue&status=OnTrack
      x-ms-parameter-location: method
    srmPriorityParam:
      name: priority
      in: query
      description: Security issue priorities to filter by. See [SrmPriority](#tocssrmpriority) for valid values.
      style: form
      explode: true
      schema:
        type: array
        items:
          type: string
          enum:
            - Low
            - Medium
            - High
            - Critical
        x-ms-parameter-location: method
      example: priority=Critical&priority=High
      x-ms-parameter-location: method
    srmSecurityCategoryParam:
      name: category
      in: query
      description: Security categories to filter by. Use `_other_` to search for issues that don't have a security category.
      style: form
      explode: true
      schema:
        type: array
        items:
          type: string
        x-ms-parameter-location: method
      example: category=Cryptography&category=OutdatedDependencies
      x-ms-parameter-location: method
    srmScanTypeParam:
      name: scanType
      in: query
      description: Security scan type to filter by
      style: form
      explode: true
      schema:
        type: array
        items:
          type: string
        x-ms-parameter-location: method
      example: scanType=DAST&scanType=CICD
      x-ms-parameter-location: method
    srmItemIdParam:
      name: srmItemId
      in: path
      description: Identifier of the security and risk management item
      required: true
      schema:
        type: string
        format: uuid
        x-ms-parameter-location: method
      example: 80f64371-e6bc-4d9b-b022-7c873cc5e39f
      x-ms-parameter-location: method
    srmItemsSortByParam:
      name: sort
      in: query
      description: Field to sort SRM items by
      schema:
        type: string
        enum:
          - Status
          - DetectedAt
        x-ms-parameter-location: method
      example: Status
      x-ms-parameter-location: method
    userId:
      name: userId
      in: path
      description: Identifier of the organization member
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1
      x-ms-parameter-location: method
    imageNameParam:
      name: imageName
      in: path
      description: Image name of the SBOM Image
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    imageTagParam:
      name: tag
      in: path
      description: Image Tag of the SBOM Image
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      x-ms-parameter-location: method
    elementTypeParam:
      name: elementType
      in: query
      description: Type of Codacy element to filter by
      required: true
      schema:
        type: string
        enum:
          - issue
          - finding
          - file
          - dependency
        x-ms-parameter-location: method
        x-ms-enum:
          name: ElementType
      example: issue
      x-ms-parameter-location: method
      x-ms-enum:
        name: ElementType
    elementIdParam:
      name: elementId
      in: query
      description: Unique identifier of the Codacy element
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: '12345678'
      x-ms-parameter-location: method
    jiraTicketIdentifierParam:
      name: jiraTicketIdentifier
      in: path
      description: Unique identifier of the Jira ticket
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 12345678
      x-ms-parameter-location: method
    oauthCodeParam:
      name: oauthCode
      in: query
      description: The OAuth code to allow authentication as the user installing the Jira App.
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 6nGtF5eij1YuEqQXr7L9OxA0RLHZ21tEQNZq1DZJzuY
      x-ms-parameter-location: method
    jiraProjectIdParam:
      name: jiraProjectId
      in: path
      description: Identifier of a Jira project
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 123351656
      x-ms-parameter-location: method
    jiraIssueTypeIdParam:
      name: jiraIssueTypeId
      in: path
      description: Identifier of a Jira project issue type
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: '123351656'
      x-ms-parameter-location: method
    baseCommitUuid:
      name: baseCommitUuid
      in: path
      description: UUID or SHA string that identifies the base commit for a comparison
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 2957025d42e8daadf937d4044516f991d21deea4
      x-ms-parameter-location: method
    headCommitUuid:
      name: headCommitUuid
      in: path
      description: UUID or SHA string that identifies the head commit for a comparison
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: 2957025d42e8daadf937d4044516f991d21deea4
      x-ms-parameter-location: method
    commitId:
      name: commitId
      in: path
      description: Identifier of the commit
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: '123412645234'
      x-ms-parameter-location: method
    fromParam:
      name: from
      in: query
      description: Starting timestamp of audit logs in unix epoch milliseconds. Defaults to the earliest available time if not provided.
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1720446021296
      x-ms-parameter-location: method
    toParam:
      name: to
      in: query
      description: Ending timestamp of audit logs in unix epoch milliseconds. Defaults to the current time if not provided.
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 1726233785428
      x-ms-parameter-location: method
    segmentKeyPathParam:
      name: segmentKey
      in: path
      description: Unique key identifier for the segment
      required: true
      schema:
        type: string
        x-ms-parameter-location: method
      example: my-group
      x-ms-parameter-location: method
    dastTargetIdParam:
      name: dastTargetId
      in: path
      description: Identifier of a DAST analysis target
      required: true
      schema:
        type: integer
        format: int64
        x-ms-parameter-location: method
      example: 123351656
      x-ms-parameter-location: method
  requestBodies:
    searchIssuesFilter:
      description: Only return issues matching these filters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SearchRepositoryIssuesBody'
      required: false
    emailParam:
      description: Email
      content:
        application/json:
          schema:
            type: string
      required: true
    updateEmailSettingsRequest:
      description: Email notification preferences to update
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EmailNotificationSettingsOptional'
      required: true
    churnFeedbackParam:
      description: Reasons
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ChurnFeedback'
      required: false
    billingDetailsUpdateRequest:
      description: New billing information
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BillingDetailsUpdate'
      required: true
    cardCreationRequest:
      description: Request to add a card to the organization
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CardCreation'
      required: true
    changePlanRequest:
      description: Request to change the payment plan of an organization
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ChangePlan'
      required: true
    emailListParam:
      description: List of emails
      content:
        application/json:
          schema:
            type: array
            items:
              type: string
      required: true
    toolConfigurationParam:
      description: Configuration of a tool and its code patterns
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ToolConfiguration'
      required: true
    ossfScorecardRequest:
      description: Request body for OSSF Scorecard analysis
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OssfScorecardUrlRequest'
      required: true
