Vue d’ensemble
Didit est la plateforme de vérification d’identité la plus adaptée aux agents. Les agents de codage IA (Cursor, Claude Code, GitHub Copilot, Devin, OpenHands, Codex) peuvent s’inscrire, configurer des workflows et commencer à vérifier des identités — le tout par voie programmatique, sans jamais ouvrir de navigateur. Pourquoi les agents adorent Didit :- 2 appels API de zéro jusqu’aux identifiants (inscription + vérification de l’e-mail).
- Aucun navigateur requis — entièrement sans interface graphique, parfait pour le CI/CD et les workflows d’agents.
- Pas de second facteur sur un nouveau compte API : les tokens sont renvoyés immédiatement après la vérification de l’e-mail.
- Auto-provisionnement de l’organisation et de l’application avec la
api_keydans la réponse de vérification. - API d’administration complète — configurez les workflows, les questionnaires, les listes, la facturation, le tout via l’API.
- Serveur MCP disponible — les agents peuvent découvrir et utiliser les outils Didit de manière native.
URL de base
Tous les endpoints de ce guide se trouvent sur l’hôte d’authentification :https://verification.didit.me/v3). L’hôte d’authentification émet les tokens d’accès JWT et gère les applications. L’hôte de vérification exécute les sessions, l’AML, les workflows, etc. ; ces opérations sont authentifiées à l’aide de la api_key de longue durée obtenue via ce flux.
Démarrage rapide
Étape 1 : Inscription
201 Created) :
A3K9F2) est envoyé à l’adresse e-mail. Le code expire 10 minutes après son envoi — s’il expire, appelez à nouveau cet endpoint avec la même adresse e-mail et le même mot de passe : pour un compte encore non vérifié, il renvoie 200 avec "A new verification code has been sent to your email." et un nouveau code. Un endpoint dédié POST /programmatic/resend-otp/ (corps : {"email", "password"}) renvoie également le code, avec un délai d’attente de 60 secondes entre chaque envoi ; les deux routes partagent la même limite de débit d’inscription ci-dessous.
Étape 2 : Vérifier le code et obtenir les identifiants
200 OK) :
application.api_key en lieu sûr et envoyez-la dans l’en-tête x-api-key pour chaque appel à l’API de vérification.
Les tokens sont des JWT signés avec RS256.
expires_in est par défaut de 86400 secondes (24 heures). Le token d’accès n’est requis que pour les endpoints d’administration sur apx.didit.me/auth/v2 — le trafic de l’API de vérification sur verification.didit.me/v3 est authentifié à l’aide de la api_key de longue durée, et non du JWT.Étape 3 : Utiliser l’API
Connexions ultérieures
Depuis n’importe quelle machine à l’avenir, échangez votre e-mail et votre mot de passe contre un nouveau JWT :access_token + refresh_token — sans navigateur. À partir de là, appelez GET /organizations/me/ pour découvrir votre org_id (l’uuid de l’organisation), puis GET /organizations/me/{org_id}/applications/ pour lister les applications de l’organisation (l’uuid de chaque entrée est un app_id), et enfin GET /organizations/me/{org_id}/applications/{app_id}/ pour récupérer la api_key.
Les comptes avec e-mail/mot de passe créés dans la console peuvent également utiliser
POST /programmatic/login/ une fois l’e-mail vérifié. Les comptes créés uniquement via OAuth dans la console doivent définir un mot de passe avant d’utiliser cet endpoint de connexion sans interface graphique.Quand la connexion demande des étapes supplémentaires
POST /programmatic/login/ ne renvoie des tokens que lorsque le compte n’a pas de second facteur.
Trois autres réponses sont possibles, et un agent qui automatise la connexion doit les gérer :
Une clé API ne nécessite aucune connexion ; utilisez-en donc une pour toute automatisation : un compte avec un second facteur ne peut pas finaliser sa connexion via cet endpoint.
Exigences relatives au mot de passe
Appliquées côté serveur, une règle à la fois — le premier échec court-circuite la validation avec une erreur sous forme de tableau simple, comme["Password must contain at least one uppercase letter."]. (Les autres erreurs de validation sur cet endpoint utilisent l’enveloppe indexée par champ {"password": [...]}. Le format de tableau simple pour les règles de robustesse du mot de passe est une incohérence connue côté serveur ; traitez-le comme {"password": [...]} dans le code client.)
Limites de débit et verrouillages
Trois contrôles indépendants protègent l’hôte d’authentification. Chacun d’eux peut déclencher une réponse429 ; l’en-tête de réponse Retry-After indique le temps d’attente nécessaire avant de réessayer.
Un corps de réponse
429 ressemble à ceci :
Gestion des applications
Une fois authentifié, vous pouvez récupérer, créer ou mettre à jour des applications au sein de votre organisation. Cette approche convient parfaitement aux revendeurs souhaitant une application par client. Chaque application possède son propreclient_id, sa propre api_key, ses métadonnées et ses paramètres. Elle est également utile lorsque votre organisation gère différents produits, marques, régions, environnements ou cas d’usage que vous souhaitez séparer.
403.
Que peuvent faire les agents après l’inscription ?
Avec l’api_key, les agents disposent d’un accès complet à l’API de vérification. Endpoints audités sur https://verification.didit.me/v3 :
Consultez la référence de l’API d’administration pour connaître l’ensemble des fonctionnalités.
Intégration du serveur MCP
Pour offrir la meilleure expérience aux agents, utilisez le serveur MCP Didit hébergé à l’adressehttps://mcp.didit.me/mcp. Il ne requiert aucune clé API : lors de la première connexion, votre client ouvre un navigateur, vous cliquez sur Se connecter avec Didit (OAuth 2.1 avec PKCE) et le serveur agit en votre nom, avec les autorisations de votre rôle dans la console. Les clients prenant en charge nativement le MCP distant (Cursor, VS Code) utilisent cette entrée ; Claude web et Desktop l’ajoutent en tant que connecteur personnalisé :
claude mcp add --transport http didit https://mcp.didit.me/mcp. Les clients qui ne prennent en charge que stdio (Windsurf, Zed) passent par le pont mcp-remote, qui gère le flux OAuth pour vous.
La clé API reçue lors du flux d’inscription ci-dessus sert à appeler l’API REST depuis votre propre backend ; le MCP ne la prend jamais en compte. Consultez la vue d’ensemble du MCP et l’installation par client pour plus de détails.
Référence des formats d’erreur
Tous les endpoints deapx.didit.me/auth/v2 partagent les trois mêmes structures de réponse (voir openapi-auth.json) :
- Validation au niveau du champ —
{"field": ["message", ...]}avec le code HTTP400. - Validation au niveau du formulaire (notamment la robustesse du mot de passe et les erreurs de code de vérification) — tableau simple
["Invalid or expired verification code."]avec le code HTTP400. - Authentification / règle métier —
{"detail": "..."}avec400,401,403,404ou429. Les réponses429comportent un en-tête de réponseRetry-Afterindiquant le délai d’attente nécessaire avant de réessayer (le corps ne contient quedetail).
{"detail": "..."} et les codes 429 incluent X-RateLimit-* et Retry-After — voir Limites de débit.