WakaStart
Utilisation de l'API

Référence des endpoints

Tableau exhaustif de tous les endpoints Discovery, Auth, profil, CRUD, invitations et modules disponibles pour une WakaApp.

Version v1.08 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:3005/api/docs) pour les détails complets des DTOs.


Discovery (pré-auth — publics)

Base URL : {DISCOVERY_API_URL} (défaut : http://localhost:3002)

MéthodeRouteThrottleDescription
GET/discover/email?email=5/s · 20/10s · 100/60sTrouver l'organisation par email
GET/discover/subdomain?subdomain=5/s · 20/10s · 100/60sTrouver 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-login5/s · 20/10s · 100/60sRésout realm + client_id, retourne keycloakUrl

Auth (BFF wakastart — publics pour l'enrich)

Base URL : {WAKASTART_BACKEND_URL} (défaut : http://localhost:3009)

MéthodeRouteThrottleDescription
GET/api/auth/public-keyClé RSA publique
POST/api/auth/enrich5/minEnrichit un access_token Keycloak en JWT HS256
POST/api/auth/token/refresh30/minRefresh access_token + refresh_token + enriched
POST/api/auth/logout10/minInvalide le refresh_token côté Keycloak
POSTkeycloak/realms/{realm}/protocol/openid-connect/tokenÉchange code → tokens (PKCE, appeler Keycloak directement)

Profil & Droits (Public API)

Base URL : {PUBLIC_API_URL} (défaut : http://localhost:3005)
Auth : Authorization: Bearer + x-enriched-token ou x-api-key

MéthodeRouteDroit requisDescription
GET/api/meProfil complet + rôles + appRights
POST/api/token/authorizex-api-keyVérification combinée admin level + rôles + droits
POST/api/token/rightsCustomerAdminVérifier et enrichir un JWT
POST/api/token/check/admin-levelx-api-keyVérifier niveau admin
POST/api/token/check/user-levelx-api-keyVérifier niveau user
POST/api/token/check/rolesx-api-keyVérifier rôles Waka
POST/api/token/check/hdsx-api-keyVérifier rôles HDS
POST/api/token/check/teamx-api-keyVérifier droits équipe

Config — Partners

MéthodeRouteDroit requisDescription
GET/api/config/partnerspartners.readLister les partners
GET/api/config/partners/:widpartners.readDétail partner
POST/api/config/partnerspartners.createCréer un partner
PATCH/api/config/partners/:widpartners.writeModifier un partner
DELETE/api/config/partners/:widpartners.deleteSupprimer un partner

Config — Networks

MéthodeRouteDroit requisDescription
GET/api/config/networksnetworks.readLister les networks
GET/api/config/networks/:widnetworks.readDétail network
POST/api/config/networksnetworks.createCréer un network
PATCH/api/config/networks/:widnetworks.writeModifier un network

Config — Customers

MéthodeRouteDroit requisDescription
GET/api/config/customerscustomers.readLister les customers
GET/api/config/customers/:widcustomers.readDétail customer
POST/api/config/customerscustomers.createCréer un customer
PATCH/api/config/customers/:widcustomers.writeModifier un customer
DELETE/api/config/customers/:widcustomers.deleteSupprimer un customer

Config — Users

MéthodeRouteDroit requisDescription
GET/api/config/usersusers.readLister les utilisateurs
GET/api/config/users/:widusers.readDétail utilisateur
GET/api/config/users/statsusers.readStatistiques utilisateurs
POST/api/config/usersusers.createCréer un utilisateur
PATCH/api/config/users/:widusers.updateModifier un utilisateur
DELETE/api/config/users/:widusers.deleteSupprimer un utilisateur
POST/api/config/users/:wid/disableusers.updateDésactiver un utilisateur
POST/api/config/users/:wid/enableusers.updateRéactiver un utilisateur

Config — Teams

MéthodeRouteDroit requisDescription
GET/api/config/teamsteams.readLister les équipes
GET/api/config/teams/:widteams.readDétail équipe
POST/api/config/teamsteams.createCréer une équipe
PATCH/api/config/teams/:widteams.writeModifier une équipe
DELETE/api/config/teams/:widteams.deleteSupprimer une équipe
GET/api/config/teams/:wid/membersteams.readLister les membres
POST/api/config/teams/:wid/membersteams.members.addAjouter un membre
DELETE/api/config/teams/:wid/members/:userIdteams.members.removeRetirer un membre

Config — Applications

MéthodeRouteDroit requisDescription
GET/api/config/appsapps.readLister les applications
GET/api/config/apps/:widapps.readDétail application
POST/api/config/appsapps.createCréer une application
PATCH/api/config/apps/:widapps.writeModifier une application
DELETE/api/config/apps/:widapps.deleteSupprimer une application
GET/api/apps/:appWid/runtime-configRuntime config (thème, langues, branding)

Config — Profils et Droits

MéthodeRouteDroit requisDescription
GET/api/config/profilesprofiles.readLister les profils
GET/api/config/profiles/:widprofiles.readDétail profil
POST/api/config/profilesprofiles.createCréer un profil
PATCH/api/config/profiles/:widprofiles.writeModifier un profil
DELETE/api/config/profiles/:widprofiles.deleteSupprimer un profil
GET/api/config/profiles/:wid/rightsprofiles.readDroits d'un profil
PATCH/api/config/profiles/:wid/rightsprofiles.rights.writeModifier les droits d'un profil
GET/api/config/profiles/:wid/usersprofiles.readUtilisateurs d'un profil
POST/api/config/profiles/:wid/usersprofiles.assignAssigner un profil à un utilisateur
GET/api/config/app-rightsprofiles.readLister tous les AppRights disponibles

Invitations

MéthodeRouteAuthDroit requisDescription
POST/api/invitationsBearer / API keyinvitations.createCréer une invitation (envoi email auto)
GET/api/invitations/sentBearer / API keyinvitations.readInvitations envoyées par l'utilisateur courant
GET/api/invitations/sent/app/:appIdBearer / API keyinvitations.readInvitations envoyées pour une App
GET/api/invitations/by-customer/:customerIdBearer / API keyinvitations.readToutes les invitations d'un Customer
GET/api/invitations/:idBearer / API keyinvitations.readDétail d'une invitation
GET/api/invitations/verify/:tokenPUBLICVérifier un token d'invitation (throttle 10/min)
POST/api/invitations/accept/:tokenPUBLICAccepter une invitation (throttle 5/min)
POST/api/invitations/:id/resendBearer / API keyinvitations.createRenvoyer l'email, nouveau token
DELETE/api/invitations/:idBearer / API keyinvitations.revokeRé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
  • userLevel >= INVITE pour l'inviteur

API Keys

MéthodeRouteDroit requisDescription
GET/api/config/api-keysapi-keys.readLister les clés API
GET/api/config/api-keys/:widapi-keys.readDétail clé API
POST/api/config/api-keysapi-keys.createCréer une clé API
DELETE/api/config/api-keys/:widapi-keys.revokeRévoquer une clé API

Audit Logs

MéthodeRouteDroit requisDescription
GET/api/audit/logsaudit.readLister les logs d'audit (paginé, filtrable)
GET/api/audit/logs/:idaudit.readDétail d'un log d'audit
GET/api/audit/statsaudit.readStatistiques d'audit
POST/api/audit/exportaudit.exportExporter les logs (CSV/JSON)

Antivirus

MéthodeRouteDroit requisDescription
POST/api/antivirus/scansantivirus.scanSoumettre un fichier à scanner (multipart, max 100 MB)
GET/api/antivirus/scansantivirus.readLister les scans (paginé)
GET/api/antivirus/scans/statsantivirus.readStatistiques des scans
GET/api/antivirus/scans/:id/statusantivirus.readPolling du statut d'un scan
GET/api/antivirus/scans/:idantivirus.readDétail d'un scan

Backup & Import

MéthodeRouteDroit requisDescription
GET/api/backup/applications/:widapps.readExport JSON d'une application
GET/api/backup/networks/:widnetworks.readExport JSON d'un network
GET/api/backup/customers/:widcustomers.readExport JSON d'un customer
GET/api/backup/allWakaAdminExport JSON complet
POST/api/restore/applicationsapps.createImport/upsert d'une application
POST/api/restore/networksnetworks.createImport/upsert d'un network
POST/api/restore/customerscustomers.createImport/upsert d'un customer
GET/api/import/users/templateusers.createTélécharger le template CSV
POST/api/import/usersusers.createImporter des utilisateurs depuis CSV (max 500, crédits consommés)

Traductions & Thèmes

MéthodeRouteDroit requisDescription
GET/api/translationsLister les clés de traduction
POST/api/ai-translation/bulktranslations.writeTraduction IA en masse (crédits)
POST/api/ai-translation/singletranslations.writeTraduction IA texte unique (crédits)
GET/api/themesthemes.readLister les thèmes CSS
POST/api/themesthemes.createCréer un thème

MCP Server (Claude Code Integration)

MéthodeRouteAuthDescription
POST/api/mcpAucune (docs publiques)Endpoint JSON-RPC 2.0, 5 tools disponibles

Tools MCP disponibles :

ToolDescription
list_endpointsListe tous les endpoints avec filtre par tag/méthode
get_endpoint_specDétail complet (DTO, codes HTTP, exemples)
search_docsRecherche full-text dans les guides
get_auth_flowRésumé du flow auth (frontend/backend/mobile)
get_error_codeDétail d'un code d'erreur HTTP ou métier