Passer au contenu principal
Les utilisateurs de service sont des comptes de bot dédiés à l’accès à l’API, avec des autorisations définies par rôle. C’est la méthode d’authentification recommandée pour toutes les nouvelles intégrations.

Fonctionnement

  1. Créez un utilisateur de service dans Settings > Service users
  2. Attribuez un rôle qui contrôle les endpoints auxquels l’utilisateur de service peut accéder
  3. Générez une API key (elle commence par cog_)
  4. Incluez la clé dans l’en-tête Authorization de chaque requête
curl -X POST "https://api.devin.ai/v3/organizations/$DEVIN_ORG_ID/sessions" \
  -H "Authorization: Bearer $DEVIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Create a simple Python script"}'

Portées des utilisateurs de service

PortéeCréé dansAccès APICas d’utilisation
OrganizationSettings > Service users/v3/organizations/*Gestion des sessions, Knowledge, playbooks, secrets
EnterpriseEnterprise settings > Service users/v3/enterprise/* + /v3/organizations/*Gestion inter-organisations, analyses, journaux d’audit, facturation
Trouvez l’ID de votre organisation sur la page Settings → Service Users.

Attribution des sessions avec create_as_user_id

Les utilisateurs de service sont des identités distinctes des utilisateurs humains. Par défaut, les sessions créées par un utilisateur de service sont attribuées à cet utilisateur de service lui-même. Pour créer des sessions au nom d’un utilisateur spécifique, passez le paramètre create_as_user_id lors de la création d’une session. La session apparaîtra dans la liste des sessions de cet utilisateur et sera prise en compte dans son utilisation. Cela nécessite l’autorisation ImpersonateOrgSessions sur le rôle de l’utilisateur de service.
Vous migrez depuis des API keys personnelles ? Les API keys personnelles (v1/v2) créaient automatiquement les sessions sous votre identité d’utilisateur. Avec les utilisateurs de service, utilisez create_as_user_id pour obtenir le même comportement — avec, en plus, le RBAC, des journaux d’audit et une gestion centralisée des clés. Consultez la présentation de l’API pour un exemple.

Principales propriétés

  • Les clés commencent par cog_ et ne sont affichées qu’une seule fois lors de leur création
  • Les utilisateurs de service apparaissent séparément des utilisateurs humains dans les journaux d’audit
  • Les autorisations sont contrôlées via le RBAC — n’attribuez que ce dont l’intégration a besoin
  • Les utilisateurs de service Enterprise héritent des autorisations au niveau de l’org, dans toutes les organisations
Pour des instructions détaillées de configuration, consultez le guide de démarrage rapide Teams ou le guide de démarrage rapide Enterprise.

Anciennes API keys

Les anciennes API keys sont en voie de dépréciation au profit des utilisateurs de service. Nous recommandons de migrer les intégrations existantes vers des utilisateurs de service. Voir le guide de migration.
Les anciennes API keys sont utilisées avec les API v1 et v2. Elles continuent de fonctionner pendant la période de dépréciation, mais ne prennent pas en charge les nouvelles fonctionnalités comme le RBAC, l’attribution de session ou la pagination basée sur un curseur.
Type de cléPréfixeUtilisé avecDescription
Clé d’API personnelleapk_user_v1, v2Liée à un compte utilisateur, hérite des autorisations de l’utilisateur
Clé d’API de serviceapk_v1Portée organisationnelle, pour l’automatisation
Où les générer : Settings > API Keys

Authentification par jeton Bearer

Toutes les API Devin utilisent l’authentification par jeton Bearer. Incluez votre clé dans l’en-tête Authorization :
Authorization: Bearer your_api_key_here
Cela s’applique aussi bien aux identifiants de compte de service qu’aux anciennes API keys.

Bonnes pratiques de sécurité

Ne partagez jamais d’API keys dans des espaces accessibles publiquement, comme les dépôts GitHub, le code côté client ou les journaux.
  1. Stockez les clés de manière sécurisée : utilisez des variables d’environnement ou des systèmes de gestion de secrets
  2. Renouvelez régulièrement les clés : générez de nouvelles clés et révoquez périodiquement les anciennes
  3. Utilisez des comptes de service pour l’automatisation : préférez les comptes de service aux clés personnelles en production
  4. Appliquez le principe du moindre privilège : accordez uniquement les autorisations minimales nécessaires
  5. Surveillez l’utilisation : examinez les journaux d’audit pour détecter toute activité API inattendue
  6. Révoquez immédiatement les clés compromises : si une clé est exposée, révoquez-la et générez-en une nouvelle

Dépannage

401 Non autorisé

Causes possibles :
  • API key invalide ou expirée
  • En-tête Authorization manquant
  • Format du jeton Bearer incorrect
Solution : Vérifiez que votre API key est valide et correctement formatée dans l’en-tête Authorization.

403 Interdit

Causes possibles :
  • L’API key ne dispose pas des autorisations requises
  • Utilisation d’un type de clé inadapté pour l’endpoint (par ex. clé legacy avec des endpoints v3)
  • Tentative d’accès à des ressources en dehors de votre périmètre d’autorisation
Solution :
  • Assurez-vous que votre utilisateur de service dispose des rôles et autorisations appropriés
  • Pour les endpoints legacy v2 : assurez-vous de disposer du rôle d’administrateur Enterprise
  • Pour les endpoints legacy v1 : vérifiez que vous avez bien accès à l’organisation

404 Introuvable

Causes possibles :
  • URL de l’endpoint de l’API incorrecte
  • La ressource n’existe pas ou vous n’y avez pas accès
Solution : Vérifiez l’URL de l’endpoint et que la ressource existe bien.

Prochaines étapes