Passer au contenu principal
L’API v3 fournit une prise en charge complète de RBAC avec authentification d’utilisateur de service. C’est l’API recommandée pour l’automatisation en production.
L’API v3 est actuellement en bêta. Certains points de terminaison peuvent changer à mesure que nous améliorons l’API.
URL de base :
  • https://api.devin.ai/v3beta1/enterprise/* – points de terminaison qui nécessitent des autorisations de niveau Enterprise
  • https://api.devin.ai/v3beta1/organizations/* – points de terminaison limités à une seule organisation
Authentification : identifiants d’utilisateur de service (niveau Enterprise ou organisation) (en savoir plus)
Certains points de terminaison Enterprise s’appliquent à des organisations spécifiques, mais restent protégés par des autorisations au niveau Enterprise. Ils utilisent des chemins du type /v3beta1/enterprise/organizations/{org_id}/... (par exemple, GET /v3beta1/enterprise/organizations/{org_id}/audit-logs). Même s’ils incluent un paramètre de chemin org_id, ils exigent toujours des autorisations au niveau Enterprise telles que ManageEnterpriseSettings.

Autorisations et RBAC

Chaque endpoint v3 est soumis à une autorisation spécifique attribuée au rôle de l’utilisateur de service appelant. Les autorisations sont réparties en deux portées : les autorisations au niveau Enterprise contrôlent les endpoints /v3beta1/enterprise/*, et les autorisations au niveau de l’organisation contrôlent les endpoints /v3beta1/organizations/{org_id}/*. Un utilisateur de service Enterprise disposant d’une autorisation au niveau Enterprise hérite automatiquement de l’autorisation correspondante au niveau de l’organisation pour l’ensemble des organisations.

Enterprise permissions

PermissionContrôles
ReadAccountMetaCompte de l’utilisateur (accordée par défaut à tous les utilisateurs de service)
ManageEnterpriseSettingsJournaux d’audit, étiquettes d’organisation
ManageOrganizationsCRUD des organisations, limites des groupes d’organisation
ManageAccountMembershipRôles, utilisateurs Enterprise, groupes IdP Enterprise, appartenance des utilisateurs de service Enterprise, enregistrement des groupes IdP Enterprise
ManageAccountServiceUsersProvisionnement des utilisateurs de service (Enterprise)
ManageAccountKnowledgeNotes Knowledge (Enterprise)
ManageAccountPlaybooksPlaybooks (Enterprise)
ManageGitIntegrationsConnexions Git, autorisations Git
ManageBillingCycles de consommation, ventilation quotidienne de la consommation
ViewAccountMetricsIndicateurs d’utilisation (DAU/WAU/MAU, PRs, sessions, recherches, utilisateurs actifs), état de la file d’attente
ViewEnterpriseInfraDetailsHyperviseurs
ViewAccountSessionsListe et détails des sessions (Enterprise, en lecture seule)
ManageAccountSessionsEnvoi de messages aux sessions (Enterprise)
ViewAccountSearchesRecherches (Enterprise)

Autorisations d’organisation

AutorisationContrôles
ManageOrgSecretsCRUD sur les secrets
ManageOrgKnowledgeNotes Knowledge (organisation)
ManageOrgPlaybooksPlaybooks (organisation)
ManageOrgServiceUsersProvisionnement des comptes de service (organisation)
ViewOrgSessionsListe et détails des sessions (organisation, en lecture seule)
ManageOrgSessionsEnvoyer des messages, mettre fin aux sessions, les archiver
UseDevinSessionsCréer des sessions
ImpersonateOrgSessionsCréer des sessions au nom d’autres utilisateurs (create_as_user_id)
ViewOrgSearchesRecherches (organisation)

Portée des utilisateurs de service

Les utilisateurs de service Enterprise s’authentifient via les endpoints /v3beta1/enterprise/* et peuvent agir sur l’ensemble des organisations. Ils se voient attribuer des rôles au niveau Enterprise et héritent automatiquement, dans chaque organisation, des autorisations correspondantes au niveau de l’organisation (par exemple, ViewAccountSessions accorde ViewOrgSessions dans toutes les organisations). Les utilisateurs de service d’organisation sont limités à une seule organisation et s’authentifient uniquement via les endpoints /v3beta1/organizations/{org_id}/*. Ils se voient attribuer des rôles au niveau de l’organisation.

Création d’utilisateurs de service

Les utilisateurs de service peuvent être créés de deux façons :
  1. UI : Enterprise Settings → Service Users — créez des utilisateurs de service au niveau Enterprise ou au niveau de l’org avec des rôles personnalisés et générez des jetons d’API.
  2. API : POST /v3beta1/enterprise/service-users ou POST /v3beta1/organizations/{org_id}/service-users — provisionnez des utilisateurs de service par programmation avec un rôle et un TTL spécifiés. Les autorisations du nouvel utilisateur doivent être un sous-ensemble des autorisations de l’appelant (l’élévation de privilèges est empêchée).
Pour plus de détails sur la génération de jetons et l’authentification, voir le Guide d’authentification.

Self

Obtenez des informations sur l’utilisateur de service authentifié :

Journaux d’audit

Accédez à des journaux d’audit complets :

Consommation

Suivez des métriques détaillées de consommation :

Organisations

Gérez les organisations avec un RBAC complet :

Utilisateurs de service

Gérer les utilisateurs de service aux niveaux entreprise et organisation :

Utilisateurs

Gérez les utilisateurs aux niveaux Enterprise et organisation :

Groupes IdP

Gérez les groupes IdP aux niveaux entreprise et organisation :

Autorisations Git

Gérer l’accès au dépôt :

Notes

Gérez les notes Knowledge aux niveaux Enterprise et organisation :

Playbooks

Gérez les playbooks aux niveaux Enterprise et organisation :

Sessions

Gérer les sessions de l’organisation :

Tags

Gérer les tags d’organisation (nécessite la fonctionnalité de tags de session) :

Rôles et métriques

Exemples d’utilisation

Voir des exemples de code

Consultez des exemples de code et des cas d’utilisation courants de l’API v3