# API Scrutins & Votes Publics

## 🗳️ Routes

| Méthode | Route | Description |
| :--- | :--- | :--- |
| `GET` | `/api/v1/scrutins` | Liste paginée des scrutins des deux chambres, filtrable |
| `GET` | `/api/v1/scrutins/importants` | Scrutins récents les plus importants |
| `GET` | `/api/v1/scrutins/tags` | Tags thématiques des scrutins |
| `GET` | `/api/v1/scrutins/annees`, `/periodes` | Années et périodes couvertes |
| `GET` | `/api/v1/scrutins/:numero` | Détail d'un scrutin, avec ses votes |
| `GET` | `/api/v1/scrutins/:numero/votes` | Votes nominatifs, filtrables par `position` et `groupe` |
| `GET` | `/api/v1/scrutins/:numero/interventions` | Prises de parole qui ont précédé le vote |

Toutes les routes, avec leurs schémas de réponse : [explorateur de l'API](/api).

---

## 🔎 Identifier un scrutin

`numero` n'identifie un scrutin qu'avec sa chambre et sa session : au Sénat, la numérotation repart à chaque session. Les routes `/:numero` acceptent donc `chambre` (`assemblee` par défaut, ou `senat`) et `session` (la législature à l'Assemblée, par exemple `17` ; l'année de session au Sénat, par exemple `2024`). Sans `session`, c'est le scrutin le plus récent portant ce numéro qui est renvoyé.

---

## 🏷️ Filtres de la liste

| Paramètre | Valeurs |
| :--- | :--- |
| `page`, `limit` | Pagination (`limit` jusqu'à 100, 20 par défaut) |
| `chambre` | `assemblee` ou `senat` |
| `type` | Mode de scrutin : `solennel`, `ordinaire`, `motion`. Au Sénat, `solennel` regroupe les votes personnels (scrutins solennels et à la tribune), reconnus à leurs délégations à partir de la session 2014-2015 |
| `nature` | Ce sur quoi porte le vote : `ensemble`, `article`, `amendement`, `credits`, `motion`, `declaration`, `autre` |
| `sort` | Résultat : `adopte` ou `rejete` |
| `tag` | Tag thématique |
| `importance` | De 1 à 5 |
| `dateFrom`, `dateTo` | Bornes de date |
| `search` | Recherche dans le titre |

---

## ✅ Positions de vote

Un vote nominatif (`votes.position`) vaut `pour`, `contre`, `abstention` ou `absent`. Le Congrès (députés et sénateurs réunis à Versailles) ne publie que des totaux, sans vote nominatif.

## 🗣️ Débats d'un scrutin

`/scrutins/:numero/interventions` renvoie le débat rattaché au vote quand il existe (`rattachement: "scrutin"`), avec la finesse du rattachement dans `precision` (`amendement`, `article`, `ensemble`, `motion`, `fenetre` ou `finances`) ; à défaut, le débat de la journée (`rattachement: "journee"`), qui peut porter sur d'autres textes.
