title, description
| title |
description |
| Reference API |
Liste des endpoints de l'API Glibredecision |
Reference API
Tous les endpoints sont prefixes par /api/v1. L'API est auto-documentee via OpenAPI/Swagger a l'adresse /docs en mode debug.
Authentification (/api/v1/auth)
| Methode |
Endpoint |
Description |
Auth |
| POST |
/challenge |
Generer un challenge Ed25519 pour une adresse Duniter |
Non |
| POST |
/verify |
Verifier la signature du challenge et obtenir un token |
Non |
| GET |
/me |
Retourner l'identite authentifiee courante |
Oui |
| POST |
/logout |
Invalider la session courante |
Oui |
Documents (/api/v1/documents)
| Methode |
Endpoint |
Description |
Auth |
| GET |
/ |
Lister les documents (filtres: doc_type, status) |
Non |
| POST |
/ |
Creer un nouveau document |
Oui |
| GET |
/{slug} |
Obtenir un document par son slug |
Non |
| PUT |
/{slug} |
Mettre a jour un document |
Oui |
| POST |
/{slug}/items |
Ajouter un item au document |
Oui |
| GET |
/{slug}/items |
Lister les items d'un document |
Non |
| GET |
/{slug}/items/{item_id} |
Obtenir un item avec son historique |
Non |
| POST |
/{slug}/items/{item_id}/versions |
Proposer une nouvelle version d'un item |
Oui |
Decisions (/api/v1/decisions)
| Methode |
Endpoint |
Description |
Auth |
| GET |
/ |
Lister les decisions (filtres: decision_type, status) |
Non |
| POST |
/ |
Creer une nouvelle decision |
Oui |
| GET |
/{id} |
Obtenir une decision avec ses etapes |
Non |
| PUT |
/{id} |
Mettre a jour une decision |
Oui |
| POST |
/{id}/steps |
Ajouter une etape a une decision |
Oui |
Votes (/api/v1/votes)
| Methode |
Endpoint |
Description |
Auth |
| POST |
/sessions |
Creer une session de vote |
Oui |
| GET |
/sessions/{id} |
Obtenir une session de vote |
Non |
| POST |
/sessions/{id}/vote |
Soumettre un vote (signe) |
Oui |
| GET |
/sessions/{id}/votes |
Lister les votes d'une session |
Non |
| GET |
/sessions/{id}/result |
Calculer et retourner le resultat courant |
Non |
Mandats (/api/v1/mandates)
| Methode |
Endpoint |
Description |
Auth |
| GET |
/ |
Lister les mandats (filtres: mandate_type, status) |
Non |
| POST |
/ |
Creer un nouveau mandat |
Oui |
| GET |
/{id} |
Obtenir un mandat avec ses etapes |
Non |
| PUT |
/{id} |
Mettre a jour un mandat |
Oui |
| DELETE |
/{id} |
Supprimer un mandat (brouillon uniquement) |
Oui |
| POST |
/{id}/steps |
Ajouter une etape a un mandat |
Oui |
| GET |
/{id}/steps |
Lister les etapes d'un mandat |
Non |
Protocoles (/api/v1/protocols)
| Methode |
Endpoint |
Description |
Auth |
| GET |
/ |
Lister les protocoles de vote |
Non |
| POST |
/ |
Creer un protocole de vote |
Oui |
| GET |
/{id} |
Obtenir un protocole avec sa configuration formule |
Non |
| GET |
/formulas |
Lister les configurations de formules |
Non |
| POST |
/formulas |
Creer une configuration de formule |
Oui |
Sanctuaire (/api/v1/sanctuary)
| Methode |
Endpoint |
Description |
Auth |
| GET |
/ |
Lister les entrees du sanctuaire (filtre: entry_type) |
Non |
| GET |
/{id} |
Obtenir une entree du sanctuaire |
Non |
| POST |
/ |
Creer une entree (hash SHA-256, CID IPFS, TX on-chain) |
Oui |
WebSocket (/api/v1/ws)
| Endpoint |
Description |
/ws |
Connexion WebSocket pour notifications temps reel (votes, decisions) |
Sante
| Methode |
Endpoint |
Description |
| GET |
/api/health |
Verification de sante (hors versionning) |
Les endpoints de liste acceptent les parametres skip (offset, defaut 0) et limit (max 200, defaut 50).
Authentification
Les endpoints marques "Oui" dans la colonne Auth requierent un header :
Le token est obtenu via le flux challenge-response (/auth/challenge puis /auth/verify).