Référence Complète des Routes API Veza
Inventaire exhaustif de tous les endpoints REST et WebSocket.
Source : veza-backend-api/internal/api/routes_*.go et veza-stream-server/src/routes/api.rs
~500+ endpoints au total.
Conventions
- Base URL :
/api/v1
- Auth : JWT RS256 via cookie HTTP-only ou header
Authorization: Bearer <token>
- CSRF : Token Redis obligatoire sur tous les POST/PUT/DELETE protégés
- Rate limiting : Global (1000 req/s), par IP (100 req/s), par endpoint (variable)
- Réponses : JSON, pagination par
?page=N&limit=N
Légende des badges
| Badge |
Signification |
| 🔓 |
Public (pas d'auth) |
| 🔒 |
Auth requise |
| 🔒👑 |
Auth + admin + MFA |
| 🔒🎨 |
Auth + rôle content_creator |
| ⚡ |
Rate limité spécifiquement |
1. Authentification (/auth)
Fichier : routes_auth.go
Endpoints publics
| Méthode |
Route |
Description |
Notes |
| 🔓 POST |
/auth/register |
Inscription |
⚡ Rate limité |
| 🔓 POST |
/auth/login |
Connexion |
⚡ Rate limité |
| 🔓 POST |
/auth/login/2fa |
Connexion avec 2FA |
|
| 🔓 POST |
/auth/refresh |
Rafraîchir le token |
⚡ Rate limité |
| 🔓 POST |
/auth/verify-email |
Vérification email |
⚡ Rate limité |
| 🔓 POST |
/auth/resend-verification |
Renvoyer email vérification |
⚡ Rate limité |
| 🔓 GET |
/auth/check-username |
Disponibilité pseudo |
⚡ Rate limité |
| 🔓 POST |
/auth/password/reset-request |
Demande reset mot de passe |
⚡ Rate limité |
| 🔓 POST |
/auth/password/reset |
Reset mot de passe |
|
| 🔓 GET |
/auth/oauth/providers |
Liste des providers OAuth |
|
| 🔓 GET |
/auth/oauth/:provider |
Initier OAuth |
|
| 🔓 GET |
/auth/oauth/:provider/callback |
Callback OAuth |
|
Endpoints protégés
| Méthode |
Route |
Description |
| 🔒 POST |
/auth/logout |
Déconnexion |
| 🔒 GET |
/auth/me |
Info utilisateur courant |
| 🔒 POST |
/auth/stream-token |
Générer token streaming |
| 🔒 POST |
/auth/2fa/setup |
Configurer 2FA |
| 🔒 POST |
/auth/2fa/verify |
Vérifier 2FA |
| 🔒 POST |
/auth/2fa/disable |
Désactiver 2FA |
| 🔒 GET |
/auth/2fa/status |
Statut 2FA |
| 🔒 GET |
/auth/passkeys |
Lister Passkeys/WebAuthn |
| 🔒 POST |
/auth/passkeys/register/begin |
Début enregistrement passkey |
| 🔒 POST |
/auth/passkeys/register/finish |
Fin enregistrement passkey |
| 🔒 PUT |
/auth/passkeys/:id |
Renommer passkey |
| 🔒 DELETE |
/auth/passkeys/:id |
Supprimer passkey |
| 🔒 GET |
/auth/login-history |
Historique connexions |
2. Utilisateurs (/users)
Fichier : routes_users.go
Endpoints publics
| Méthode |
Route |
Description |
| 🔓 GET |
/users |
Lister les utilisateurs |
| 🔓 GET |
/users/:id |
Profil utilisateur |
| 🔓 GET |
/users/by-username/:username |
Profil par pseudo |
| 🔓 GET |
/users/search |
Recherche utilisateurs |
| 🔓 GET |
/users/:id/reposts |
Reposts de l'utilisateur |
| 🔓 GET |
/users/:id/gear |
Profil équipement public |
Endpoints protégés
| Méthode |
Route |
Description |
| 🔒 GET |
/users/suggestions |
Suggestions de follow |
| 🔒 GET |
/users/settings |
Paramètres utilisateur |
| 🔒 PUT |
/users/settings |
Modifier paramètres |
| 🔒 PUT |
/users/:id |
Modifier profil (ownership) |
| 🔒 DELETE |
/users/:id |
Supprimer utilisateur (ownership) |
| 🔒 GET |
/users/:id/completion |
Complétion profil |
| 🔒 PUT |
/users/me/presence |
Mettre à jour présence |
| 🔒 GET |
/users/:id/presence |
Voir la présence |
| 🔒 POST |
/users/:id/follow |
Suivre |
| 🔒 DELETE |
/users/:id/follow |
Ne plus suivre |
| 🔒 POST |
/users/:id/block |
Bloquer |
| 🔒 DELETE |
/users/:id/block |
Débloquer |
| 🔒 POST |
/users/:id/roles |
Assigner rôle |
| 🔒 DELETE |
/users/:id/roles/:roleId |
Révoquer rôle |
| 🔒 POST |
/users/:id/avatar |
Upload avatar |
| 🔒 DELETE |
/users/:id/avatar |
Supprimer avatar |
| 🔒 GET |
/users/:id/likes |
Pistes likées |
| 🔒 PUT |
/users/me/password |
Changer mot de passe |
| 🔒 GET |
/users/me/export |
Export JSON (sync, fallback) |
| 🔒 POST |
/users/me/export |
Export RGPD (async) |
| 🔒 GET |
/users/me/exports |
Lister exports |
| 🔒 GET |
/users/me/exports/:id/download |
Télécharger export |
| 🔒 GET |
/users/me/exports/:id |
Statut export |
| 🔒 DELETE |
/users/me |
Supprimer compte |
| 🔒 POST |
/users/me/privacy/opt-out |
CCPA Do Not Sell |
3. Rôles (/roles)
Fichier : routes_users.go
| Méthode |
Route |
Description |
| 🔒 GET |
/roles |
Lister les rôles |
| 🔒 GET |
/roles/:id |
Détail d'un rôle |
| 🔒 POST |
/roles |
Créer un rôle |
| 🔒 PUT |
/roles/:id |
Modifier un rôle |
| 🔒 DELETE |
/roles/:id |
Supprimer un rôle |
4. Pistes audio (/tracks)
Fichier : routes_tracks.go
Endpoints publics
| Méthode |
Route |
Description |
| 🔓 GET |
/tracks |
Lister les pistes (auth optionnelle) |
| 🔓 GET |
/tracks/search |
Recherche de pistes |
| 🔓 GET |
/tracks/suggested-tags |
Suggestions de tags |
| 🔓 GET |
/tracks/:id |
Détail piste (auth optionnelle) |
| 🔓 GET |
/tracks/:id/lyrics |
Paroles |
| 🔓 GET |
/tracks/:id/stats |
Statistiques |
| 🔓 GET |
/tracks/:id/waveform |
Forme d'onde |
| 🔓 GET |
/tracks/:id/history |
Historique |
| 🔓 GET |
/tracks/:id/download |
Téléchargement |
| 🔓 GET |
/tracks/shared/:token |
Piste partagée |
| 🔓 GET |
/tracks/:id/repost |
Statut repost (auth optionnelle) |
| 🔓 GET |
/tracks/:id/comments |
Commentaires |
Endpoints HLS (publics)
| Méthode |
Route |
Description |
| 🔓 GET |
/tracks/:id/hls/info |
Info stream HLS |
| 🔓 GET |
/tracks/:id/hls/status |
Statut stream HLS |
| 🔓 GET |
/tracks/:id/hls/master.m3u8 |
Playlist master HLS |
| 🔓 GET |
/tracks/:id/hls/:bitrate/playlist.m3u8 |
Playlist qualité |
| 🔓 GET |
/tracks/:id/hls/:bitrate/:segment |
Segment HLS |
Endpoints protégés
| Méthode |
Route |
Description |
| 🔒🎨 POST |
/tracks |
Upload piste |
| 🔒 GET |
/tracks/recommendations |
Recommandations |
| 🔒 PUT |
/tracks/:id |
Modifier piste (ownership) |
| 🔒 PUT |
/tracks/:id/lyrics |
Modifier paroles (ownership) |
| 🔒 DELETE |
/tracks/:id |
Supprimer piste (ownership) |
| 🔒 GET |
/tracks/:id/status |
Statut upload |
| 🔒 POST |
/tracks/initiate |
Initier upload chunked |
| 🔒 POST |
/tracks/chunk |
Upload chunk |
| 🔒 POST |
/tracks/complete |
Finaliser upload chunked |
| 🔒 GET |
/tracks/quota/:id |
Quota upload |
| 🔒 GET |
/tracks/resume/:uploadId |
Reprendre upload |
| 🔒 POST |
/tracks/batch/delete |
Suppression batch |
| 🔒 POST |
/tracks/batch/update |
Mise à jour batch |
| 🔒 POST |
/tracks/:id/like |
Liker |
| 🔒 DELETE |
/tracks/:id/like |
Unliker |
| 🔒 GET |
/tracks/:id/likes |
Likes de la piste |
| 🔒 POST |
/tracks/:id/repost |
Reposter |
| 🔒 DELETE |
/tracks/:id/repost |
Annuler repost |
| 🔒 POST |
/tracks/:id/share |
Créer partage |
| 🔒 DELETE |
/tracks/share/:id |
Révoquer partage |
| 🔒 POST |
/tracks/:id/versions/:versionId/restore |
Restaurer version |
| 🔒 POST |
/tracks/:id/play |
Enregistrer lecture |
| 🔒 POST |
/tracks/:id/stems |
Upload stem |
| 🔒 GET |
/tracks/:id/stems |
Lister stems |
| 🔒 GET |
/tracks/:id/stems/:name/download |
Télécharger stem |
| Méthode |
Route |
Description |
| 🔒 POST |
/tracks/:id/comments |
Créer commentaire |
| 🔒 DELETE |
/comments/:id |
Supprimer commentaire |
5. Playlists (/playlists)
Fichier : routes_playlists.go
| Méthode |
Route |
Description |
| 🔓 GET |
/playlists/shared/:token |
Playlist partagée |
| 🔒 GET |
/playlists |
Mes playlists |
| 🔒 POST |
/playlists |
Créer playlist |
| 🔒 POST |
/playlists/import |
Importer playlist |
| 🔒 GET |
/playlists/search |
Recherche |
| 🔒 GET |
/playlists/recommendations |
Recommandations |
| 🔒 GET |
/playlists/favoris |
Playlist favoris |
| 🔒 GET |
/playlists/:id |
Détail playlist |
| 🔒 GET |
/playlists/:id/analytics |
Stats playlist |
| 🔒 PUT |
/playlists/:id |
Modifier (ownership) |
| 🔒 DELETE |
/playlists/:id |
Supprimer (ownership) |
| 🔒 POST |
/playlists/:id/tracks |
Ajouter piste |
| 🔒 DELETE |
/playlists/:id/tracks/:track_id |
Retirer piste |
| 🔒 PUT |
/playlists/:id/tracks/reorder |
Réordonner |
| 🔒 POST |
/playlists/:id/collaborators |
Ajouter collaborateur |
| 🔒 GET |
/playlists/:id/collaborators |
Lister collaborateurs |
| 🔒 PUT |
/playlists/:id/collaborators/:userId |
Modifier permission |
| 🔒 DELETE |
/playlists/:id/collaborators/:userId |
Retirer collaborateur |
| 🔒 POST |
/playlists/:id/share |
Créer lien de partage |
| 🔒 GET |
/playlists/:id/export/json |
Export JSON |
| 🔒 GET |
/playlists/:id/export/csv |
Export CSV |
| 🔒 GET |
/playlists/:id/export/m3u |
Export M3U |
| 🔒 POST |
/playlists/:id/duplicate |
Dupliquer |
6. Chat & Conversations (/chat, /conversations)
Fichier : router.go, routes_core.go
Chat
| Méthode |
Route |
Description |
| 🔒 GET |
/chat/ws |
WebSocket chat |
| 🔒 POST |
/chat/token |
Obtenir token chat |
| 🔒 GET |
/chat/stats |
Stats chat |
| 🔒 POST |
/chat/rooms/:roomId/messages/:messageId/reactions |
Ajouter réaction |
| 🔒 DELETE |
/chat/rooms/:roomId/messages/:messageId/reactions |
Retirer réaction |
| 🔒 GET |
/chat/rooms/:roomId/messages/search |
Recherche messages |
| 🔒 POST |
/chat/rooms/:roomId/attachments |
Upload pièce jointe |
Conversations
| Méthode |
Route |
Description |
| 🔒 GET |
/conversations |
Mes conversations |
| 🔒 POST |
/conversations |
Créer conversation |
| 🔒 GET |
/conversations/join/:token |
Rejoindre par token |
| 🔒 GET |
/conversations/:id |
Détail conversation |
| 🔒 PUT |
/conversations/:id |
Modifier conversation |
| 🔒 DELETE |
/conversations/:id |
Supprimer conversation |
| 🔒 POST |
/conversations/:id/leave |
Quitter |
| 🔒 GET |
/conversations/:id/members |
Lister membres |
| 🔒 POST |
/conversations/:id/members |
Ajouter membre |
| 🔒 DELETE |
/conversations/:id/members/:userId |
Exclure membre |
| 🔒 PATCH |
/conversations/:id/members/:userId |
Modifier rôle membre |
| 🔒 POST |
/conversations/:id/participants |
Ajouter participant |
| 🔒 DELETE |
/conversations/:id/participants/:userId |
Retirer participant |
| 🔒 POST |
/conversations/:id/invitations |
Créer invitation |
| 🔒 GET |
/conversations/:id/history |
Historique |
7. Social (/social)
Fichier : routes_social.go
Endpoints publics
| Méthode |
Route |
Description |
| 🔓 GET |
/social/feed |
Feed (auth optionnelle) |
| 🔓 GET |
/social/explore |
Explorer |
| 🔓 GET |
/social/trending |
Tendances |
| 🔓 GET |
/social/posts/user/:user_id |
Posts utilisateur |
| 🔓 GET |
/social/groups |
Lister groupes |
Endpoints protégés
| Méthode |
Route |
Description |
| 🔒 GET |
/social/groups/mine |
Mes groupes |
| 🔒 GET |
/social/groups/:id |
Détail groupe |
| 🔒 POST |
/social/posts |
Créer post |
| 🔒 POST |
/social/like |
Toggle like |
| 🔒 POST |
/social/comments |
Ajouter commentaire |
| 🔒 POST |
/social/groups |
Créer groupe |
| 🔒 POST |
/social/groups/:id/join |
Rejoindre groupe |
| 🔒 DELETE |
/social/groups/:id/leave |
Quitter groupe |
| 🔒 POST |
/social/groups/:id/request |
Demande adhésion |
| 🔒 GET |
/social/groups/:id/requests |
Demandes en attente |
| 🔒 POST |
/social/groups/:id/requests/:request_id/approve |
Approuver |
| 🔒 POST |
/social/groups/:id/requests/:request_id/reject |
Rejeter |
| 🔒 POST |
/social/groups/:id/invite |
Inviter membre |
| 🔒 PUT |
/social/groups/:id/members/:user_id/role |
Modifier rôle |
8. Découverte (/discover)
Fichier : routes_discover.go
| Méthode |
Route |
Description |
| 🔓 GET |
/discover/genres |
Lister genres |
| 🔓 GET |
/discover/genre/:genre |
Pistes par genre |
| 🔓 GET |
/discover/tag/:tag |
Pistes par tag |
| 🔓 GET |
/discover/playlists/editorial |
Playlists éditoriales |
| 🔒 POST |
/discover/genre/:genre/follow |
Suivre genre |
| 🔒 DELETE |
/discover/genre/:genre/follow |
Ne plus suivre genre |
| 🔒 POST |
/discover/tag/:tag/follow |
Suivre tag |
| 🔒 DELETE |
/discover/tag/:tag/follow |
Ne plus suivre tag |
9. Recherche (/search)
Fichier : routes_search.go
| Méthode |
Route |
Description |
| 🔓 GET |
/search |
Recherche unifiée (pistes, users, playlists) |
| 🔓 GET |
/search/suggestions |
Suggestions |
Backend : Elasticsearch (fallback PostgreSQL full-text).
10. Feed (/feed)
Fichier : routes_feed.go
| Méthode |
Route |
Description |
| 🔒 GET |
/feed |
Feed chronologique des pistes |
11. File d'attente (/queue)
Fichier : routes_queue.go
| Méthode |
Route |
Description |
| 🔒 GET |
/queue |
Ma file d'attente |
| 🔒 PUT |
/queue |
Mettre à jour |
| 🔒 POST |
/queue/items |
Ajouter item |
| 🔒 DELETE |
/queue/items/:id |
Retirer item |
| 🔒 DELETE |
/queue |
Vider la file |
| 🔒 POST |
/queue/session |
Créer session collaborative |
| 🔒 DELETE |
/queue/session/:token |
Supprimer session |
| 🔒 POST |
/queue/session/:token/items |
Ajouter à session |
| 🔒 DELETE |
/queue/session/:token/items/:id |
Retirer de session |
| 🔓 GET |
/queue/session/:token |
Voir session (auth optionnelle) |
12. Marketplace (/marketplace, /sell, /commerce)
Fichier : routes_marketplace.go
Marketplace (publics)
| Méthode |
Route |
Description |
| 🔓 GET |
/marketplace/products |
Lister produits |
| 🔓 GET |
/marketplace/products/:id |
Détail produit |
| 🔓 GET |
/marketplace/products/:id/preview |
Prévisualiser |
| 🔓 GET |
/marketplace/products/:id/reviews |
Avis |
Marketplace (protégés)
| Méthode |
Route |
Description |
| 🔒🎨 POST |
/marketplace/products |
Créer produit |
| 🔒🎨 POST |
/marketplace/products/:id/preview |
Upload preview |
| 🔒 PUT |
/marketplace/products/:id |
Modifier (ownership) |
| 🔒 PUT |
/marketplace/products/:id/images |
Modifier images |
| 🔒 GET |
/marketplace/orders |
Mes commandes |
| 🔒 GET |
/marketplace/orders/:id |
Détail commande |
| 🔒 GET |
/marketplace/orders/:id/invoice |
Facture |
| 🔒 POST |
/marketplace/orders/:id/refund |
Remboursement |
| 🔒 POST |
/marketplace/orders |
Créer commande |
| 🔒 GET |
/marketplace/download/:product_id |
URL téléchargement |
| 🔒 GET |
/marketplace/licenses/mine |
Mes licences |
| 🔒 POST |
/marketplace/products/:id/reviews |
Laisser avis |
| 🔒 GET |
/marketplace/wishlist |
Wishlist |
| 🔒 POST |
/marketplace/wishlist |
Ajouter à wishlist |
| 🔒 DELETE |
/marketplace/wishlist/:productId |
Retirer de wishlist |
Vendeur (/sell)
| Méthode |
Route |
Description |
| 🔒🎨 GET |
/sell/stats |
Stats ventes |
| 🔒🎨 GET |
/sell/stats/evolution |
Évolution stats |
| 🔒🎨 GET |
/sell/stats/top-products |
Top produits |
| 🔒🎨 GET |
/sell/sales |
Historique ventes |
| 🔒🎨 POST |
/sell/connect/onboard |
Onboarding Stripe Connect |
| 🔒🎨 GET |
/sell/connect/callback |
Callback Stripe |
| 🔒🎨 GET |
/sell/balance |
Solde |
| 🔒🎨 GET |
/sell/transfers |
Transferts |
| 🔒🎨 GET |
/sell/marketplace-balance |
Solde marketplace |
| 🔒🎨 GET |
/sell/payouts |
Historique versements |
| 🔒🎨 POST |
/sell/payouts/request |
Demander versement |
| 🔒🎨 POST |
/sell/kyc/start |
Démarrer KYC |
| 🔒🎨 GET |
/sell/kyc/status |
Statut KYC |
Commerce (/commerce)
| Méthode |
Route |
Description |
| 🔒 GET |
/commerce/cart |
Panier |
| 🔒 GET |
/commerce/promo/:code |
Valider code promo |
| 🔒 POST |
/commerce/cart/items |
Ajouter au panier |
| 🔒 DELETE |
/commerce/cart/items/:id |
Retirer du panier |
| 🔒 POST |
/commerce/cart/checkout |
Payer |
Support
| Méthode |
Route |
Description |
| 🔓 POST |
/support/tickets |
Soumettre ticket |
13. Webhooks (/webhooks)
Fichier : routes_webhooks.go
| Méthode |
Route |
Description |
| 🔓 POST |
/webhooks/hyperswitch |
Webhook paiement (vérif. signature) |
| 🔒 POST |
/webhooks |
Enregistrer webhook |
| 🔒 GET |
/webhooks |
Lister webhooks |
| 🔒 DELETE |
/webhooks/:id |
Supprimer webhook |
| 🔒 GET |
/webhooks/stats |
Stats webhooks |
| 🔒 POST |
/webhooks/:id/test |
Tester webhook |
| 🔒 POST |
/webhooks/:id/regenerate-key |
Régénérer clé API |
14. Analytics (/analytics, /creator/analytics)
Fichier : routes_analytics.go
| Méthode |
Route |
Description |
| 🔒 GET |
/analytics/creator/stats |
Stats créateur |
| 🔒 GET |
/analytics/creator/charts |
Graphiques |
| 🔒 GET |
/analytics/creator/export |
Export |
| 🔒 GET |
/analytics |
Analytics globales |
| 🔒 POST |
/analytics/events |
Enregistrer événement |
| 🔒 GET |
/analytics/tracks/:id |
Analytics piste |
| 🔒 GET |
/analytics/traffic-sources |
Sources de trafic |
| 🔒 GET |
/analytics/device-breakdown |
Répartition appareils |
| 🔒 GET |
/creator/analytics/dashboard |
Dashboard créateur |
| 🔒 GET |
/creator/analytics/plays |
Évolution lectures |
| 🔒 GET |
/creator/analytics/sales |
Ventes |
| 🔒 GET |
/creator/analytics/discovery |
Sources découverte |
| 🔒 GET |
/creator/analytics/geographic |
Géographie |
| 🔒 GET |
/creator/analytics/audience |
Audience |
| 🔒 GET |
/creator/analytics/live/:streamId |
Métriques live |
| 🔒 GET |
/creator/analytics/tracks |
Pistes |
| 🔒 GET |
/creator/analytics/export |
Export analytics |
| 🔒 GET |
/creator/analytics/heatmap/:trackId |
Heatmap piste |
| 🔒 GET |
/creator/analytics/compare |
Comparaison périodes |
| 🔒 GET |
/creator/analytics/marketplace |
Analytics marketplace |
| 🔒 GET |
/creator/analytics/alerts |
Alertes métriques |
| 🔒 POST |
/creator/analytics/alerts |
Créer alerte |
| 🔒 PUT |
/creator/analytics/alerts/preferences |
Préférences alertes |
| 🔒 DELETE |
/creator/analytics/alerts/:alertId |
Supprimer alerte |
| 🔒 POST |
/creator/analytics/alerts/check |
Vérifier alertes |
15. Modération (/admin/moderation, /reports, /strikes)
Fichier : routes_moderation.go
Admin
| Méthode |
Route |
Description |
| 🔒👑 GET |
/admin/moderation/queue |
File de modération |
| 🔒👑 POST |
/admin/moderation/reports/:id/process |
Traiter signalement |
| 🔒👑 POST |
/admin/moderation/reports/:id/assign |
Assigner signalement |
| 🔒👑 GET |
/admin/moderation/spam |
Détections spam |
| 🔒👑 GET |
/admin/moderation/fingerprints |
Empreintes en attente |
| 🔒👑 POST |
/admin/moderation/fingerprints/:trackId/review |
Vérifier empreinte |
| 🔒👑 GET |
/admin/moderation/users/:userId/strikes |
Strikes utilisateur |
| 🔒👑 GET |
/admin/moderation/appeals |
Appels en attente |
| 🔒👑 POST |
/admin/moderation/appeals/:strikeId/resolve |
Résoudre appel |
| 🔒👑 GET |
/admin/moderation/stats |
Stats modération |
Utilisateur
| Méthode |
Route |
Description |
| 🔒 POST |
/reports |
Signaler contenu |
| 🔒 GET |
/me/strikes |
Mes strikes |
| 🔒 POST |
/strikes/:strikeId/appeal |
Faire appel |
Fichier : routes_admin_platform.go
| Méthode |
Route |
Description |
| 🔒👑 GET |
/admin/platform/metrics |
Métriques plateforme |
| 🔒👑 GET |
/admin/platform/users |
Recherche utilisateurs |
| 🔒👑 GET |
/admin/platform/users/:userId |
Détail utilisateur |
| 🔒👑 PUT |
/admin/platform/users/:userId/role |
Modifier rôle |
| 🔒👑 POST |
/admin/platform/users/:userId/suspend |
Suspendre |
| 🔒👑 POST |
/admin/platform/users/:userId/unsuspend |
Réactiver |
| 🔒👑 GET |
/admin/platform/content |
Recherche contenu |
| 🔒👑 POST |
/admin/platform/content/:id/hide |
Masquer contenu |
| 🔒👑 POST |
/admin/platform/content/:id/restore |
Restaurer contenu |
| 🔒👑 GET |
/admin/platform/payments |
Aperçu paiements |
| 🔒👑 POST |
/admin/platform/orders/:id/refund |
Rembourser commande |
17. Live streaming (/live)
Fichier : routes_live.go
| Méthode |
Route |
Description |
| 🔓 GET |
/live/streams |
Lister streams live |
| 🔓 GET |
/live/streams/:id |
Détail stream |
| 🔒 GET |
/live/streams/me |
Mes streams |
| 🔒 GET |
/live/streams/me/key |
Clé de stream |
| 🔒 POST |
/live/streams/me/key/regenerate |
Régénérer clé |
| 🔒 POST |
/live/streams |
Créer live |
| 🔒 PUT |
/live/streams/:id |
Modifier live |
| POST |
/live/callback/publish |
Callback RTMP (secret) |
| POST |
/live/callback/publish_done |
Callback fin RTMP |
18. Co-écoute (/co-listening)
Fichier : routes_co_listening.go
| Méthode |
Route |
Description |
| 🔒 POST |
/co-listening/sessions |
Créer session |
| 🔒 GET |
/co-listening/sessions/:id |
Détail session |
| 🔒 DELETE |
/co-listening/sessions/:id |
Terminer session |
| 🔒 GET |
/co-listening/ws |
WebSocket co-écoute (JWT en query) |
19. Inventaire / Équipement (/inventory, /users/:id/gear)
Fichier : routes_gear.go
| Méthode |
Route |
Description |
| 🔓 GET |
/users/:id/gear |
Profil équipement public |
| 🔒 GET |
/inventory/gear |
Lister mon équipement |
| 🔒 POST |
/inventory/gear |
Ajouter équipement |
| 🔒 GET |
/inventory/gear/:id |
Détail équipement |
| 🔒 PUT |
/inventory/gear/:id |
Modifier |
| 🔒 DELETE |
/inventory/gear/:id |
Supprimer |
| 🔒 POST |
/inventory/gear/:id/images |
Upload image |
| 🔒 DELETE |
/inventory/gear/:id/images/:img_id |
Supprimer image |
| 🔒 POST |
/inventory/gear/:id/documents |
Upload document |
| 🔒 GET |
/inventory/gear/:id/documents |
Lister documents |
| 🔒 DELETE |
/inventory/gear/:id/documents/:docId |
Supprimer document |
| 🔒 POST |
/inventory/gear/:id/repairs |
Ajouter réparation |
| 🔒 GET |
/inventory/gear/:id/repairs |
Lister réparations |
| 🔒 DELETE |
/inventory/gear/:id/repairs/:repairId |
Supprimer réparation |
20. Cloud personnel (/cloud)
Fichier : routes_cloud.go
| Méthode |
Route |
Description |
| 🔓 GET |
/cloud/shared/:token |
Fichier partagé |
| 🔒 GET |
/cloud/folders |
Lister dossiers |
| 🔒 POST |
/cloud/folders |
Créer dossier |
| 🔒 PUT |
/cloud/folders/:id |
Renommer dossier |
| 🔒 DELETE |
/cloud/folders/:id |
Supprimer dossier |
| 🔒 GET |
/cloud/files |
Lister fichiers |
| 🔒 POST |
/cloud/files |
Upload fichier |
| 🔒 GET |
/cloud/files/:id |
Détail fichier |
| 🔒 DELETE |
/cloud/files/:id |
Supprimer fichier |
| 🔒 GET |
/cloud/files/:id/stream |
Streamer fichier |
| 🔒 POST |
/cloud/files/:id/publish |
Publier comme piste |
| 🔒 GET |
/cloud/files/:id/versions |
Lister versions |
| 🔒 POST |
/cloud/files/:id/versions |
Créer version |
| 🔒 POST |
/cloud/files/:id/restore/:version |
Restaurer version |
| 🔒 POST |
/cloud/files/:id/share |
Partager fichier |
| 🔒 GET |
/cloud/quota |
Quota stockage |
21. Abonnements (/subscriptions)
Fichier : routes_subscription.go
| Méthode |
Route |
Description |
| 🔓 GET |
/subscriptions/plans |
Lister forfaits |
| 🔓 GET |
/subscriptions/plans/:id |
Détail forfait |
| 🔒 GET |
/subscriptions/me |
Mon abonnement |
| 🔒 POST |
/subscriptions/subscribe |
S'abonner |
| 🔒 POST |
/subscriptions/cancel |
Annuler |
| 🔒 POST |
/subscriptions/reactivate |
Réactiver |
| 🔒 PUT |
/subscriptions/billing-cycle |
Changer cycle |
| 🔒 GET |
/subscriptions/invoices |
Factures |
| 🔒 GET |
/subscriptions/history |
Historique |
22. Distribution (/distributions)
Fichier : routes_distribution.go
| Méthode |
Route |
Description |
| 🔒 POST |
/distributions/submit |
Soumettre distribution |
| 🔒 GET |
/distributions |
Lister distributions |
| 🔒 GET |
/distributions/:id |
Détail |
| 🔒 GET |
/distributions/:id/status-history |
Historique statut |
| 🔒 POST |
/distributions/:id/remove |
Retirer |
| 🔒 GET |
/tracks/:id/distributions |
Distributions d'une piste |
| 🔒 GET |
/creators/me/external-royalties |
Royalties externes |
23. Éducation (/courses, /enrollments, /lessons, /certificates)
Fichier : routes_education.go
Endpoints publics
| Méthode |
Route |
Description |
| 🔓 GET |
/courses |
Cours publiés |
| 🔓 GET |
/courses/:id |
Détail cours |
| 🔓 GET |
/courses/:id/lessons |
Leçons du cours |
| 🔓 GET |
/courses/:id/reviews |
Avis |
| 🔓 GET |
/courses/slug/:slug |
Cours par slug |
| 🔓 GET |
/certificates/:code |
Vérifier certificat |
Endpoints protégés
| Méthode |
Route |
Description |
| 🔒 POST |
/courses |
Créer cours |
| 🔒 PUT |
/courses/:id |
Modifier cours |
| 🔒 DELETE |
/courses/:id |
Supprimer cours |
| 🔒 POST |
/courses/:id/publish |
Publier |
| 🔒 POST |
/courses/:id/archive |
Archiver |
| 🔒 POST |
/courses/:id/lessons |
Créer leçon |
| 🔒 PUT |
/courses/:id/lessons/:lesson_id |
Modifier leçon |
| 🔒 DELETE |
/courses/:id/lessons/:lesson_id |
Supprimer leçon |
| 🔒 POST |
/courses/:id/lessons/reorder |
Réordonner leçons |
| 🔒 POST |
/courses/:id/lessons/:lesson_id/video |
Upload vidéo |
| 🔒 POST |
/courses/:id/enroll |
S'inscrire |
| 🔒 GET |
/courses/:id/progress |
Progression |
| 🔒 POST |
/courses/:id/certificate |
Obtenir certificat |
| 🔒 POST |
/courses/:id/reviews |
Laisser avis |
| 🔒 GET |
/enrollments |
Mes inscriptions |
| 🔒 POST |
/lessons/:lesson_id/progress |
Mise à jour progression |
| 🔒 GET |
/certificates |
Mes certificats |
| 🔒 GET |
/creators/me/courses |
Mes cours (créateur) |
Fichier : routes_tag.go
| Méthode |
Route |
Description |
| 🔒 GET |
/tags/suggest |
Suggestions de tags |
25. Développeur (/developer)
Fichier : routes_developer.go
| Méthode |
Route |
Description |
| 🔒 GET |
/developer/api-keys |
Lister clés API |
| 🔒 POST |
/developer/api-keys |
Créer clé API |
| 🔒 DELETE |
/developer/api-keys/:id |
Supprimer clé API |
26. Sessions (/sessions)
Fichier : routes_core.go
| Méthode |
Route |
Description |
| 🔒 POST |
/sessions/logout |
Déconnexion |
| 🔒 POST |
/sessions/logout-all |
Déconnexion tous appareils |
| 🔒 POST |
/sessions/logout-others |
Déconnexion autres appareils |
| 🔒 GET |
/sessions |
Sessions actives |
| 🔒 DELETE |
/sessions/:session_id |
Révoquer session |
| 🔒 GET |
/sessions/stats |
Stats sessions |
| 🔒 POST |
/sessions/refresh |
Rafraîchir session |
27. Uploads (/uploads)
Fichier : routes_core.go
| Méthode |
Route |
Description |
| 🔓 GET |
/upload/limits |
Limites upload |
| 🔓 GET |
/upload/validate-type |
Valider type fichier |
| 🔒 POST |
/uploads/ |
Upload fichier |
| 🔒 POST |
/uploads/batch |
Upload batch |
| 🔒 GET |
/uploads/:id/status |
Statut upload |
| 🔒 GET |
/uploads/:id/progress |
Progression |
| 🔒 DELETE |
/uploads/:id |
Supprimer upload |
| 🔒 GET |
/uploads/stats |
Stats uploads |
28. Notifications (/notifications)
Fichier : routes_core.go
| Méthode |
Route |
Description |
| 🔒 GET |
/notifications |
Mes notifications |
| 🔒 GET |
/notifications/unread-count |
Non lues |
| 🔒 GET |
/notifications/preferences |
Préférences |
| 🔒 PUT |
/notifications/preferences |
Modifier préférences |
| 🔒 POST |
/notifications/push/subscribe |
S'abonner push |
| 🔒 POST |
/notifications/:id/read |
Marquer lue |
| 🔒 POST |
/notifications/read-all |
Tout marquer lu |
| 🔒 DELETE |
/notifications/:id |
Supprimer |
| 🔒 DELETE |
/notifications |
Tout supprimer |
29. Audit (/audit)
Fichier : routes_core.go
| Méthode |
Route |
Description |
| 🔒 GET |
/audit/logs |
Rechercher logs |
| 🔒 GET |
/audit/stats |
Stats audit |
| 🔒 GET |
/audit/activity |
Activité utilisateur |
| 🔒 GET |
/audit/suspicious |
Activité suspecte |
| 🔒 GET |
/audit/ip/:ip |
Activité d'une IP |
| 🔒 GET |
/audit/logs/:id |
Détail log |
| 🔒 POST |
/audit/cleanup |
Nettoyage anciens logs |
30. Santé & Métriques (publics)
Fichier : routes_core.go
| Méthode |
Route |
Description |
| 🔓 GET |
/health |
Santé basique |
| 🔓 GET |
/health/deep |
Santé approfondie |
| 🔓 GET |
/healthz |
Liveness probe |
| 🔓 GET |
/readyz |
Readiness probe |
| 🔓 GET |
/api/v1/status |
Statut API |
| 🔓 GET |
/api/v1/csrf-token |
Token CSRF |
| 🔓 POST |
/api/v1/logs/frontend |
Logs frontend ⚡ |
| 🔓 GET |
/api/v1/announcements/active |
Annonces actives |
| GET |
/metrics |
Prometheus (protégé metrics middleware) |
31. Administration générale (/admin)
Fichier : routes_core.go
| Méthode |
Route |
Description |
| 🔒👑 GET |
/admin/audit/logs |
Logs audit admin |
| 🔒👑 GET |
/admin/audit/stats |
Stats audit admin |
| 🔒👑 GET |
/admin/audit/suspicious |
Activité suspecte |
| 🔒👑 GET |
/admin/reports |
Signalements |
| 🔒👑 POST |
/admin/reports/:id/resolve |
Résoudre signalement |
| 🔒👑 PUT |
/admin/maintenance |
Mode maintenance |
| 🔒👑 GET |
/admin/maintenance |
Statut maintenance |
| 🔒👑 GET |
/admin/announcements |
Lister annonces |
| 🔒👑 POST |
/admin/announcements |
Créer annonce |
| 🔒👑 DELETE |
/admin/announcements/:id |
Supprimer annonce |
| 🔒👑 GET |
/admin/transfers |
Transferts |
| 🔒👑 POST |
/admin/transfers/:id/retry |
Relancer transfert |
| 🔒👑 POST |
/admin/auth/unlock-account |
Débloquer compte |
| 🔒👑 POST |
/admin/search/reindex |
Réindexer Elasticsearch |
| 🔒👑 GET |
/admin/feature-flags |
Feature flags |
| 🔒👑 PUT |
/admin/feature-flags/:name |
Toggle feature flag |
32. Routes internes (entre services)
| Méthode |
Route |
Description |
| POST |
/internal/tracks/:id/stream-ready |
Callback stream (header X-Stream-Secret) |
| POST |
/internal/stream-events |
Événements stream |
Serveur Streaming Rust (Axum)
Voir SERVEUR_STREAMING_RUST pour le détail complet.
| Méthode |
Route |
Description |
| 🔓 GET |
/ |
Info serveur |
| 🔓 GET |
/health |
Santé |
| 🔓 GET |
/healthz |
Liveness |
| 🔓 GET |
/readyz |
Readiness |
| 🔓 GET |
/metrics |
Prometheus |
| 🔓 GET |
/stream/{filename} |
Stream audio (signature) |
| POST |
/internal/jobs/transcode |
Job transcoding (clé interne) |
| 🔒 POST |
/v1/stream/transcode |
Initier transcoding |
| 🔒 GET |
/v1/stream/job/{id} |
Statut job |
| 🔒 GET |
/v1/stream/hls/{job_id}/index.m3u8 |
Playlist HLS |
| 🔒 GET |
/v1/stream/hls/{job_id}/{segment} |
Segment HLS |
| 🔒 GET |
/hls/{track_id}/master.m3u8 |
Master playlist |
| 🔒 GET |
/hls/{track_id}/{quality}/playlist.m3u8 |
Playlist qualité |
| 🔒 GET |
/hls/{track_id}/{quality}/{segment} |
Segment qualité |
| 🔓 GET |
/ws |
WebSocket streaming |
Pile de middlewares globaux (ordre d'exécution)
- CORS — Validation des origines
- Cache Headers — En-têtes CDN
- Maintenance Mode — Retourne 503 sauf /health et /admin
- Request Logger — Logs structurés
- Prometheus Metrics — Compteurs/histogrammes
- Sentry Recovery — Capture d'erreurs
- Security Headers — HSTS, CSP, X-Content-Type-Options
- CCPA Header — Sec-GPC
- Audit Middleware — Auto-log POST/PUT/DELETE
- API Monitoring — Suivi pannes/alertes
- Error Handler — Stack traces en dev/DEBUG
- Recovery — Récupération après panic
- Request ID — UUID par requête
- Global Timeout — Timeout global
- DDoS Rate Limiting — 1000 req/s global, 100/s par IP
- Rate Limiter — Général
- Response Cache — Redis, TTL 5-15 min
Documents liés