Aller au contenu

Carte des routes

Chaque chemin ci-dessous est sous http://127.0.0.1:19821 et provient du document OpenAPI propre au démon. Seul /api/v1/token dans le premier groupe est accessible sans jeton porteur.

Là où le document ne porte pas de description pour une route, aucune n’est inventée ici. Récupère /api/v1/openapi.json, ou ouvre /api/v1/docs, pour les schémas de requête et de réponse.

Le démon est-il actif, est-il connecté, et quand a-t-il parlé au serveur pour la dernière fois. GET /api/v1/sync répond à ce qu’a fait la dernière synchronisation sans en refaire une ; POST en lance une.

CheminMéthodes
/api/v1/statusGET
/api/v1/syncGET, POST
/api/v1/tokenPOST

/health et /api/v1/health existent aussi, en dehors de l’ensemble documenté.

Les deux routes qu’une intégration veut habituellement.

POST /api/v1/verify vérifie trois mots par rapport aux connexions pour lesquelles cet appareil détient un secret. C’est purement local. Lis le champ conclusive avant d’afficher quoi que ce soit : il est faux dès qu’une connexion n’a pas pu être vérifiée, y compris le cas courant où rien n’est en cache. Un appelant ne doit pas dire « non vérifié » à moins que conclusive soit vrai.

Une correspondance porte window — current, ou previous pour un code antérieur que l’opérateur accepte encore (un par défaut), windowsBack indiquant de combien il remonte — et validUntil, l’instant où ce code cesse ou a cessé d’être valable. Affiche une correspondance précédente avec cette heure en heure locale, et propose un sceau pour un message lu plus tard. Sur une connexion où chaque membre a son propre code, memberName indique à qui il appartenait. Le propre code du lecteur ne correspond jamais. Cette route et les codes précédents ci-dessous n’ont besoin que d’un jeton en lecture.

POST /api/v1/stamp scelle un contenu sur l’appareil et répond avec trois mots, l’heure de la signature, un niveau d’assurance et l’URL qu’un destinataire ouvre pour vérifier la signature.

CheminMéthodes
/api/v1/stampPOST
/api/v1/verifyPOST

Suivre des personnes, et l’historique des vérifications.

POST /api/v1/verify/public est l’autre moitié de /api/v1/verify : elle demande au serveur si trois mots appartiennent à quelqu’un, plutôt que de vérifier localement.

Les routes /api/v1/trust-cards listent et modifient les personnes que ce compte suit. Le chemin garde un nom plus ancien. Le {id} sur ces routes est l’identifiant de la personne suivie, pas celui de la ligne de suivi.

CheminMéthodes
/api/v1/trust-cardsGET, POST
/api/v1/trust-cards/{id}PATCH, DELETE
/api/v1/trust-cards/{id}/historyGET
/api/v1/trust/metricsGET
/api/v1/verification-logGET
/api/v1/verify/publicPOST

Créer, lire, renommer et supprimer des connexions ; lire le code actuel de l’une d’elles ; en marquer une comme favorite ; ajouter et retirer des membres.

GET /api/v1/connections/:id/members/:mid/previous-codes liste les codes précédents d’un membre, du plus récent au plus ancien, chacun avec words, validFrom et validUntil ; :mid est l’id de la ligne d’appartenance. previousWindows est le nombre que l’opérateur accepte. available est faux quand cet appareil ne détient aucun secret pour les dériver — affiche « impossible à montrer », pas une liste vide. C’est local et rien n’est enregistré. Une ligne qui n’est pas membre de cette connexion répond 404.

CheminMéthodes
/api/v1/connectionsGET, POST
/api/v1/connections/:idGET, PATCH, DELETE
/api/v1/connections/:id/codeGET
/api/v1/connections/:id/favoritePOST
/api/v1/connections/:id/membersPOST
/api/v1/connections/:id/members/:midDELETE
/api/v1/connections/:id/members/:mid/previous-codesGET

GET /api/v1/invitations liste les deux sens. Le reste agit sur une invitation : approuver, refuser, ou retirer une que tu as envoyée.

CheminMéthodes
/api/v1/invitationsGET
/api/v1/invitations/pendingGET
/api/v1/invitations/:id/approvePOST
/api/v1/invitations/:id/declinePOST
/api/v1/invitations/:id/withdrawPOST

Créer et révoquer des codes pour des personnes qui n’utilisent pas l’application, en récupérer un sous forme d’image QR, ou le faire envoyer.

CheminMéthodes
/api/v1/guest-codesGET, POST
/api/v1/guest-codes/:idDELETE
/api/v1/guest-codes/:id/qrGET
/api/v1/guest-codes/:id/sendPOST

