> ## 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 findings

> Una fila por finding: una vulnerabilidad en un proyecto a lo largo de todos los escaneos que la detectaron, con su estado de triaje y su detección más reciente. De más reciente a más antiguo según su primera detección; el id resuelve los empates para que la paginación sea estable. Devuelve 404 hasta que el índice de findings de la cuenta esté completo.



## OpenAPI

````yaml /es/api-reference/openapi.json get /findings
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:
  /findings:
    get:
      tags:
        - Findings
      summary: Listar findings
      description: >-
        Una fila por finding: una vulnerabilidad en un proyecto a lo largo de
        todos los escaneos que la detectaron, con su estado de triaje y su
        detección más reciente. De más reciente a más antiguo según su primera
        detección; el id resuelve los empates para que la paginación sea
        estable. Devuelve 404 hasta que el índice de findings de la cuenta esté
        completo.
      operationId: listFindings
      parameters:
        - name: issue_type
          in: query
          required: false
          schema:
            type: string
            example: sast,dependency
          description: >-
            Familias separadas por comas. Por defecto: todas las familias de
            seguridad que el token puede ver (todas menos code_quality). Indicar
            una familia que el token no puede ver devuelve 403.
        - name: status
          in: query
          required: false
          schema:
            type: string
            example: open,fix_in_progress
          description: Estados separados por comas.
        - name: urgency
          in: query
          required: false
          schema:
            type: string
            example: CR,HI
          description: Urgencias separadas por comas.
        - name: project_id
          in: query
          required: false
          schema:
            type: string
            example: 12,15
          description: Ids de proyecto separados por comas.
        - name: project
          in: query
          required: false
          schema:
            type: string
          description: Un nombre de proyecto.
        - name: repo
          in: query
          required: false
          schema:
            type: string
          description: Subcadena de la URL del repositorio.
        - name: cwe
          in: query
          required: false
          schema:
            type: string
            example: CWE-79,CWE-89
          description: Identificadores CWE separados por comas, como CWE-79 o 79.
        - name: detection_state
          in: query
          required: false
          schema:
            type: string
            enum:
              - active
              - retired
              - all
            default: active
          description: >-
            active: el finding tiene una detección en su proyecto (por defecto).
            retired: su última detección se eliminó junto con su escaneo o su
            proyecto. all: ambos.
        - name: status_changed_since
          in: query
          required: false
          schema:
            type: string
            example: '2026-10-01T00:00:00Z'
          description: >-
            Fecha y hora en ISO 8601, o una fecha que se interpreta como
            medianoche UTC. Findings cuyo triaje cambió después de ese instante;
            úsalo para la sincronización incremental.
        - name: created_since
          in: query
          required: false
          schema:
            type: string
            example: '2026-10-01T00:00:00Z'
          description: >-
            Fecha y hora en ISO 8601, o una fecha que se interpreta como
            medianoche UTC. Findings detectados por primera vez después de ese
            instante.
        - name: assigned_to
          in: query
          required: false
          schema:
            type: integer
          description: Un id de usuario.
        - name: sort_by
          in: query
          required: false
          schema:
            type: string
            enum:
              - '-created_at'
              - created_at
              - urgency
              - '-urgency'
              - status
              - '-status'
              - status_changed_at
              - '-status_changed_at'
            default: '-created_at'
          description: >-
            Orden de los resultados. created_at es el momento en que el finding
            se detectó por primera vez, el mismo que filtra created_since; no
            aparece en la respuesta y coincide con first_detection_date salvo
            que las detecciones más antiguas del finding se hayan eliminado con
            su escaneo. El id resuelve los empates.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
          description: Número de página de la paginación
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            default: 20
            maximum: 100
          description: Número de resultados por página
      responses:
        '200':
          description: Findings obtenidos correctamente
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  page:
                    type: integer
                  total_pages:
                    type: integer
                  total_findings:
                    type: integer
                  findings:
                    type: array
                    items:
                      $ref: '#/components/schemas/Finding'
        '400':
          description: Valor de parámetro no válido
        '403':
          description: >-
            El token no tiene permiso para ver una de las familias de findings
            solicitadas
        '404':
          description: El índice de findings de la cuenta aún no está completo
