> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar detecciones de calidad del código

> Obtiene las detecciones de calidad del código por separado de las detecciones de seguridad. Los valores de clasificación son etiquetas de calidad del código, como Maintainability, en lugar de CWE. De forma predeterminada, los resultados se ordenan por fecha de creación, del más reciente al más antiguo, con el ID de la detección como desempate para una paginación estable. Si no se proporciona un ID de escaneo, se prefiere el escaneo procesado más reciente que coincida, cubra todo el proyecto y no pertenezca a un PR. Si no existe, se usa el escaneo más reciente que coincida. Un filtro scan_type explícito en /detections o /detections/code-quality selecciona el escaneo más reciente de ese tipo.

También disponible en `/api/v1/issues/code-quality`, el nombre anterior de este endpoint, que sigue siendo compatible con los mismos parámetros y la misma respuesta.



## OpenAPI

````yaml /es/api-reference/openapi.json get /detections/code-quality
openapi: 3.0.0
info:
  title: API de Corgea
  version: 1.0.0
  description: >-
    API para interactuar con las funciones de escaneo y gestión de
    vulnerabilidades de Corgea
servers:
  - url: https://www.corgea.app/api/v1
    description: Servidor de producción
  - url: https://eu.corgea.app/api/v1
    description: Servidor de producción de la UE
security:
  - CorgeaToken: []
  - BearerAuth: []
paths:
  /detections/code-quality:
    get:
      tags:
        - Detecciones
      summary: Listar detecciones de calidad del código
      description: >-
        Obtiene las detecciones de calidad del código por separado de las
        detecciones de seguridad. Los valores de clasificación son etiquetas de
        calidad del código, como Maintainability, en lugar de CWE. De forma
        predeterminada, los resultados se ordenan por fecha de creación, del más
        reciente al más antiguo, con el ID de la detección como desempate para
        una paginación estable. Si no se proporciona un ID de escaneo, se
        prefiere el escaneo procesado más reciente que coincida, cubra todo el
        proyecto y no pertenezca a un PR. Si no existe, se usa el escaneo más
        reciente que coincida. Un filtro scan_type explícito en /detections o
        /detections/code-quality selecciona el escaneo más reciente de ese tipo.


        También disponible en `/api/v1/issues/code-quality`, el nombre anterior
        de este endpoint, que sigue siendo compatible con los mismos parámetros
        y la misma respuesta.
      operationId: listCodeQualityIssues
      parameters:
        - name: project
          in: query
          schema:
            type: string
          description: Filtra los hallazgos por nombre de proyecto
        - name: repo
          in: query
          schema:
            type: string
          description: Filtra los hallazgos por URL del repositorio
        - name: branch
          in: query
          schema:
            type: string
          description: Filtra los hallazgos por nombre de rama
        - name: classification
          in: query
          schema:
            type: string
          description: >-
            Filtra por etiqueta de clasificación de calidad del código
            (coincidencia parcial)
          example: Maintainability
        - name: page
          in: query
          schema:
            type: integer
            default: 1
        - name: page_size
          in: query
          schema:
            type: integer
            default: 20
            maximum: 50
      responses:
        '200':
          description: Hallazgos de calidad del código obtenidos correctamente
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  page:
                    type: integer
                  total_pages:
                    type: integer
                  total_issues:
                    type: integer
                  issues:
                    type: array
                    items:
                      $ref: '#/components/schemas/Issue'