Les pages de vérification pour invités.

CheminMéthodes
/api/v1/external-membersGET, POST
/api/v1/external-members/:idDELETE

Les tags organisent les connexions. Le chemin d’attribution prend les deux identifiants : le tag, puis la connexion.

CheminMéthodes
/api/v1/tagsGET, POST
/api/v1/tags/:idPATCH, DELETE
/api/v1/tags/:id/assign/:cidPOST, DELETE

Les préréglages de connexion, et lequel est celui par défaut.

CheminMéthodes
/api/v1/presetsGET, POST
/api/v1/presets/{id}PATCH, DELETE
/api/v1/presets/{id}/defaultPOST
/api/v1/presets/defaultDELETE

Les liens ouverts et les demandes d’approbation qu’ils produisent. Un lien peut être mis en pause, repris ou recevoir un nouveau slug ; une demande peut être approuvée ou refusée. suggest propose un slug.

CheminMéthodes
/api/v1/open-linksGET, POST
/api/v1/open-links/suggestGET
/api/v1/open-links/{id}DELETE
/api/v1/open-links/{id}/pausePATCH
/api/v1/open-links/{id}/resumePATCH
/api/v1/open-links/{id}/slugPATCH
/api/v1/open-links/requestsGET
/api/v1/open-links/requests/{id}/approvePOST
/api/v1/open-links/requests/{id}/declinePOST

GET /api/v1/context répond à l’identité du compte et au contexte d’organisation en un seul appel — l’organisation active n’est présente que quand il y en a une.

POST /api/v1/context/active-org bascule l’organisation active, ou l’efface pour revenir au contexte personnel. C’est limité à la session : cela écrit le choix de cette session, pas la valeur par défaut persistante de l’utilisateur, donc un choix fait sur le bureau ne redirige pas les autres appareils.

/api/v1/profiles/{id} est un profil public minimal de quelqu’un d’autre, et /keys ses clés publiques actives.

CheminMéthodes
/api/v1/contextGET
/api/v1/context/active-orgPOST
/api/v1/profileGET, PATCH
/api/v1/profiles/{id}GET
/api/v1/profiles/{id}/keysGET
/api/v1/preferencesGET, PATCH
/api/v1/notificationsGET, DELETE
/api/v1/notifications/readPOST

Appareils, sessions, adresses e-mail, exports de données et suppression de compte.

Un export est demandé et construit par le serveur : POST /api/v1/exports répond avec un identifiant, pas un fichier, et /api/v1/exports/{id}/download répond avec un lien signé et expirant vers un export terminé.

DELETE /api/v1/account supprime le compte et tout ce qu’il contient, et ne peut pas être annulé. Cela nécessite un corps portant confirmEmail, l’adresse propre au compte, que le démon compare sur la machine avant d’appeler quoi que ce soit. Un appel sans corps, ou avec la mauvaise adresse, est refusé.

CheminMéthodes
/api/v1/devicesGET
/api/v1/devices/{id}DELETE
/api/v1/sessionsGET
/api/v1/sessions/{id}DELETE
/api/v1/emailsGET, POST
/api/v1/exportsGET, POST, DELETE
/api/v1/exports/{id}/downloadGET
/api/v1/accountDELETE

Membres, groupes, alertes et analyses.

Les routes de membres, groupes et alertes nécessitent un jeton full, sur chaque méthode. Les lectures d’activité et d’analyse sont des GET ordinaires et un jeton read suffit.

CheminMéthodes
/api/v1/org/membersGET
/api/v1/org/members/{id}GET
/api/v1/org/members/{id}/activatePOST
/api/v1/org/members/{id}/suspendPOST
/api/v1/org/members/bulk-invitePOST
/api/v1/org/groupsGET, POST
/api/v1/org/groups/{id}PATCH, DELETE
/api/v1/org/groups/{id}/membersPOST, DELETE
/api/v1/org/alertsGET, POST
/api/v1/org/alerts/{id}PATCH, DELETE
/api/v1/org/activityGET
/api/v1/org/activity/summaryGET
/api/v1/org/analytics/dashboardGET
/api/v1/org/analytics/trendsGET

Lister, créer et révoquer des jetons. Également full uniquement.

CheminMéthodes
/api/v1/api-tokensGET, POST
/api/v1/api-tokens/{id}DELETE

Un tour de conversation avec l’assistant, une note pour une réponse, et un retour à l’équipe. La réponse du chat est transmise telle quelle depuis le serveur, le démon ne corrige donc pas sa forme.

CheminMéthodes
/api/v1/chatPOST
/api/v1/chat/ratePOST
/api/v1/feedbackPOST