Documentation complète de tous les endpoints de l'API Militant.
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/auth.php | POST | Login et obtention du token |
| /api/v1/auth.php?action=refresh | POST | Renouveler un token |
| /api/v1/auth.php?action=revoke | POST | Révoquer un token |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/users.php?username={username} | GET | Obtenir un profil |
| /api/v1/users.php | PUT | Mettre à jour son profil |
| /api/v1/change_password.php | POST | Changer son mot de passe |
| /api/v1/user_preferences.php | GET | Obtenir ses préférences |
| /api/v1/user_preferences.php | PUT | Mettre à jour ses préférences |
| /api/v1/delete_account.php | POST | Demander la suppression du compte |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/posts.php | GET | Obtenir le fil d'actualité |
| /api/v1/posts.php?user_id={id} | GET | Posts d'un utilisateur |
| /api/v1/posts.php | POST | Créer un post |
| /api/v1/posts.php?id={id} | PUT | Modifier un post |
| /api/v1/posts.php?id={id} | DELETE | Supprimer un post |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/comments.php?post_id={id} | GET | Obtenir les commentaires |
| /api/v1/comments.php | POST | Créer un commentaire |
| /api/v1/comments.php?id={id} | PUT | Modifier un commentaire |
| /api/v1/comments.php?id={id} | DELETE | Supprimer un commentaire |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/group_comments.php?post_id={id} | GET | Obtenir les commentaires de groupe |
| /api/v1/group_comments.php | POST | Créer un commentaire de groupe |
| /api/v1/group_comments.php?id={id} | PUT | Modifier un commentaire de groupe |
| /api/v1/group_comments.php?id={id} | DELETE | Supprimer un commentaire de groupe |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/comment_reactions.php?comment_id={id}&comment_type={type} | GET | Obtenir les réactions d'un commentaire |
| /api/v1/comment_reactions.php | POST | Ajouter une réaction à un commentaire |
| /api/v1/comment_reactions.php?comment_id={id}&comment_type={type} | DELETE | Retirer une réaction |
Types de commentaires : post, group, page
Types de réactions : like, love, haha, wow, sad, angry
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/reactions.php?post_id={id} | GET | Obtenir les réactions |
| /api/v1/reactions.php | POST | Ajouter une réaction |
| /api/v1/reactions.php?post_id={id} | DELETE | Retirer une réaction |
Types : like, love, haha, wow, sad, angry
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/group_reactions.php | POST | Ajouter une réaction à un post de groupe |
| /api/v1/group_reactions.php?post_id={id} | DELETE | Retirer une réaction |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/follows.php?user_id={id}&type=followers | GET | Obtenir les abonnés |
| /api/v1/follows.php?user_id={id}&type=following | GET | Obtenir les abonnements |
| /api/v1/follows.php | POST | Suivre un utilisateur |
| /api/v1/follows.php?user_id={id} | DELETE | Ne plus suivre |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/friends.php | GET | Liste des amis et demandes |
| /api/v1/friends.php | POST | Envoyer/Accepter/Refuser une demande |
| /api/v1/friends.php?user_id={id} | DELETE | Retirer des amis |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/messages.php | GET | Obtenir les conversations |
| /api/v1/messages.php?user_id={id} | GET | Messages avec un utilisateur |
| /api/v1/messages.php | POST | Envoyer un message |
| /api/v1/messages.php?id={id} | DELETE | Supprimer un message |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/message_groups.php | GET | Obtenir les groupes |
| /api/v1/message_groups.php?path={id} | GET | Détails d'un groupe |
| /api/v1/message_groups.php?path={id}/messages | GET | Messages du groupe |
| /api/v1/message_groups.php | POST | Créer un groupe |
| /api/v1/message_groups.php?path={id}/messages | POST | Envoyer un message |
| /api/v1/message_groups.php?path={id}/members | POST | Ajouter un membre |
| /api/v1/message_groups.php?path={id} | DELETE | Quitter le groupe |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/notifications.php | GET | Obtenir les notifications |
| /api/v1/notifications.php?id={id} | PUT | Marquer comme lu |
| /api/v1/notifications.php?action=read_all | PUT | Tout marquer comme lu |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/search.php?q={query} | GET | Rechercher tout |
| /api/v1/search.php?q={query}&type=users | GET | Rechercher des utilisateurs |
| /api/v1/search.php?q={query}&type=posts | GET | Rechercher des posts |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/discover.php | GET | Suggestions (militants, groupes, pages) |
| /api/v1/discover.php?type=users | GET | Suggestions de militants |
| /api/v1/discover.php?type=groups | GET | Suggestions de groupes |
| /api/v1/discover.php?type=pages | GET | Suggestions de pages |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/likes.php | POST | Liker un post |
| /api/v1/likes.php?post_id={id} | DELETE | Retirer son like |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/stories.php | GET | Obtenir les stories actives |
| /api/v1/stories.php | POST | Créer une story |
| /api/v1/stories.php?id={id} | DELETE | Supprimer une story |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/groups.php | GET | Obtenir les groupes |
| /api/v1/groups.php?id={id} | GET | Détails d'un groupe |
| /api/v1/groups.php | POST | Créer un groupe |
| /api/v1/groups.php?path={id}/join | POST | Rejoindre un groupe |
| /api/v1/groups.php?path={id}/leave | DELETE | Quitter un groupe |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/pages.php | GET | Obtenir les pages |
| /api/v1/pages.php?id={id} | GET | Détails d'une page |
| /api/v1/pages.php | POST | Créer une page |
| /api/v1/pages.php?path={id}/like | POST | Aimer une page |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/bookmarks.php | GET | Obtenir les favoris |
| /api/v1/bookmarks.php | POST | Ajouter aux favoris |
| /api/v1/bookmarks.php?post_id={id} | DELETE | Retirer des favoris |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/shares.php | POST | Partager un post |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/events.php | GET | Obtenir les événements |
| /api/v1/events.php?id={id} | GET | Détails d'un événement |
| /api/v1/events.php | POST | Créer un événement |
| /api/v1/events.php?path={id}/join | POST | Participer |
| /api/v1/events.php?id={id} | DELETE | Supprimer un événement |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/albums.php | GET | Obtenir les albums |
| /api/v1/albums.php?id={id} | GET | Détails d'un album |
| /api/v1/albums.php | POST | Créer un album |
| /api/v1/albums.php?path={id}/photos | POST | Ajouter une photo |
| /api/v1/albums.php?id={id} | DELETE | Supprimer un album |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/lives.php | GET | Obtenir les lives actifs |
| /api/v1/lives.php?path={id} | GET | Détails d'un live |
| /api/v1/lives.php?path={id}/comments | GET | Commentaires du live |
| /api/v1/lives.php?path={id}/guests | GET | Invités du live |
| /api/v1/lives.php | POST | Démarrer un live |
| /api/v1/lives.php?path={id}/comments | POST | Commenter |
| /api/v1/lives.php?path={id}/join | POST | Rejoindre comme spectateur |
| /api/v1/lives.php?path={id}/request-guest | POST | Demander à être invité |
| /api/v1/lives.php?path={id}/report | POST | Signaler un live |
| /api/v1/lives.php?path={id}/end | PUT | Terminer un live |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/reports.php | GET | Obtenir les signalements |
| /api/v1/reports.php | POST | Créer un signalement |
| /api/v1/reports.php (avec vote) | POST | Voter sur un signalement |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/moderators.php | GET | Obtenir modérateurs et candidats |
| /api/v1/moderators.php | POST | Se porter candidat |
| /api/v1/moderators.php (avec vote) | POST | Voter pour/contre |
| /api/v1/moderators.php | DELETE | Retirer sa candidature |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/sanctions.php | GET | Obtenir ses sanctions |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/upload.php | POST | Upload un fichier (max 100MB) |
Types supportés : jpg, png, gif, webp, mp4, webm, ogg
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/export.php | GET | Exporter toutes ses données (GDPR) |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/two_factor.php | GET | Statut et secret de configuration 2FA |
| /api/v1/two_factor.php?action=enable | POST | Activer la 2FA (TOTP) |
| /api/v1/two_factor.php | DELETE | Désactiver la 2FA |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/user_preferences.php | PUT | Gérer les notifications push |
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/translate.php | POST | Traduire un texte (LibreTranslate) |
Paramètres (POST) :
text : Texte à traduire (max 5000 car.)target_lang : Langue cible (ex: 'fr', 'en')Toutes les requêtes sont limitées par endpoint :
| Endpoint | Limite | |----------|--------| | Auth | 50 req/h | | Posts | 100 req/h | | Comments | 150 req/h | | Comment Reactions | 200 req/h | | Messages | 200 req/h | | Likes/Reactions | 200 req/h | | Group Reactions | 200 req/h | | Upload | 50 req/h | | Export | 5 req/h | | Autres | 100 req/h |
⚠️ Exclusif application mobile Flutter - Requiert le header X-Flutter-App: militant-flutter-v1
| Endpoint | Méthode | Description |
|----------|---------|-------------|
| /api/v1/calls.php?action=initiate | POST | Initier un appel 1-to-1 ou de groupe |
| /api/v1/calls.php?action=answer | POST | Répondre à un appel |
| /api/v1/calls.php?action=join | POST | Rejoindre un appel de groupe |
| /api/v1/calls.php?action=peer_offer | POST | Envoyer une offre WebRTC (groupe) |
| /api/v1/calls.php?action=peer_answer | POST | Envoyer une réponse WebRTC (groupe) |
| /api/v1/calls.php?action=ice_candidate | POST | Échanger des ICE candidates |
| /api/v1/calls.php?action=ice_restart | POST | Redémarrer ICE (changement réseau) |
| /api/v1/calls.php?action=reject | POST | Rejeter un appel |
| /api/v1/calls.php?action=end | POST | Terminer un appel |
| /api/v1/calls.php?action=poll | GET | Polling pour mises à jour |
| /api/v1/calls.php?action=history | GET | Historique des appels |
Initier un appel privé:
POST /api/v1/calls.php?action=initiate
Headers:
Authorization: Bearer {token}
X-Flutter-App: militant-flutter-v1
Body:
{
"recipient_id": 123,
"call_type": "audio",
"offer": "v=0\r\no=- 123456..."
}
Initier un appel de groupe:
POST /api/v1/calls.php?action=initiate
Headers:
Authorization: Bearer {token}
X-Flutter-App: militant-flutter-v1
Body:
{
"group_id": 456,
"call_type": "video",
"offer": "v=0\r\no=- 123456..."
}
Polling pour mises à jour:
GET /api/v1/calls.php?action=poll&call_id=abc123&last_poll=2024-01-01%2012:00:00
Headers:
Authorization: Bearer {token}
X-Flutter-App: militant-flutter-v1
| Endpoint | Limite | |----------|--------| | Calls | 100 req/h |