{"name":"GTB API","version":"1.0.0","doc":{"description":"API REST de la plateforme GTB — Université de Lille.","base_url":"https://gtb-api.univ-lille.fr","auth":{"type":"API Key → JWT Bearer","flow":["1. Obtenir un token via POST /o/auth avec votre api_key","2. Joindre le token dans le header : Authorization: Bearer <token>","3. Le token est valide 1 heure, redemander un token à expiration"]},"prefixes":{"/o/":"Routes ouvertes — aucune authentification requise","/p/":"Routes protégées — Authorization: Bearer <token> obligatoire"},"routes":[{"method":"GET","path":"/","auth":false,"desc":"Cette documentation"},{"method":"POST","path":"/o/auth","auth":false,"desc":"Obtenir un access token","body":{"api_key":"string"},"returns":{"access_token":"string","expires_in":"int (secondes)"}},{"method":"GET","path":"/p/test","auth":true,"desc":"Endpoint de test — retourne les infos du token courant"},{"method":"GET","path":"/p/uuid/generate","auth":true,"op_id":"uuid.generate","desc":"Génère un ou plusieurs UUID v4 uniques via uuidgenerator.net","params":{"count":"nombre d'UUID à générer (1 à 200, défaut 1) — query string"},"returns":{"count":"int","data":"array<string>","source":"string"}},{"method":"GET","path":"/p/telemetry-referentiel","auth":true,"desc":"Référentiel télémétrie — liste de tous les équipements et leurs types de mesure","returns":{"count":"int","data":"array<Equipment>"}},{"method":"GET","path":"/p/telemetry-referentiel/:id","auth":true,"op_id":"telemetry-referentiel.detail","desc":"Référentiel télémétrie — détail d'un équipement par son identifiant","params":{"id":"identifiant de l'équipement (ex: electricalMonitor)"},"returns":{"id":"string","label":"string","measures":"array<Measure>"}},{"method":"GET","path":"/p/locations","auth":true,"op_id":"locations.tree","desc":"Référentiel des locaux — arbre hiérarchique complet (UF → bâtiment → corps → étage → pièce)","returns":{"count":"int","data":"array<UF>"}},{"method":"GET","path":"/p/locations/buildings","auth":true,"op_id":"locations.buildings","desc":"Référentiel des locaux — liste plate des bâtiments avec leur UF de rattachement","returns":{"count":"int","data":"array<Building>"}},{"method":"GET","path":"/p/locations/floor/:prefix","auth":true,"op_id":"locations.floor","desc":"Plan d'un plateau — retourne toutes les polylignes et les métadonnées des pièces à partir du préfixe IdLoc (11 premiers caractères : campusId:5 + buildingId_suffix:3 + bodyId:1 + levelId:2)","params":{":prefix":"Préfixe IdLoc du plateau (ex: 01CCS008B01)"},"returns":{"floor_prefix":"string","rooms_count":"int","rooms":"array<Room>"}}],"schemas":{"Equipment":{"id":"string","label":"string (FR)","measures":"array<Measure>"},"Measure":{"id":"string","label":"string (FR)","type":"TS|TM|TC|TA|TSC","unit":"string (optionnel)"},"UF":{"id":"string","name":"string","buildings":"array<Building>"},"Building":{"id":"string","name":"string","uf_id":"string (flat only)","corps":"array<Corps> (tree only)"},"Corps":{"label":"string","common_name":"string","floors":"array<Floor>"},"Floor":{"level":"string","rooms":"array<Room>"},"Room":{"name":"string","signage":"string","loc_id":"string"}}}}