components:
  schemas:
    Finding:
      type: object
      description: >-
        Una vulnerabilidad en un proyecto a lo largo de todos los escaneos que
        la detectaron. Su id se mantiene estable entre reescaneos, ramas y
        migraciones de huellas digitales; el triaje vive aquí y se refleja en
        cada una de sus detecciones (incidencias).
      properties:
        id:
          type: string
          format: uuid
        issue_type:
          type: string
          enum:
            - sast
            - secret
            - logic_auth
            - code_quality
            - dependency
            - container
            - iac
        detection_state:
          type: string
          nullable: true
          enum:
            - active
            - retired
          description: >-
            active mientras el finding tiene una detección en su proyecto;
            retired cuando su última detección se eliminó junto con su escaneo o
            su proyecto. Un finding que un reescaneo ya no reporta sigue active
            con estado fixed. Null hasta que el índice de findings de la cuenta
            esté completo.
        status:
          type: string
          enum:
            - open
            - fix_in_progress
            - accepted_risk
            - false_positive
            - fixed
            - duplicate
        status_comment:
          type: string
          nullable: true
        status_changed_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Cuándo cambió el estado por última vez; fíltralo con
            status_changed_since.
        status_changed_by:
          allOf:
            - $ref: '#/components/schemas/AssignedTo'
          nullable: true
          description: Usuario que hizo el último cambio de estado, o null.
        accepted_risk_expiry_date:
          type: string
          format: date-time
          nullable: true
        assigned_to:
          $ref: '#/components/schemas/AssignedTo'
        due_date:
          type: string
          format: date-time
          nullable: true
        sla_status:
          type: string
          nullable: true
        urgency:
          type: string
          enum:
            - CR
            - HI
            - ME
            - LO
        classification:
          type: object
          nullable: true
          properties:
            id:
              type: string
              example: CWE-79
            name:
              type: string
            description:
              type: string
              nullable: true
        project:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
        first_detection_date:
          type: string
          format: date-time
          nullable: true
          description: created_at de la detección más antigua.
        last_detection_date:
          type: string
          format: date-time
          nullable: true
          description: created_at de la detección más reciente.
        detections_count:
          type: integer
          description: Cuántas detecciones tiene el finding entre todos los escaneos.
        latest_detection:
          allOf:
            - $ref: '#/components/schemas/FindingLatestDetection'
          nullable: true
          description: >-
            La detección más reciente del finding: su id es el que aceptan los
            endpoints de incidencias (issues), e incluye el localizador propio
            de la familia.
    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.
    FindingLatestDetection:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: >-
            ID de la detección (incidencia), para /issue/{issue_id} y
            /issues/sca/{issue_id}.
        scan_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Escaneo al que pertenece la detección; null en una detección SAST
            ingerida sin escaneo.
        branch:
          type: string
          nullable: true
        sha:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        file_path:
          type: string
          description: Solo findings SAST, de secretos, de lógica y de calidad de código.
        line_number:
          type: integer
          nullable: true
          description: Solo findings SAST, de secretos, de lógica y de calidad de código.
        path:
          type: string
          description: Solo findings de dependencias, contenedores e IaC.
        package:
          type: string
          description: Solo findings de dependencias y contenedores.
        version:
          type: string
          description: Solo findings de dependencias y contenedores.
        cve:
          type: string
          nullable: true
          description: Solo findings de dependencias y contenedores.
        rule_id:
          type: string
          description: Solo findings de IaC.
        start_line:
          type: integer
          nullable: true
          description: Solo findings de IaC.
        end_line:
          type: integer
          nullable: true
          description: Solo findings de IaC.
  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.