{"openapi":"3.0.3","info":{"title":"API PasDeVélib","version":"1.0.0","description":"Indicateurs dérivés calculés quotidiennement par PasDeVélib à partir de l'historique des réseaux Vélib' Métropole, Vélo'v, Le Vélo, VélôToulouse, V'Lille, STAR le vélo et Vélhop : évolution du taux de remplissage, créneaux horaires, activité estimée, effet météo, typologie des stations, classements. Accès sur demande approuvée manuellement, limité à 200 requêtes/jour.","contact":{"url":"https://blog.pasdevelib.app/contact"},"license":{"name":"Licence Ouverte / Open Licence 2.0 (Etalab)","url":"https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf"}},"servers":[{"url":"https://api.pasdevelib.app","description":"Production"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}}},"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/stats":{"get":{"summary":"Récupère un indicateur pour une ville donnée","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"city","in":"query","required":true,"schema":{"type":"string","enum":["paris","bordeaux","lyon","toulouse","lille","rennes","strasbourg"]},"description":"Ville concernée"},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["period","evolution","patterns","records","traffic","stuck","weather","typology"],"default":"period"},"description":"Indicateur demandé — voir /docs/metiers pour le détail de chacun"},{"name":"period","in":"query","required":false,"schema":{"type":"string","enum":["day","week","month"],"default":"week"},"description":"Uniquement pour kind=period : période d'agrégation"}],"responses":{"200":{"description":"Indicateur demandé (structure JSON variable selon `kind`, voir /docs/metiers)","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Paramètre city ou kind invalide"},"401":{"description":"Clé API manquante, invalide, ou accès non actif — voir /docs/access"},"429":{"description":"Limite quotidienne de 200 requêtes/jour atteinte"}}}}}}