Tableau exhaustif de tous les endpoints Discovery, Auth, profil, CRUD, invitations et modules disponibles pour une WakaApp.
Version v1.09 min de lecture
Référence des endpoints
Table de référence rapide. Pour chaque groupe, la méthode, la route, l'auth requise et le droit applicatif. Utilisez le Swagger UI (http://localhost/api/docs) pour les détails complets des DTOs.
Discovery (pré-auth — publics)
Base URL : {DISCOVERY_API_URL} (défaut : http://localhost)
Méthode
Route
Throttle
Description
GET
/discover/email?email=
5/60s · 20/600s (10 min) · 100/3600s (1 h)
Trouver l'organisation par email
GET
/discover/subdomain?subdomain=
5/60s · 20/600s (10 min) · 100/3600s (1 h)
Trouver l'organisation par subdomain
GET
/discover/apps/customer?customerId=
—
Apps accessibles pour un customer
GET
/discover/apps/user?userId=
—
Apps accessibles pour un utilisateur
GET
/discover/apps/network?networkId=
—
Apps accessibles pour un network
POST
/discover/start-login
5/60s · 20/600s (10 min) · 100/3600s (1 h)
Résout realm + client_id, retourne keycloakUrl
Auth (BFF wakastart — publics pour l'enrich)
Base URL : {WAKASTART_BACKEND_URL} (défaut : http://localhost)
Méthode
Route
Throttle
Description
GET
/api/auth/public-key
—
Clé RSA publique
POST
/api/auth/enrich
— (non limité côté BFF)
Enrichit un access_token Keycloak en wakaToken signé par WakaStart
Breaking change :POST /api/config/users et PUT /api/config/users/:wid acceptaient encore un champ userLevel en production jusqu'à récemment. Le champ a été retiré du DTO (CreateUserDto/UpdateUserDto) et la ValidationPipe globale de ws-serv-config est stricte (whitelist: true, forbidNonWhitelisted: true) : envoyer userLevel dans le body de ces deux endpoints renvoie désormais un 400 Bad Request. Retirez ce champ de vos intégrations existantes.
Config — Teams
Méthode
Route
Droit requis
Description
GET
/api/config/teams
teams.read
Lister les équipes
GET
/api/config/teams/:wid
teams.read
Détail équipe
POST
/api/config/teams
teams.create
Créer une équipe
PATCH
/api/config/teams/:wid
teams.write
Modifier une équipe
DELETE
/api/config/teams/:wid
teams.delete
Supprimer une équipe
GET
/api/config/teams/:wid/members
teams.read
Lister les membres
POST
/api/config/teams/:wid/members
teams.members.add
Ajouter un membre
DELETE
/api/config/teams/:wid/members/:userId
teams.members.remove
Retirer un membre
Config — Applications
Méthode
Route
Droit requis
Description
GET
/api/config/apps
apps.read
Lister les applications
GET
/api/config/apps/:wid
apps.read
Détail application
POST
/api/config/apps
apps.create
Créer une application
PATCH
/api/config/apps/:wid
apps.write
Modifier une application
DELETE
/api/config/apps/:wid
apps.delete
Supprimer une application
GET
/api/apps/:appWid/runtime-config
—
Runtime config (thème, langues, branding)
Config — Profils et Droits
Méthode
Route
Droit requis
Description
GET
/api/config/profiles
profiles.read
Lister les profils
GET
/api/config/profiles/:wid
profiles.read
Détail profil
POST
/api/config/profiles
profiles.create
Créer un profil
PATCH
/api/config/profiles/:wid
profiles.write
Modifier un profil
DELETE
/api/config/profiles/:wid
profiles.delete
Supprimer un profil
GET
/api/config/profiles/:wid/rights
profiles.read
Droits d'un profil
PATCH
/api/config/profiles/:wid/rights
profiles.rights.write
Modifier les droits d'un profil
GET
/api/config/profiles/:wid/users
profiles.read
Utilisateurs d'un profil
POST
/api/config/profiles/:wid/users
profiles.assign
Assigner un profil à un utilisateur
GET
/api/config/app-rights
profiles.read
Lister tous les AppRights disponibles
Invitations
Méthode
Route
Auth
Droit requis
Description
POST
/api/invitations
Bearer / API key
invitations.create
Créer une invitation (envoi email auto)
GET
/api/invitations/sent
Bearer / API key
invitations.read
Invitations envoyées par l'utilisateur courant
GET
/api/invitations/sent/app/:appId
Bearer / API key
invitations.read
Invitations envoyées pour une App
GET
/api/invitations/by-customer/:customerId
Bearer / API key
invitations.read
Toutes les invitations d'un Customer
GET
/api/invitations/:id
Bearer / API key
invitations.read
Détail d'une invitation
GET
/api/invitations/verify/:token
PUBLIC
—
Vérifier un token d'invitation (throttle 10/min)
POST
/api/invitations/accept/:token
PUBLIC
—
Accepter une invitation (throttle 5/min)
POST
/api/invitations/:id/resend
Bearer / API key
invitations.create
Renvoyer l'email, nouveau token
DELETE
/api/invitations/:id
Bearer / API key
invitations.revoke
Révoquer une invitation
Pré-requis invitations :
Feature invitation activée en cascade (App ∧ Network ∧ Customer)
Droit invitations.create sur le token ou la clé API (AppRight porté par un profil)
adminLevel >= CUSTOMER_ADMIN pour l'appelant (humain ou clé API)
Le concept userLevel n'est plus utilisé pour contrôler la création d'invitations. Envoyer userLevel dans le body de POST /api/invitations renvoie un 400 (champ non reconnu).
API Keys
Méthode
Route
Droit requis
Description
GET
/api/config/api-keys
api-keys.read
Lister les clés API
GET
/api/config/api-keys/:wid
api-keys.read
Détail clé API
POST
/api/config/api-keys
api-keys.create
Créer une clé API
DELETE
/api/config/api-keys/:wid
api-keys.revoke
Révoquer une clé API
Audit Logs
Méthode
Route
Droit requis
Description
GET
/api/audit/logs
audit.read
Lister les logs d'audit (paginé, filtrable)
GET
/api/audit/logs/:id
audit.read
Détail d'un log d'audit
GET
/api/audit/stats
audit.read
Statistiques d'audit
POST
/api/audit/export
audit.export
Exporter les logs (CSV/JSON)
Antivirus
Méthode
Route
Droit requis
Description
POST
/api/antivirus/scans
antivirus.scan
Soumettre un fichier à scanner (multipart, max 100 MB)
GET
/api/antivirus/scans
antivirus.read
Lister les scans (paginé)
GET
/api/antivirus/scans/stats
antivirus.read
Statistiques des scans
GET
/api/antivirus/scans/:id/status
antivirus.read
Polling du statut d'un scan
GET
/api/antivirus/scans/:id
antivirus.read
Détail d'un scan
Backup & Import
Méthode
Route
Droit requis
Description
GET
/api/backup/applications/:wid
apps.read
Export JSON d'une application
GET
/api/backup/networks/:wid
networks.read
Export JSON d'un network
GET
/api/backup/customers/:wid
customers.read
Export JSON d'un customer
GET
/api/backup/all
WakaAdmin
Export JSON complet
POST
/api/restore/applications
apps.create
Import/upsert d'une application
POST
/api/restore/networks
networks.create
Import/upsert d'un network
POST
/api/restore/customers
customers.create
Import/upsert d'un customer
GET
/api/import/users/template
users.create
Télécharger le template CSV
POST
/api/import/users
users.create
Importer des utilisateurs depuis CSV (max 500, crédits consommés)
Traductions & Thèmes
Méthode
Route
Droit requis
Description
GET
/api/translations
—
Lister les clés de traduction
POST
/api/ai-translation/bulk
translations.write
Traduction IA en masse (crédits)
POST
/api/ai-translation/single
translations.write
Traduction IA texte unique (crédits)
GET
/api/themes
themes.read
Lister les thèmes CSS
POST
/api/themes
themes.create
Créer un thème
MCP Server (Claude Code Integration)
Méthode
Route
Auth
Description
POST
/api/mcp
Aucune (docs publiques)
Endpoint JSON-RPC 2.0, 5 tools disponibles
Tools MCP disponibles :
Tool
Description
list_endpoints
Liste tous les endpoints avec filtre par tag/méthode