Membres
19 routes. Chemins relatifs à https://api.nexus-engine.eu/api/v1.
GET
/members
Les membres de l’entreprise.
PATCH
/members/me
Mon nom et mon portrait. Le changement de mot de passe est réservé à l’application.
Corpsname, avatarUrl (data-url, null pour retirer) ; currentPassword et newPassword par session seulement
RéponseMemberDto
GET
/me/langue-agent
La langue dans laquelle MES agents me répondent (code court : `fr`, `en`, `de`…). Préférence personnelle ; `fr` tant que rien n’est réglé.
PUT
/me/langue-agent
Règle la langue de mes agents. Un code que le serveur ne connaît pas est refusé. Vaut pour les agents lancés ENSUITE ; une discussion ouverte garde la sienne.
Corpslangue (code de `LANGUES_AGENT`)
RéponseLangueAgentDto
GET
/me/connexion-agents
Mes deux réglages « Les agents se connectent avec mes accès » et « Les agents lisent mes codes de vérification » (activés par défaut).
RéponseReglagesConnexionAgents ({ connexion, codes })
PUT
/me/connexion-agents
session de l’application seulement
Coupe ou rétablit la connexion de mes agents par le coffre, et la lecture de mes codes de vérification. Le geste d’une personne : ni une clé, ni un agent.
Corpsconnexion?, codes? (booléens)
RéponseReglagesConnexionAgents
PUT
/members/me/claude-status
application de bureau seulement
Voyant du compte Claude, alimenté par l’application.
Corpsstatus (CONNECTED, DISCONNECTED, UNKNOWN)
PUT
/members/me/codex-status
application de bureau seulement
Voyant du compte ChatGPT (moteur Codex), alimenté par l’application.
Corpsstatus (CONNECTED, DISCONNECTED, UNKNOWN)
POST
/members/invite
Owner et Admin
Invite une personne par courriel (ou rend le lien si aucun SMTP n’est configuré).
Corpsemail, role (OWNER, ADMIN, DEVELOPER)
RéponseInvitationDto
NoteUn courriel part réellement : action irrattrapable.
GET
/members/:id/invitation
Owner et Admin
L’invitation en attente d’un membre qui n’a pas encore rejoint l’espace : dates, expiration, si le code est relisible.
RéponseInvitationEnAttenteDto | null
NoteJamais le code lui-même : il a sa route, réservée à une session.
POST
/members/:id/invitation
Owner et Admin session de l’application seulement
Renvoie l’invitation d’un membre qui n’a pas encore rejoint l’espace.
RéponseInvitationDto
NoteRégénère le code : le précédent meurt. Un courriel part réellement. Une minute entre deux renvois.
GET
/members/:id/invitation/code
Owner et Admin session de l’application seulement
Relit le dernier code d’invitation envoyé à un membre qui n’a pas encore rejoint l’espace.
RéponseInvitationCodeDto
NoteJournalisée (membre.invitation-code-revele) et comptée dans le plafond des révélations de secrets.
GET
/members/:id/projects
Owner et Admin
Ce qu’un membre a produit, projet par projet.
RéponseMemberProjectStatDto[]
GET
/members/:id/secrets-reveles
Owner et Admin
Les secrets que ce membre a lus, d’après le journal d’audit : ce qu’il faut tourner quand il part. Un accès supprimé depuis est dit tel quel.
GET
/members/:id/usage
Owner et Admin
La fiche d’usage d’un membre sur une période (journalisée).
Requêtefrom et to (AAAA-MM-JJ, 365 jours au plus), tz (défaut Europe/Paris)
RéponseMemberUsageDto — depuis le 11 octobre 2026 aussi le coût théorique (`totals.measuredCostUsd`), la consommation par moteur et modèle (`parModele`), les discussions sans projet (`horsProjet`) et l’usage des applications Nexus (`applications`, `poste`) ; `null` = non mesuré, jamais zéro
GET
/admin/members-usage
Owner et Admin
Tous les membres de l’espace sur une période (journalisée) : discussions, prompts datés, jetons et coût théorique (projets + hors projet), temps actif, projets, applications utilisées et leur temps, lignes du journal. Rangés par nom : une description, pas un classement.
Requêtefrom et to (AAAA-MM-JJ, 365 jours au plus), tz (défaut Europe/Paris)
RéponseMembresUsageDto { period, membres: MembreUsageLigneDto[] }
PUT
/me/activite-poste
session de l’application seulement
Le poste range les TOTAUX du jour de son membre : discussions sans projet (assistant, applications) et usage des applications (ouvertures, temps actif, écritures). Jamais un contenu ; chaque ligne remplace la précédente (un envoi rejoué ne double rien).
CorpsdeviceId, lignes[] (jour, genre application|agent, clé, libellé, moteur, modèle, compteurs, costUsd|null) — 600 au plus
Réponse{ lignes }
PATCH
/members/:id
Owner et Admin
Modifie un membre : rôle, statut, nom, affectations, mot de passe fixé.
Corpsname, role, status (ACTIVE, DISABLED), avatarUrl, projectIds, password
RéponseMemberDto
DELETE
/members/:id
Owner et Admin
Supprime un compte ; ce qu’il a produit est transféré à « Membre supprimé ».