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

# Répertorier les findings

> Une ligne par finding : une vulnérabilité dans un projet, à travers tous les scans qui l’ont détectée, avec son état de triage et sa détection la plus récente. Du plus récent au plus ancien selon la première détection ; l’identifiant départage les égalités pour garantir une pagination stable. Renvoie 404 tant que l’index des findings du compte n’est pas complet.



## OpenAPI

````yaml /fr/api-reference/openapi.json get /findings
openapi: 3.0.0
info:
  title: API Corgea
  version: 1.0.0
  description: >-
    API permettant d’interagir avec les fonctionnalités d’analyse et de gestion
    des vulnérabilités de Corgea
servers:
  - url: https://www.corgea.app/api/v1
    description: Serveur de production
  - url: https://eu.corgea.app/api/v1
    description: Serveur de production UE
security:
  - CorgeaToken: []
  - BearerAuth: []
paths:
  /findings:
    get:
      tags:
        - Findings
      summary: Répertorier les findings
      description: >-
        Une ligne par finding : une vulnérabilité dans un projet, à travers tous
        les scans qui l’ont détectée, avec son état de triage et sa détection la
        plus récente. Du plus récent au plus ancien selon la première détection
        ; l’identifiant départage les égalités pour garantir une pagination
        stable. Renvoie 404 tant que l’index des findings du compte n’est pas
        complet.
      operationId: listFindings
      parameters:
        - name: issue_type
          in: query
          required: false
          schema:
            type: string
            example: sast,dependency
          description: >-
            Familles séparées par des virgules. Par défaut : toutes les familles
            de sécurité que le jeton peut consulter (toutes sauf code_quality).
            Demander une famille que le jeton ne peut pas consulter renvoie 403.
        - name: status
          in: query
          required: false
          schema:
            type: string
            example: open,fix_in_progress
          description: Statuts séparés par des virgules.
        - name: urgency
          in: query
          required: false
          schema:
            type: string
            example: CR,HI
          description: Niveaux d’urgence séparés par des virgules.
        - name: project_id
          in: query
          required: false
          schema:
            type: string
            example: 12,15
          description: Identifiants de projets séparés par des virgules.
        - name: project
          in: query
          required: false
          schema:
            type: string
          description: Un nom de projet.
        - name: repo
          in: query
          required: false
          schema:
            type: string
          description: Sous-chaîne de l’URL du dépôt.
        - name: cwe
          in: query
          required: false
          schema:
            type: string
            example: CWE-79,CWE-89
          description: >-
            Identifiants CWE séparés par des virgules, sous la forme CWE-79 ou
            79.
        - name: detection_state
          in: query
          required: false
          schema:
            type: string
            enum:
              - active
              - retired
              - all
            default: active
          description: >-
            active : le finding possède une détection dans son projet (par
            défaut). retired : sa dernière détection a été supprimée avec son
            scan ou son projet. all : les deux.
        - name: status_changed_since
          in: query
          required: false
          schema:
            type: string
            example: '2026-10-01T00:00:00Z'
          description: >-
            Date-heure ISO 8601, ou date interprétée comme minuit UTC. Findings
            dont le triage a changé après cet instant ; à utiliser pour une
            synchronisation incrémentale.
        - name: created_since
          in: query
          required: false
          schema:
            type: string
            example: '2026-10-01T00:00:00Z'
          description: >-
            Date-heure ISO 8601, ou date interprétée comme minuit UTC. Findings
            détectés pour la première fois après cet instant.
        - name: assigned_to
          in: query
          required: false
          schema:
            type: integer
          description: Un identifiant d’utilisateur.
        - 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: >-
            Ordre de tri. created_at est le moment où le finding a été détecté
            pour la première fois, celui que filtre created_since ; il ne figure
            pas dans la réponse et correspond à first_detection_date, sauf si
            les détections les plus anciennes du finding ont été supprimées avec
            leur scan. L’identifiant départage les égalités.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
          description: Le numéro de page pour la pagination
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            default: 20
            maximum: 100
          description: Le nombre de résultats par page
      responses:
        '200':
          description: Findings récupérés avec succès
          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: Valeur de paramètre invalide
        '403':
          description: Le jeton ne peut pas consulter une famille de findings demandée
        '404':
          description: L’index des findings du compte n’est pas encore complet
components:
  schemas:
    Finding:
      type: object
      description: >-
        Une vulnérabilité dans un projet, à travers tous les scans qui l’ont
        détectée. Son identifiant reste stable d’un scan à l’autre, entre
        branches et après les migrations d’empreintes ; le triage est porté ici
        et reflété sur chacune de ses détections (problèmes).
      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 tant que le finding possède une détection dans son projet ;
            retired une fois sa dernière détection supprimée avec son scan ou
            son projet. Un finding qu’un nouveau scan ne rapporte plus reste
            active avec le statut fixed. Null tant que l’index des findings du
            compte n’est pas complet.
        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: >-
            Date du dernier changement de statut ; filtrez dessus avec
            status_changed_since.
        status_changed_by:
          allOf:
            - $ref: '#/components/schemas/AssignedTo'
          nullable: true
          description: Utilisateur à l’origine du dernier changement de statut, ou 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 détection la plus ancienne.
        last_detection_date:
          type: string
          format: date-time
          nullable: true
          description: created_at de la détection la plus récente.
        detections_count:
          type: integer
          description: Nombre de détections du finding à travers les scans.
        latest_detection:
          allOf:
            - $ref: '#/components/schemas/FindingLatestDetection'
          nullable: true
          description: >-
            La détection la plus récente du finding : son identifiant est celui
            qu’acceptent les points de terminaison de problèmes, et elle porte
            le localisateur propre à sa famille.
    AssignedTo:
      type: object
      nullable: true
      description: >-
        Utilisateur affecté au problème, ou null lorsque le problème n'est pas
        attribué.
      properties:
        id:
          type: string
          description: ID de l’utilisateur assigné.
        email:
          type: string
          format: email
          description: Adresse e-mail de l’utilisateur assigné.
        name:
          type: string
          nullable: true
          description: >-
            Nom d’affichage de l’utilisateur assigné, ou null s’il est
            indisponible.
    FindingLatestDetection:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: >-
            Identifiant de la détection (problème), pour /issue/{issue_id} et
            /issues/sca/{issue_id}.
        scan_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Scan auquel appartient la détection ; null pour une détection SAST
            ingérée sans scan.
        branch:
          type: string
          nullable: true
        sha:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        file_path:
          type: string
          description: Findings SAST, secrets, logique et qualité de code uniquement.
        line_number:
          type: integer
          nullable: true
          description: Findings SAST, secrets, logique et qualité de code uniquement.
        path:
          type: string
          description: Findings de dépendances, de conteneurs et IaC uniquement.
        package:
          type: string
          description: Findings de dépendances et de conteneurs uniquement.
        version:
          type: string
          description: Findings de dépendances et de conteneurs uniquement.
        cve:
          type: string
          nullable: true
          description: Findings de dépendances et de conteneurs uniquement.
        rule_id:
          type: string
          description: Findings IaC uniquement.
        start_line:
          type: integer
          nullable: true
          description: Findings IaC uniquement.
        end_line:
          type: integer
          nullable: true
          description: Findings IaC uniquement.
  securitySchemes:
    CorgeaToken:
      type: apiKey
      in: header
      name: CORGEA-TOKEN
      description: >-
        Clé API pour l'authentification Les jetons API des utilisateurs inactifs
        sont refusés.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Jeton d’accès OAuth2 (JWT) dans l’en-tête Authorization

````

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