Coffre de l’entreprise
19 routes. Chemins relatifs à https://api.nexus-engine.eu/api/v1.
POST
/acces/:id/connexion-navigateur
application de bureau seulement
L’accord et la ligne de journal d’une connexion qu’un agent fait faire dans le Navigateur de Nexus avec cette fiche : le serveur vérifie le réglage de la personne et que la page est bien le site de la fiche. Ne rend JAMAIS le secret.
CorpspageUrl (l’adresse de la page où Nexus va taper)
RéponseConnexionNavigateurReponse ({ ok, domaine })
Note403 `CONNEXION_AGENTS_COUPEE` si la personne a coupé le réglage ; 409 si la page n’est pas le site de la fiche ; 404 pour une fiche hors de portée (le compte personnel d’un autre membre compris).
GET
/agency-credentials
Les accès du coffre que je vois, sans leurs secrets.
RequêtesiteId, clientId, serverId, projectId (filtres)
RéponseAgencyCredentialDto[]
GET
/agency-credentials/compte
Combien d’accès le coffre montre : ceux de l’entreprise et ceux des projets visibles (deux nombres, aucun libellé).
Réponse{ entreprise: number, projets: number }
GET
/agency-credentials/:id
Un accès du coffre, sans son secret.
RéponseAgencyCredentialDto
GET
/agency-credentials/:id/secret
Révèle le secret d’un accès du coffre (journalisé, plafonné à 30 par heure).
GET
/acces/:id
Retrouve un accès par son seul identifiant, qu’il soit du coffre, d’un projet ou d’une machine (lien de partage) ; sans son secret, et « introuvable » unique quand il n’est pas à portée.
GET
/acces/:id/partages-tiers
Les liens de partage à un tiers d’un accès (coffre, projet ou machine), les plus récents d’abord : état, expiration, consultations. Jamais le jeton.
RéponsePartageTiersDto[]
NoteMême garde que la révélation du secret : « introuvable » pour un accès qu’on ne pourrait pas afficher soi-même.
POST
/acces/:id/partages-tiers
session de l’application seulement
Crée un lien web qui montre l’accès à un tiers, sans compte, pendant 24 heures (`https://nexus-engine.eu/s#<jeton>`).
CorpsavecNotes (faux par défaut)
RéponsePartageTiersCreeDto
NoteUne révélation : compte dans le plafond de secrets et va au journal (`secret.partage-tiers`). Le lien n’est rendu qu’ici, une fois ; le serveur n’en garde que l’empreinte. Il se ferme seul si le secret change, si l’auteur perd l’accès ou est désactivé.
DELETE
/partages-tiers/:id
Révoque un lien de partage à un tiers : la page du tiers le dit aussitôt.
GET
/demandes-acces
Les liens « Recevoir un mot de passe » d’un projet, d’une machine ou d’un site (`cible`, `cibleId`), les plus récents d’abord : état, expiration, essais refusés, accès créé. Jamais le jeton.
RéponseDemandeAccesDto[]
NoteMême garde que l’écriture dans le coffre visé : « introuvable » là où l’on ne pourrait pas déposer un accès soi-même.
POST
/demandes-acces
session de l’application seulement
Crée un lien web par lequel un tiers SANS COMPTE nous donne un accès, pendant sept jours (`https://nexus-engine.eu/d#<jeton>`).
Corpscible (projet|serveur|site), cibleId, kind, label, environment, message
RéponseDemandeAccesCreeeDto
NoteL’inverse du partage : ici le tiers ÉCRIT dans le coffre. Le lien ne sert qu’une fois, exige un défi signé et sa preuve de travail, et se brûle au bout de dix envois refusés. Il n’est rendu qu’ici, une fois ; le serveur n’en garde que l’empreinte.
DELETE
/demandes-acces/:id
Annule un lien « Recevoir un mot de passe » : la page du tiers le dit aussitôt.
POST
/agency-credentials
Ajoute un accès au coffre, rattaché ou non à un site, un client, une machine, un projet.
Corpskind (SERVER, SSH, FTP, DATABASE, API_KEY, SERVICE, ENV_VAR, FILE, OTHER), label, environment (PRODUCTION, STAGING, DEVELOPMENT, OTHER, défaut OTHER), host, port, username, url, database, notes, secret (jamais rendu ensuite ; pour FILE, le contenu en base64), fileName (FILE : le nom du fichier à reposer), genererSecret (vrai : Nexus tire un secret aléatoire et ignore `secret`), exposeToClaude, siteId, clientId, serverId, projectId
RéponseAgencyCredentialDto
PATCH
/agency-credentials/:id
Modifie un accès du coffre.
Corpskind (SERVER, SSH, FTP, DATABASE, API_KEY, SERVICE, ENV_VAR, FILE, OTHER), label, environment (PRODUCTION, STAGING, DEVELOPMENT, OTHER, défaut OTHER), host, port, username, url, database, notes, secret (jamais rendu ensuite ; pour FILE, le contenu en base64), fileName (FILE : le nom du fichier à reposer), genererSecret (vrai : Nexus tire un secret aléatoire et ignore `secret`), exposeToClaude, siteId, clientId, serverId, projectId
RéponseAgencyCredentialDto
PUT
/agency-credentials/:id/members
Owner et Admin
Remplace les membres à qui l’accès est confié nommément.
DELETE
/agency-credentials/:id
session de l’application seulement
Supprime un accès du coffre.
POST
/agency-credentials/import-personnel/apercu
session de l’application seulement
Avant d’importer ses mots de passe : lesquels de ces comptes sont déjà dans MON coffre personnel. Aucun mot de passe dans le corps.
Corpscomptes: [{ libelle, adresse, identifiant }] (5 000 au plus)
Réponse{ presents: number[] }
POST
/agency-credentials/import-personnel
session de l’application seulement
Range un lot de comptes exportés de son gestionnaire de mots de passe : accès RÉSERVÉS à soi (ni collègues, ni administrateurs), fermés aux agents. Rejouable : un compte déjà là n’est pas doublé ; mot de passe différent laissé ou remplacé.
Corpscomptes: [{ libelle, adresse, identifiant, motDePasse }] (200 au plus), siDifferent: laisser | remplacer, lot?: { rang, total }
Réponse{ crees, misAJour, laisses, identiques }
NoteUne ligne au journal par lot (`acces.import-personnel`), avec des NOMBRES seulement.