{
  "components": {
    "schemas": {
      "AlertListOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AlertOut"
            },
            "title": "Items",
            "type": "array"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          },
          "unread_count": {
            "title": "Unread Count",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "unread_count"
        ],
        "title": "AlertListOut",
        "type": "object"
      },
      "AlertOut": {
        "properties": {
          "aliases": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Aliases",
            "type": "array"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "fusion_de": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Fusion De",
            "type": "array"
          },
          "has_poc": {
            "title": "Has Poc",
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "is_kev": {
            "title": "Is Kev",
            "type": "boolean"
          },
          "is_read": {
            "title": "Is Read",
            "type": "boolean"
          },
          "palier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Palier"
          },
          "product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "tags": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/TagBrief"
            },
            "title": "Tags",
            "type": "array"
          },
          "triggered_at": {
            "format": "date-time",
            "title": "Triggered At",
            "type": "string"
          },
          "vendor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vendor"
          }
        },
        "required": [
          "id",
          "cve_id",
          "triggered_at",
          "is_read",
          "severity",
          "description",
          "vendor",
          "product",
          "cvss_score",
          "is_kev",
          "has_poc"
        ],
        "title": "AlertOut",
        "type": "object"
      },
      "ArticleListOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ArticleOut"
            },
            "title": "Items",
            "type": "array"
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "page_size": {
            "title": "Page Size",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "page",
          "page_size"
        ],
        "title": "ArticleListOut",
        "type": "object"
      },
      "ArticleOut": {
        "properties": {
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Author"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url"
          },
          "published_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Published At"
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "published_at",
          "source",
          "author",
          "url",
          "image_url"
        ],
        "title": "ArticleOut",
        "type": "object"
      },
      "CaseDetailOut": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "exception": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CaseExceptionOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "history": {
            "items": {
              "$ref": "#/components/schemas/CaseHistoryOut"
            },
            "title": "History",
            "type": "array"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "tags": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/TagBrief"
            },
            "title": "Tags",
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "cve_id",
          "status",
          "severity",
          "notes",
          "created_at",
          "updated_at",
          "history"
        ],
        "title": "CaseDetailOut",
        "type": "object"
      },
      "CaseExceptionOut": {
        "description": "Exception en cours : « Atténuée » (MITIGATED), ou « Risque accepté »\nposé hors registre. `expires_on` : dernier jour de validité (Paris) ; le\nlendemain, le dossier se rouvre seul.",
        "properties": {
          "expires_on": {
            "format": "date",
            "title": "Expires On",
            "type": "string"
          },
          "justification": {
            "title": "Justification",
            "type": "string"
          },
          "measure": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Measure"
          },
          "nature": {
            "title": "Nature",
            "type": "string"
          },
          "set_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Set At"
          }
        },
        "required": [
          "nature",
          "measure",
          "justification",
          "expires_on",
          "set_at"
        ],
        "title": "CaseExceptionOut",
        "type": "object"
      },
      "CaseHistoryOut": {
        "properties": {
          "comment": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Comment"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "from_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "From Status"
          },
          "to_status": {
            "title": "To Status",
            "type": "string"
          }
        },
        "required": [
          "from_status",
          "to_status",
          "comment",
          "created_at"
        ],
        "title": "CaseHistoryOut",
        "type": "object"
      },
      "CaseOut": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "exception": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CaseExceptionOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "tags": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/TagBrief"
            },
            "title": "Tags",
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "cve_id",
          "status",
          "severity",
          "notes",
          "created_at",
          "updated_at"
        ],
        "title": "CaseOut",
        "type": "object"
      },
      "CveAffectedOut": {
        "properties": {
          "cpe": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cpe"
          },
          "product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product"
          },
          "vendor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vendor"
          },
          "version_from": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version From"
          },
          "version_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version Status"
          },
          "version_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version To"
          }
        },
        "required": [
          "vendor",
          "product",
          "version_from",
          "version_to",
          "version_status",
          "cpe"
        ],
        "title": "CveAffectedOut",
        "type": "object"
      },
      "CveDetailOut": {
        "properties": {
          "affected": {
            "items": {
              "$ref": "#/components/schemas/CveAffectedOut"
            },
            "title": "Affected",
            "type": "array"
          },
          "aliases": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Aliases",
            "type": "array"
          },
          "contournement_disponible": {
            "default": false,
            "title": "Contournement Disponible",
            "type": "boolean"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "cvss_vector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Vector"
          },
          "cwe_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cwe Ids"
          },
          "date_published": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Published"
          },
          "date_updated": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Updated"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "epss_percentile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Percentile"
          },
          "epss_publie": {
            "description": "False tant que FIRST n'a pas publié de score (NULL, jamais 0).",
            "readOnly": true,
            "title": "Epss Publie",
            "type": "boolean"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "has_poc": {
            "title": "Has Poc",
            "type": "boolean"
          },
          "is_kev": {
            "title": "Is Kev",
            "type": "boolean"
          },
          "maturite_exploit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Maturite Exploit"
          },
          "mesures_provisoires": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/MesureProvisoireApiOut"
            },
            "title": "Mesures Provisoires",
            "type": "array"
          },
          "poc_count": {
            "title": "Poc Count",
            "type": "integer"
          },
          "product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "vendor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vendor"
          }
        },
        "required": [
          "cve_id",
          "severity",
          "cvss_score",
          "epss_score",
          "is_kev",
          "has_poc",
          "vendor",
          "product",
          "date_published",
          "affected",
          "description",
          "cvss_vector",
          "epss_percentile",
          "cwe_ids",
          "poc_count",
          "date_updated",
          "epss_publie"
        ],
        "title": "CveDetailOut",
        "type": "object"
      },
      "CveListItem": {
        "properties": {
          "affected": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CveAffectedOut"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Affected"
          },
          "contournement_disponible": {
            "default": false,
            "title": "Contournement Disponible",
            "type": "boolean"
          },
          "cve_id": {
            "title": "Cve Id",
            "type": "string"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "date_published": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Published"
          },
          "epss_publie": {
            "description": "False tant que FIRST n'a pas publié de score (NULL, jamais 0).",
            "readOnly": true,
            "title": "Epss Publie",
            "type": "boolean"
          },
          "epss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Epss Score"
          },
          "has_poc": {
            "title": "Has Poc",
            "type": "boolean"
          },
          "is_kev": {
            "title": "Is Kev",
            "type": "boolean"
          },
          "maturite_exploit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Maturite Exploit"
          },
          "product": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product"
          },
          "severity": {
            "title": "Severity",
            "type": "string"
          },
          "vendor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vendor"
          }
        },
        "required": [
          "cve_id",
          "severity",
          "cvss_score",
          "epss_score",
          "is_kev",
          "has_poc",
          "vendor",
          "product",
          "date_published",
          "epss_publie"
        ],
        "title": "CveListItem",
        "type": "object"
      },
      "CveListOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CveListItem"
            },
            "title": "Items",
            "type": "array"
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "page_size": {
            "title": "Page Size",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "page",
          "page_size"
        ],
        "title": "CveListOut",
        "type": "object"
      },
      "DelaysOut": {
        "properties": {
          "from": {
            "format": "date",
            "title": "From",
            "type": "string"
          },
          "granularity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Granularity"
          },
          "metric": {
            "title": "Metric",
            "type": "string"
          },
          "overall": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Overall"
          },
          "points": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Points"
          },
          "to": {
            "format": "date",
            "title": "To",
            "type": "string"
          },
          "unit": {
            "title": "Unit",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "metric",
          "unit"
        ],
        "title": "DelaysOut",
        "type": "object"
      },
      "DistributionBucketOut": {
        "properties": {
          "bucket": {
            "title": "Bucket",
            "type": "string"
          },
          "kev": {
            "title": "Kev",
            "type": "integer"
          },
          "poc_pct": {
            "title": "Poc Pct",
            "type": "number"
          },
          "share_pct": {
            "title": "Share Pct",
            "type": "number"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          },
          "with_poc": {
            "title": "With Poc",
            "type": "integer"
          }
        },
        "required": [
          "bucket",
          "total",
          "with_poc",
          "kev",
          "share_pct",
          "poc_pct"
        ],
        "title": "DistributionBucketOut",
        "type": "object"
      },
      "DistributionOut": {
        "properties": {
          "buckets": {
            "items": {
              "$ref": "#/components/schemas/DistributionBucketOut"
            },
            "title": "Buckets",
            "type": "array"
          },
          "from": {
            "format": "date",
            "title": "From",
            "type": "string"
          },
          "grand_total": {
            "title": "Grand Total",
            "type": "integer"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "metric": {
            "title": "Metric",
            "type": "string"
          },
          "to": {
            "format": "date",
            "title": "To",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "metric",
          "label",
          "grand_total",
          "buckets"
        ],
        "title": "DistributionOut",
        "type": "object"
      },
      "EolCycleOut": {
        "properties": {
          "cycle": {
            "title": "Cycle",
            "type": "string"
          },
          "eol": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Eol"
          },
          "latest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Latest"
          },
          "link": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Link"
          },
          "lts": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lts"
          },
          "release_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Release Date"
          },
          "support": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Support"
          }
        },
        "required": [
          "cycle",
          "release_date",
          "eol",
          "lts",
          "support",
          "latest",
          "link"
        ],
        "title": "EolCycleOut",
        "type": "object"
      },
      "EolProductDetailOut": {
        "properties": {
          "cycles": {
            "items": {
              "$ref": "#/components/schemas/EolCycleOut"
            },
            "title": "Cycles",
            "type": "array"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "cycles"
        ],
        "title": "EolProductDetailOut",
        "type": "object"
      },
      "EolProductListOut": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/EolProductOut"
            },
            "title": "Items",
            "type": "array"
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "page_size": {
            "title": "Page Size",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "total",
          "page",
          "page_size"
        ],
        "title": "EolProductListOut",
        "type": "object"
      },
      "EolProductOut": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description"
        ],
        "title": "EolProductOut",
        "type": "object"
      },
      "EolSubOut": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "cycle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cycle"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "notify_before_eol_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notify Before Eol Days"
          },
          "notify_before_support_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notify Before Support Days"
          },
          "product_id": {
            "title": "Product Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "product_id",
          "cycle",
          "notify_before_eol_days",
          "notify_before_support_days",
          "created_at"
        ],
        "title": "EolSubOut",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "MeResponse": {
        "description": "Contexte de la clé API : l'organisation à laquelle elle est rattachée.",
        "properties": {
          "org_id": {
            "format": "uuid",
            "title": "Org Id",
            "type": "string"
          },
          "org_name": {
            "title": "Org Name",
            "type": "string"
          },
          "plan": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PlanInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "org_id",
          "org_name",
          "plan"
        ],
        "title": "MeResponse",
        "type": "object"
      },
      "MesureProvisoireApiOut": {
        "description": "API publique /v1 : la même chose, avec la mention à reproduire.",
        "properties": {
          "attribution": {
            "title": "Attribution",
            "type": "string"
          },
          "categorie": {
            "title": "Categorie",
            "type": "string"
          },
          "date": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date"
          },
          "lien_seulement": {
            "default": false,
            "title": "Lien Seulement",
            "type": "boolean"
          },
          "produits": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Produits",
            "type": "array"
          },
          "reference": {
            "title": "Reference",
            "type": "string"
          },
          "republication": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Republication"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "texte": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Texte"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "source",
          "reference",
          "categorie",
          "attribution"
        ],
        "title": "MesureProvisoireApiOut",
        "type": "object"
      },
      "MonitoredUrlDetailOut": {
        "properties": {
          "cert_expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert Expires At"
          },
          "cert_issuer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert Issuer"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "is_enabled": {
            "title": "Is Enabled",
            "type": "boolean"
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "last_http_status": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Http Status"
          },
          "last_scanned_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Scanned At"
          },
          "last_status": {
            "title": "Last Status",
            "type": "string"
          },
          "technologies": {
            "items": {},
            "title": "Technologies",
            "type": "array"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "id",
          "url",
          "label",
          "is_enabled",
          "last_status",
          "last_http_status",
          "cert_expires_at",
          "cert_issuer",
          "last_scanned_at",
          "created_at",
          "technologies"
        ],
        "title": "MonitoredUrlDetailOut",
        "type": "object"
      },
      "MonitoredUrlOut": {
        "properties": {
          "cert_expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert Expires At"
          },
          "cert_issuer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert Issuer"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "is_enabled": {
            "title": "Is Enabled",
            "type": "boolean"
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "last_http_status": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Http Status"
          },
          "last_scanned_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Scanned At"
          },
          "last_status": {
            "title": "Last Status",
            "type": "string"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "id",
          "url",
          "label",
          "is_enabled",
          "last_status",
          "last_http_status",
          "cert_expires_at",
          "cert_issuer",
          "last_scanned_at",
          "created_at"
        ],
        "title": "MonitoredUrlOut",
        "type": "object"
      },
      "OrgItem": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "is_personal": {
            "title": "Is Personal",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "role": {
            "title": "Role",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "role",
          "is_personal",
          "created_at"
        ],
        "title": "OrgItem",
        "type": "object"
      },
      "PlanInfo": {
        "properties": {
          "max_api_calls_per_hour": {
            "title": "Max Api Calls Per Hour",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "slug": {
            "title": "Slug",
            "type": "string"
          }
        },
        "required": [
          "name",
          "slug",
          "max_api_calls_per_hour"
        ],
        "title": "PlanInfo",
        "type": "object"
      },
      "PreuveRetrouvee": {
        "properties": {
          "derniere_synchro_le": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Derniere Synchro Le"
          },
          "empreinte": {
            "title": "Empreinte",
            "type": "string"
          },
          "genere_le": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genere Le"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "report_type": {
            "title": "Report Type",
            "type": "string"
          },
          "synchro_etat": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Synchro Etat"
          },
          "synchro_figee": {
            "title": "Synchro Figee",
            "type": "boolean"
          },
          "titre": {
            "title": "Titre",
            "type": "string"
          }
        },
        "required": [
          "id",
          "titre",
          "report_type",
          "empreinte",
          "genere_le",
          "derniere_synchro_le",
          "synchro_figee"
        ],
        "title": "PreuveRetrouvee",
        "type": "object"
      },
      "ProjectItem": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "is_default": {
            "title": "Is Default",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "org_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Org Id"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "org_id",
          "is_default",
          "created_at"
        ],
        "title": "ProjectItem",
        "type": "object"
      },
      "ProjectStatsOut": {
        "properties": {
          "alerts_by_severity": {
            "additionalProperties": {
              "type": "integer"
            },
            "title": "Alerts By Severity",
            "type": "object"
          },
          "eol_subscriptions": {
            "title": "Eol Subscriptions",
            "type": "integer"
          },
          "kev_alerts": {
            "title": "Kev Alerts",
            "type": "integer"
          },
          "monitored_urls": {
            "title": "Monitored Urls",
            "type": "integer"
          },
          "poc_alerts": {
            "title": "Poc Alerts",
            "type": "integer"
          },
          "stack_items": {
            "title": "Stack Items",
            "type": "integer"
          },
          "total_alerts": {
            "title": "Total Alerts",
            "type": "integer"
          },
          "unread_alerts": {
            "title": "Unread Alerts",
            "type": "integer"
          }
        },
        "required": [
          "total_alerts",
          "unread_alerts",
          "alerts_by_severity",
          "kev_alerts",
          "poc_alerts",
          "stack_items",
          "monitored_urls",
          "eol_subscriptions"
        ],
        "title": "ProjectStatsOut",
        "type": "object"
      },
      "PublicVulnOut": {
        "properties": {
          "aliases": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Aliases",
            "type": "array"
          },
          "correspondances": {
            "default": [],
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Correspondances",
            "type": "array"
          },
          "cvss_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvss Score"
          },
          "fusion_de": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Fusion De",
            "type": "array"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "palier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Palier"
          },
          "severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Severity"
          },
          "signaux": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Signaux",
            "type": "array"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Summary"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "id",
          "source",
          "url"
        ],
        "title": "PublicVulnOut",
        "type": "object"
      },
      "StackItemOut": {
        "properties": {
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "item_type": {
            "title": "Item Type",
            "type": "string"
          },
          "min_severity": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Severity"
          },
          "tags": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/TagBrief"
            },
            "title": "Tags",
            "type": "array"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "id",
          "item_type",
          "value"
        ],
        "title": "StackItemOut",
        "type": "object"
      },
      "StackOut": {
        "properties": {
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/StackItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "project_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Project Id"
          }
        },
        "required": [
          "id",
          "name",
          "project_id",
          "items"
        ],
        "title": "StackOut",
        "type": "object"
      },
      "StatsTotalsOut": {
        "properties": {
          "avg_cvss": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Cvss"
          },
          "avg_epss": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Epss"
          },
          "kev": {
            "title": "Kev",
            "type": "integer"
          },
          "poc": {
            "title": "Poc",
            "type": "integer"
          },
          "published": {
            "title": "Published",
            "type": "integer"
          },
          "rejected": {
            "title": "Rejected",
            "type": "integer"
          },
          "reserved": {
            "title": "Reserved",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          },
          "triple_threat": {
            "title": "Triple Threat",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "published",
          "rejected",
          "reserved",
          "kev",
          "poc",
          "triple_threat"
        ],
        "title": "StatsTotalsOut",
        "type": "object"
      },
      "TagBrief": {
        "properties": {
          "color": {
            "title": "Color",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "color"
        ],
        "title": "TagBrief",
        "type": "object"
      },
      "TimeseriesOut": {
        "properties": {
          "axis": {
            "title": "Axis",
            "type": "string"
          },
          "count": {
            "title": "Count",
            "type": "integer"
          },
          "from": {
            "format": "date",
            "title": "From",
            "type": "string"
          },
          "granularity": {
            "title": "Granularity",
            "type": "string"
          },
          "points": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Points",
            "type": "array"
          },
          "to": {
            "format": "date",
            "title": "To",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "axis",
          "granularity",
          "count",
          "points"
        ],
        "title": "TimeseriesOut",
        "type": "object"
      },
      "TopItemOut": {
        "properties": {
          "avg_cvss": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Cvss"
          },
          "avg_epss": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Epss"
          },
          "critical": {
            "title": "Critical",
            "type": "integer"
          },
          "high": {
            "title": "High",
            "type": "integer"
          },
          "kev": {
            "title": "Kev",
            "type": "integer"
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "poc": {
            "title": "Poc",
            "type": "integer"
          },
          "rank": {
            "title": "Rank",
            "type": "integer"
          },
          "share_pct": {
            "title": "Share Pct",
            "type": "number"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "rank",
          "value",
          "total",
          "critical",
          "high",
          "kev",
          "poc",
          "share_pct"
        ],
        "title": "TopItemOut",
        "type": "object"
      },
      "TopOut": {
        "properties": {
          "dimension": {
            "title": "Dimension",
            "type": "string"
          },
          "distinct_values": {
            "title": "Distinct Values",
            "type": "integer"
          },
          "from": {
            "format": "date",
            "title": "From",
            "type": "string"
          },
          "grand_total": {
            "title": "Grand Total",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/TopItemOut"
            },
            "title": "Items",
            "type": "array"
          },
          "kev_only": {
            "title": "Kev Only",
            "type": "boolean"
          },
          "label": {
            "title": "Label",
            "type": "string"
          },
          "period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period"
          },
          "sort": {
            "title": "Sort",
            "type": "string"
          },
          "to": {
            "format": "date",
            "title": "To",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "dimension",
          "label",
          "kev_only",
          "sort",
          "grand_total",
          "distinct_values",
          "items"
        ],
        "title": "TopOut",
        "type": "object"
      },
      "TopTrendOut": {
        "properties": {
          "dimension": {
            "title": "Dimension",
            "type": "string"
          },
          "from": {
            "format": "date",
            "title": "From",
            "type": "string"
          },
          "granularity": {
            "title": "Granularity",
            "type": "string"
          },
          "points": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Points",
            "type": "array"
          },
          "series": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Series",
            "type": "array"
          },
          "to": {
            "format": "date",
            "title": "To",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "dimension",
          "granularity",
          "series",
          "points"
        ],
        "title": "TopTrendOut",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "WorkflowActivationIn": {
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "title": "WorkflowActivationIn",
        "type": "object"
      },
      "WorkflowEcritureIn": {
        "properties": {
          "actions": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Actions"
          },
          "create_case": {
            "default": true,
            "title": "Create Case",
            "type": "boolean"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "graph": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Graph"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "trigger": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trigger"
          }
        },
        "required": [
          "name"
        ],
        "title": "WorkflowEcritureIn",
        "type": "object"
      },
      "WorkflowItem": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "is_default": {
            "title": "Is Default",
            "type": "boolean"
          },
          "is_enabled": {
            "title": "Is Enabled",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "is_enabled",
          "is_default",
          "created_at",
          "updated_at"
        ],
        "title": "WorkflowItem",
        "type": "object"
      },
      "WorkflowModificationIn": {
        "properties": {
          "actions": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Actions"
          },
          "create_case": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Create Case"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "graph": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Graph"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "trigger": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trigger"
          },
          "version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "title": "WorkflowModificationIn",
        "type": "object"
      },
      "WorkflowRunItem": {
        "properties": {
          "cve_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cve Id"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          },
          "started_at": {
            "format": "date-time",
            "title": "Started At",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "trigger_event": {
            "title": "Trigger Event",
            "type": "string"
          },
          "workflow_id": {
            "format": "uuid",
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "workflow_id",
          "trigger_event",
          "cve_id",
          "status",
          "started_at",
          "finished_at"
        ],
        "title": "WorkflowRunItem",
        "type": "object"
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "description": "Clé d'organisation. Authorization: Bearer twa_…",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "API publique d'organisation. Les chemins sont ceux de https://app.techwatchalert.com : le relais retire le préfixe /api avant l'application, qui sert les mêmes routes sous /v1. Document produit depuis les routes. Les routes servies sans clé, pour le site public, n'y figurent pas.",
    "title": "TechWatchAlert",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/v1/articles": {
      "get": {
        "operationId": "list_articles_v1_articles_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          },
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Source"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleListOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Articles",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/cves": {
      "get": {
        "operationId": "search_cves_v1_cves_get",
        "parameters": [
          {
            "description": "Recherche dans l'ID, la description, le vendor ou le produit",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Recherche dans l'ID, la description, le vendor ou le produit",
              "title": "Q"
            }
          },
          {
            "description": "Virgule-séparés : CRITICAL,HIGH,MEDIUM,LOW",
            "in": "query",
            "name": "severity",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Virgule-séparés : CRITICAL,HIGH,MEDIUM,LOW",
              "title": "Severity"
            }
          },
          {
            "in": "query",
            "name": "is_kev",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Kev"
            }
          },
          {
            "in": "query",
            "name": "has_poc",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Has Poc"
            }
          },
          {
            "description": "Contournement ou attenuation connu (mesures provisoires CSAF, CERT-FR)",
            "in": "query",
            "name": "has_workaround",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Contournement ou attenuation connu (mesures provisoires CSAF, CERT-FR)",
              "title": "Has Workaround"
            }
          },
          {
            "description": "Editeur - cherche dans toutes les entrees affected",
            "in": "query",
            "name": "vendor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Editeur - cherche dans toutes les entrees affected",
              "title": "Vendor"
            }
          },
          {
            "description": "Produit - cherche dans toutes les entrees affected",
            "in": "query",
            "name": "product",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Produit - cherche dans toutes les entrees affected",
              "title": "Product"
            }
          },
          {
            "description": "Correspondance de vendor/product : partial (defaut) ou exact",
            "in": "query",
            "name": "match",
            "required": false,
            "schema": {
              "default": "partial",
              "description": "Correspondance de vendor/product : partial (defaut) ou exact",
              "pattern": "^(partial|exact)$",
              "title": "Match",
              "type": "string"
            }
          },
          {
            "description": "Ne rendre que les CVE modifiees depuis cette date ISO 8601. Permet une synchronisation incrementale sans reparcourir la base.",
            "in": "query",
            "name": "updated_since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Ne rendre que les CVE modifiees depuis cette date ISO 8601. Permet une synchronisation incrementale sans reparcourir la base.",
              "title": "Updated Since"
            }
          },
          {
            "description": "Champs supplementaires, separes par des virgules. Seul affected est reconnu.",
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 100,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Champs supplementaires, separes par des virgules. Seul affected est reconnu.",
              "title": "Include"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CveListOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Search Cves",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/cves/{cve_id}": {
      "get": {
        "operationId": "get_cve_v1_cves__cve_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "title": "Cve Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CveDetailOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Cve",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/eol/products": {
      "get": {
        "operationId": "list_eol_products_v1_eol_products_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EolProductListOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Eol Products",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/eol/products/{product_id}/cycles": {
      "get": {
        "operationId": "get_eol_product_cycles_v1_eol_products__product_id__cycles_get",
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "title": "Product Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EolProductDetailOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Eol Product Cycles",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/me": {
      "get": {
        "operationId": "me_v1_me_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeResponse"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Me",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations": {
      "get": {
        "description": "L'unique organisation à laquelle la clé API est rattachée.",
        "operationId": "list_organizations_v1_organizations_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrgItem"
                  },
                  "title": "Response List Organizations V1 Organizations Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Organizations",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/preuves/empreintes/{empreinte}": {
      "get": {
        "description": "Retrouve un export de preuve de l'organisation par l'empreinte SHA-256\nde son contenu ou d'un fichier remis. Génération et dernière synchro\nd'inventaire figées, pas l'instantané. Même absence si l'empreinte est\nillisible, inconnue ou hors de cette organisation.",
        "operationId": "retrouver_preuve_v1_organizations__org_id__preuves_empreintes__empreinte__get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "empreinte",
            "required": true,
            "schema": {
              "title": "Empreinte",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreuveRetrouvee"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Retrouver Preuve",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects": {
      "get": {
        "description": "Projets de l'organisation de la clé (accès org-wide, ou restreint aux\nprojets autorisés si la clé est limitée).",
        "operationId": "list_org_projects_v1_organizations__org_id__projects_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProjectItem"
                  },
                  "title": "Response List Org Projects V1 Organizations  Org Id  Projects Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Org Projects",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}": {
      "get": {
        "operationId": "get_project_v1_organizations__org_id__projects__project_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectItem"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Project",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/alerts": {
      "get": {
        "operationId": "list_project_alerts_v1_organizations__org_id__projects__project_id__alerts_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "unread_only",
            "required": false,
            "schema": {
              "default": false,
              "title": "Unread Only",
              "type": "boolean"
            }
          },
          {
            "description": "Virgule-séparés : CRITICAL,HIGH,MEDIUM,LOW",
            "in": "query",
            "name": "severity",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Virgule-séparés : CRITICAL,HIGH,MEDIUM,LOW",
              "title": "Severity"
            }
          },
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertListOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Project Alerts",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/alerts/{alert_id}": {
      "get": {
        "operationId": "get_project_alert_v1_organizations__org_id__projects__project_id__alerts__alert_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "alert_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Alert Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlertOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Project Alert",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/cases": {
      "get": {
        "operationId": "list_cases_v1_organizations__org_id__projects__project_id__cases_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "description": "Filtre : PENDING, ANALYZING, FIXING, MITIGATED, ACCEPTED, RESOLVED, NOT_APPLICABLE",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filtre : PENDING, ANALYZING, FIXING, MITIGATED, ACCEPTED, RESOLVED, NOT_APPLICABLE",
              "title": "Status"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CaseOut"
                  },
                  "title": "Response List Cases V1 Organizations  Org Id  Projects  Project Id  Cases Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Cases",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/cases/{cve_id}": {
      "get": {
        "operationId": "get_case_v1_organizations__org_id__projects__project_id__cases__cve_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "cve_id",
            "required": true,
            "schema": {
              "title": "Cve Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaseDetailOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Case",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/eol": {
      "get": {
        "operationId": "get_project_eol_v1_organizations__org_id__projects__project_id__eol_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/EolSubOut"
                  },
                  "title": "Response Get Project Eol V1 Organizations  Org Id  Projects  Project Id  Eol Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Project Eol",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/sbom": {
      "post": {
        "description": "Dépose le SBOM (CycloneDX JSON/XML, SPDX JSON) ou le manifeste d'une\napplication, depuis la CI. Le corps est le fichier tel quel.\n\nMême règle que les connecteurs : seuls les composants surveillables\nentrent (connus des CVE, ou paquet d'écosystème à version exacte). Ce\ndépôt est la nouvelle version de l'application : ce que le précédent\ncontenait et que celui-ci n'a plus quitte la stack. Les CVE déjà connues\nsont rattachées sans notification ; les suivantes notifient. Compte dans\nles applications SBOM et les dépôts du jour de l'offre.",
        "operationId": "deposer_sbom_v1_organizations__org_id__projects__project_id__sbom_post",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "description": "Nom de l'application (dépôt, service) : son dépôt suivant la remplace",
            "in": "query",
            "name": "application",
            "required": true,
            "schema": {
              "description": "Nom de l'application (dépôt, service) : son dépôt suivant la remplace",
              "maxLength": 200,
              "minLength": 1,
              "title": "Application",
              "type": "string"
            }
          },
          {
            "description": "Nom du fichier envoyé. Un nom de manifeste (package-lock.json, pnpm-lock.yaml, poetry.lock, constraints.txt…) le fait lire comme tel ; sinon c'est un SBOM CycloneDX ou SPDX (JSON).",
            "in": "query",
            "name": "fichier",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 255,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Nom du fichier envoyé. Un nom de manifeste (package-lock.json, pnpm-lock.yaml, poetry.lock, constraints.txt…) le fait lire comme tel ; sinon c'est un SBOM CycloneDX ou SPDX (JSON).",
              "title": "Fichier"
            }
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Deposer Sbom",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/scans": {
      "post": {
        "description": "Dépose le rapport d'un scan, envoyé tel quel dans le corps de la\nrequête : JSON de Trivy, de Grype ou CycloneDX avec vulnérabilités, XML de\nNessus (.nessus), Greenbone/OpenVAS, Qualys ou Rapid7 InsightVM, ou CSV de\nQualys, InsightVM ou Nessus. Le format est reconnu au contenu. Rend le scan\net sa confrontation avec les fiches de suivi (docs/nis2.md, § 3 « Scans »).",
        "operationId": "deposer_scan_v1_organizations__org_id__projects__project_id__scans_post",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "description": "Nom du rapport, pour la trace",
            "in": "query",
            "name": "fichier",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 255,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Nom du rapport, pour la trace",
              "title": "Fichier"
            }
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Deposer Scan",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/stack": {
      "get": {
        "operationId": "get_project_stack_v1_organizations__org_id__projects__project_id__stack_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/StackOut"
                  },
                  "title": "Response Get Project Stack V1 Organizations  Org Id  Projects  Project Id  Stack Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Project Stack",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/stats": {
      "get": {
        "operationId": "project_stats_v1_organizations__org_id__projects__project_id__stats_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectStatsOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Project Stats",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/urls": {
      "get": {
        "operationId": "list_monitored_urls_v1_organizations__org_id__projects__project_id__urls_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MonitoredUrlOut"
                  },
                  "title": "Response List Monitored Urls V1 Organizations  Org Id  Projects  Project Id  Urls Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Monitored Urls",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/urls/{url_id}": {
      "get": {
        "operationId": "get_monitored_url_v1_organizations__org_id__projects__project_id__urls__url_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "url_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Url Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoredUrlDetailOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Get Monitored Url",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/vulnerabilities": {
      "get": {
        "description": "Avis GHSA/OSV rapprochés du projet, au même titre que les alertes CVE.\n\nSans `limit` ni `offset`, toute la liste. Une page demandée renvoie le\ntotal filtré dans `X-Total-Count` ; la réponse reste une liste nue.",
        "operationId": "list_project_vulnerabilities_v1_organizations__org_id__projects__project_id__vulnerabilities_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "description": "ghsa ou osv",
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "ghsa ou osv",
              "title": "Source"
            }
          },
          {
            "description": "a_patcher, haute ou aucun",
            "in": "query",
            "name": "palier",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "a_patcher, haute ou aucun",
              "title": "Palier"
            }
          },
          {
            "description": "Taille de page ; sans elle, toute la liste",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 500,
                  "minimum": 1,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Taille de page ; sans elle, toute la liste",
              "title": "Limit"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Offset"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PublicVulnOut"
                  },
                  "title": "Response List Project Vulnerabilities V1 Organizations  Org Id  Projects  Project Id  Vulnerabilities Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Project Vulnerabilities",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/workflows": {
      "get": {
        "operationId": "list_workflows_v1_organizations__org_id__projects__project_id__workflows_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowItem"
                  },
                  "title": "Response List Workflows V1 Organizations  Org Id  Projects  Project Id  Workflows Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Workflows",
        "tags": [
          "public-api"
        ]
      },
      "post": {
        "operationId": "create_workflow_api_v1_organizations__org_id__projects__project_id__workflows_post",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowEcritureIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Create Workflow Api",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/workflows/{workflow_id}": {
      "delete": {
        "operationId": "delete_workflow_api_v1_organizations__org_id__projects__project_id__workflows__workflow_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Workflow Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Delete Workflow Api",
        "tags": [
          "public-api"
        ]
      },
      "patch": {
        "operationId": "update_workflow_api_v1_organizations__org_id__projects__project_id__workflows__workflow_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Workflow Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowModificationIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Update Workflow Api",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/workflows/{workflow_id}/enabled": {
      "patch": {
        "operationId": "set_workflow_enabled_api_v1_organizations__org_id__projects__project_id__workflows__workflow_id__enabled_patch",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Workflow Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowActivationIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Set Workflow Enabled Api",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/organizations/{org_id}/projects/{project_id}/workflows/{workflow_id}/runs": {
      "get": {
        "operationId": "list_workflow_runs_v1_organizations__org_id__projects__project_id__workflows__workflow_id__runs_get",
        "parameters": [
          {
            "in": "path",
            "name": "org_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Org Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Project Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "title": "Workflow Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowRunItem"
                  },
                  "title": "Response List Workflow Runs V1 Organizations  Org Id  Projects  Project Id  Workflows  Workflow Id  Runs Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "List Workflow Runs",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/catalog": {
      "get": {
        "description": "Dimensions, granularités et métriques disponibles.",
        "operationId": "public_stats_catalog_v1_statistics_catalog_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Catalog",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/delays": {
      "get": {
        "description": "Distribution des délais, en jours.\n\n- `kev` : publication → inscription au catalogue KEV ;\n- `disclosure` : réservation de l'identifiant → publication ;\n- `poc` : publication → premier PoC public connu.\n\nUn délai négatif est possible et conservé : un PoC peut précéder la\npublication, et une entrée KEV peut être antidatée.",
        "operationId": "public_stats_delays_v1_statistics_delays_get",
        "parameters": [
          {
            "description": "kev | disclosure | poc",
            "in": "query",
            "name": "metric",
            "required": false,
            "schema": {
              "default": "kev",
              "description": "kev | disclosure | poc",
              "title": "Metric",
              "type": "string"
            }
          },
          {
            "description": "Sans valeur : un seul jeu de percentiles",
            "in": "query",
            "name": "granularity",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Sans valeur : un seul jeu de percentiles",
              "title": "Granularity"
            }
          },
          {
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Period"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "From"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DelaysOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Delays",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/distribution": {
      "get": {
        "description": "Répartition des CVE en paliers, sur une fenêtre quelconque.\n\n- `cvss` : histogramme des scores par tranches de 0,5 ;\n- `epss` : probabilité d'exploitation en cinq paliers ;\n- `attack_vector` : Network, Adjacent, Local, Physical ;\n- `severity` : répartition par niveau, avec le taux de couverture PoC.",
        "operationId": "public_stats_distribution_v1_statistics_distribution_get",
        "parameters": [
          {
            "description": "cvss | epss | attack_vector | severity",
            "in": "query",
            "name": "metric",
            "required": false,
            "schema": {
              "default": "cvss",
              "description": "cvss | epss | attack_vector | severity",
              "title": "Metric",
              "type": "string"
            }
          },
          {
            "description": "2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15",
              "title": "Period"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "From"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DistributionOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Distribution",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/timeseries": {
      "get": {
        "description": "Volumétrie CVE par période, toutes métriques renvoyées en un appel.",
        "operationId": "public_stats_timeseries_v1_statistics_timeseries_get",
        "parameters": [
          {
            "description": "day | week | month | quarter | year",
            "in": "query",
            "name": "granularity",
            "required": false,
            "schema": {
              "default": "month",
              "description": "day | week | month | quarter | year",
              "title": "Granularity",
              "type": "string"
            }
          },
          {
            "description": "published = date de publication ; kev = entrée au catalogue KEV",
            "in": "query",
            "name": "axis",
            "required": false,
            "schema": {
              "default": "published",
              "description": "published = date de publication ; kev = entrée au catalogue KEV",
              "title": "Axis",
              "type": "string"
            }
          },
          {
            "description": "Raccourci : 2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Raccourci : 2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15",
              "title": "Period"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "From"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeseriesOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Timeseries",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/top": {
      "get": {
        "description": "Classement sur une dimension et une fenêtre quelconques.\n\nSans `period` ni `from`/`to`, le classement porte sur tout l'historique.",
        "operationId": "public_stats_top_v1_statistics_top_get",
        "parameters": [
          {
            "description": "cwe | vendor | product | cna",
            "in": "query",
            "name": "dimension",
            "required": false,
            "schema": {
              "default": "cwe",
              "description": "cwe | vendor | product | cna",
              "title": "Dimension",
              "type": "string"
            }
          },
          {
            "description": "2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "2026, 2026-Q1, 2026-03, 2026-W12, 2026-03-15",
              "title": "Period"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "From"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 15,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "total | critical | high | kev | poc",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "total",
              "description": "total | critical | high | kev | poc",
              "title": "Sort",
              "type": "string"
            }
          },
          {
            "description": "Ne compter que les CVE du catalogue KEV",
            "in": "query",
            "name": "kev_only",
            "required": false,
            "schema": {
              "default": false,
              "description": "Ne compter que les CVE du catalogue KEV",
              "title": "Kev Only",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Top",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/top-trend": {
      "get": {
        "description": "Évolution des N premières valeurs d'une dimension au fil du temps.\n\nLe top est établi une fois sur toute la fenêtre puis suivi période par\npériode : les séries gardent le même sujet d'un point à l'autre.",
        "operationId": "public_stats_top_trend_v1_statistics_top_trend_get",
        "parameters": [
          {
            "description": "cwe | vendor | product | cna",
            "in": "query",
            "name": "dimension",
            "required": false,
            "schema": {
              "default": "cwe",
              "description": "cwe | vendor | product | cna",
              "title": "Dimension",
              "type": "string"
            }
          },
          {
            "description": "day | week | month | quarter | year",
            "in": "query",
            "name": "granularity",
            "required": false,
            "schema": {
              "default": "year",
              "description": "day | week | month | quarter | year",
              "title": "Granularity",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Period"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "From"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 8,
              "maximum": 25,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopTrendOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Top Trend",
        "tags": [
          "public-api"
        ]
      }
    },
    "/api/v1/statistics/totals": {
      "get": {
        "description": "Compteurs globaux de la base CVE, tous états confondus.\n\nSeule route qui voit les CVE non publiées : `rejected` et `reserved` sont\ninaccessibles ailleurs, toutes les autres lectures ne portant que sur les\nCVE publiées. Pas de fenêtre temporelle : ce sont des totaux.",
        "operationId": "public_stats_totals_v1_statistics_totals_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatsTotalsOut"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "summary": "Public Stats Totals",
        "tags": [
          "public-api"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://app.techwatchalert.com"
    }
  ]
}