components:
  schemas:
    Issue:
      type: object
      properties:
        finding_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            ID del finding del que esta incidencia es una detección: el mismo
            entre reescaneos. Null en una incidencia ingerida antes de que
            existieran los findings.
        id:
          type: string
          format: uuid
        classification:
          type: object
          nullable: true
          description: >-
            Si el CWE es desconocido o la clasificación es una etiqueta de texto
            libre, id y name contienen la etiqueta de clasificación original y
            description es null. Una clasificación vacía se devuelve como null.
          properties:
            id:
              type: string
              example: CWE-123
            name:
              type: string
              example: Vulnerability Name
            description:
              type: string
              nullable: true
        urgency:
          type: string
          enum:
            - CR
            - HI
            - ME
            - LO
          description: 'Código de urgencia: CR (crítica), HI (alta), ME (media) o LO (baja).'
        created_at:
          type: string
          format: date-time
        first_detection_date:
          type: string
          format: date-time
          description: >-
            Fecha en que Corgea detectó este hallazgo por primera vez, entre
            todos los escaneos en los que apareció. Coincide con created_at
            cuando esta es la primera detección.
        status:
          type: string
          nullable: true
          enum:
            - open
            - fix_in_progress
            - fixed
            - false_positive
            - accepted_risk
            - duplicate
        sla_status:
          type: string
          nullable: true
          enum:
            - overdue
            - escalated
          description: >-
            Estado de incumplimiento del SLA. null cuando el hallazgo no está
            vencido ni escalado.
        location:
          $ref: '#/components/schemas/IssueLocation'
        auto_triage:
          $ref: '#/components/schemas/AutoTriage'
        auto_fix_suggestion:
          $ref: '#/components/schemas/AutoFixSuggestion'
        assigned_to:
          $ref: '#/components/schemas/AssignedTo'
        reachability:
          $ref: '#/components/schemas/IssueReachabilitySummary'
    IssueLocation:
      type: object
      properties:
        file:
          type: object
          properties:
            name:
              type: string
            language:
              type: string
            path:
              type: string
            git_hash:
              type: string
              nullable: true
              description: >-
                Hash de Git registrado para el archivo escaneado. Solo lo
                devuelven los endpoints que listan hallazgos.
        project:
          type: object
          properties:
            name:
              type: string
            branch:
              type: string
            git_sha:
              type: string
        line_number:
          type: integer
        sink_line_number:
          type: integer
          nullable: true
          description: >-
            Línea del sumidero (sink) del flujo de datos cuando está en este
            archivo; en caso contrario, null. Solo se devuelve al obtener un
            hallazgo individual.
    AutoTriage:
      type: object
      properties:
        false_positive_detection:
          type: object
          properties:
            status:
              type: string
              enum:
                - valid
                - false_positive
                - pending
            reasoning:
              description: >-
                Motivo de la clasificación como falso positivo cuando está
                disponible, incluso si no se generó ninguna corrección.
              type: string
              nullable: true
    AutoFixSuggestion:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - fix_available
            - no_fix
            - generating
            - false_positive
            - on_hold
            - unsupported
            - plan
          description: >-
            Disponibilidad actual de la corrección. Consultar un hallazgo inicia
            de forma predeterminada la generación en segundo plano de una
            corrección que falte y cumpla los requisitos. Mientras esa
            generación está pendiente, el estado es generating; vuelve a
            consultar el hallazgo hasta que finalice. Si la generación está
            desactivada o no se produce ninguna corrección, el estado es no_fix.
        patch:
          type: object
          properties:
            diff:
              type: string
              description: >-
                Parche en formato diff unificado. Devuelve una cadena vacía
                cuando la corrección no tiene diff.
            explanation:
              type: string
              description: Explicación de cómo la corrección resuelve la vulnerabilidad
            full_code:
              type: string
              description: >-
                Código fuente completo del archivo con la corrección aplicada.
                Solo se devuelve cuando show_full_code es true y existe una
                corrección.
    AssignedTo:
      type: object
      nullable: true
      description: >-
        Usuario asignado al hallazgo, o null cuando el hallazgo no está
        asignado.
      properties:
        id:
          type: string
          description: ID del usuario asignado.
        email:
          type: string
          format: email
          description: Dirección de correo electrónico del usuario asignado.
        name:
          type: string
          nullable: true
          description: >-
            Nombre para mostrar del usuario asignado, o null si no está
            disponible.
    IssueReachabilitySummary:
      type: object
      description: >-
        Resumen de alcanzabilidad de endpoints que se devuelve cuando
        include_reachability es true.
      properties:
        is_reachable:
          type: boolean
        endpoint_count:
          type: integer
  securitySchemes:
    CorgeaToken:
      type: apiKey
      in: header
      name: CORGEA-TOKEN
      description: >-
        Clave de API para la autenticación Se rechazan los tokens de API de
        usuarios inactivos.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Token de acceso OAuth2 (JWT) en el encabezado Authorization

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.