Skip to main content
Les limites au niveau de l’utilisateur sont en bêta et nécessitent l’activation de cette fonctionnalité pour votre Enterprise. Pour l’activer, contactez l’équipe en charge de votre compte.
Une limite au niveau de l’utilisateur plafonne l’utilisation locale et cloud combinée des ACU d’un utilisateur : les sessions Devin cloud, ainsi que Devin Desktop, Windsurf JetBrains et Devin CLI, sont comptabilisés dans le même plafond. Lorsqu’un utilisateur atteint sa limite, il ne peut plus démarrer de nouvelles tâches sur ces interfaces tant que la limite n’est pas augmentée ou que l’utilisation n’est pas réinitialisée au cours de la prochaine période mensuelle. Vous pouvez gérer les niveaux et les limites au niveau de l’utilisateur depuis l’application web, dans Enterprise Settings, sous Politiques d’utilisation (consultez le guide des politiques d’utilisation), ou via les endpoints usage-policies ci-dessous. Les limites au niveau de l’utilisateur sont gérées au moyen de niveaux. Un niveau est une limite par défaut nommée, à l’échelle du compte, partagée par ses membres :
  • Les utilisateurs sont affectés à un niveau de trois façons : un admin les assigne explicitement, un mappage de groupe IdP les y affecte (un groupe est mappé à un niveau et ses membres héritent de ce niveau, sauf s’ils sont explicitement assignés ailleurs), ou ils sont affectés au niveau par défaut. Chaque compte peut désigner un niveau comme niveau par défaut ; chaque membre du compte qui n’est pas affecté à un autre niveau en fait partie. Il n’existe pas de « limite utilisateur par défaut » distincte : configurez plutôt le niveau par défaut.
  • Les utilisateurs peuvent avoir une dérogation, soit permanente (sans expiration), soit temporaire (qui expire à la fin de la période de facturation mensuelle en cours). Les dérogations sont propres à chaque utilisateur : en définir une ne modifie jamais son affectation à un niveau.
  • La limite effective d’un utilisateur est déterminée dans cet ordre : dérogation permanente, sinon dérogation temporaire active, sinon cycle_acu_limit de son niveau explicitement assigné, sinon la limite de son niveau mappé au groupe IdP le mieux classé, sinon la limite du niveau par défaut. Une limite null signifie qu’il n’y a pas de plafond.
  • Les utilisateurs peuvent demander une limite plus élevée ; les admins examinent ces demandes d’augmentation de limite, et la politique de chaque niveau détermine si les demandes sont automatiquement approuvées ou soumises à un examen manuel.
Les limites au niveau de l’utilisateur sont indépendantes des limites au niveau de l’organisation : une demande est bloquée si l’une ou l’autre est atteinte. Consultez Limites d’ACU pour connaître l’authentification, les autorisations et la sémantique de PATCH communes à tous les endpoints de cette page.
Les endpoints de limite par utilisateur et de limite utilisateur par défaut antérieurs aux niveaux sont obsolètes ; consultez Endpoints hérités de limite d’ACU par utilisateur.

Endpoints par niveau

Lister les niveaux

Renvoie une liste paginée de niveaux par ordre de priorité : priority la plus élevée en premier, puis, à priorité égale, le niveau le plus récent. Chaque niveau se présente comme suit :
  • is_default : indique s’il s’agit du niveau par défaut du compte.
  • cycle_acu_limit : la limite ACU par cycle par défaut pour chaque membre ; null signifie qu’aucun plafond n’est appliqué.
  • policy : définit le traitement des demandes d’augmentation de limite pour ce niveau — unconditional et conditional approuvent les demandes jusqu’à max_limit, tandis que manual nécessite l’examen d’un administrateur. La politique conditional (approbation automatique basée sur l’efficacité) doit être activée séparément ; contactez votre équipe en charge du compte.
  • max_limit : la limite maximale jusqu’à laquelle les demandes d’augmentation sont approuvées ; null approuve les demandes sans plafond. Cette valeur est toujours null lorsque cycle_acu_limit est null.
  • priority : classe ce niveau parmi les niveaux d’un utilisateur associés à des groupes IdP — la valeur la plus élevée l’emporte ; en cas d’égalité, le niveau le plus récent prévaut. Ce classement ne sert qu’à établir la préséance : un niveau de priorité supérieure peut avoir une cycle_acu_limit inférieure. Une attribution explicite à un utilisateur prévaut sur ce classement, et le niveau par défaut n’est jamais classé.
  • member_count : le nombre d’utilisateurs actuellement dans ce niveau — utilisateurs explicitement attribués et utilisateurs ajoutés via un mappage de groupe IdP. Pour le niveau par défaut, ce nombre inclut tous les membres du compte qui ne figurent dans aucun autre niveau.
Configurez le niveau par défaut et la priorité des niveaux dans l’application web, sous Politiques d’utilisation.

Créer un niveau

Corps de la requête
Le premier niveau du compte devient automatiquement le niveau par défaut. Renvoie le code HTTP 201 avec le niveau créé.

Obtenir un niveau

Mettre à jour un niveau

Mise à jour partielle : les champs omis restent inchangés. Pour modifier le niveau par défaut ou la priorité des niveaux, utilisez l’application web, dans Politiques d’utilisation.

Supprimer un niveau

Renvoie HTTP 204 en cas de réussite. Le niveau par défaut ne peut pas être supprimé (promouvez d’abord un autre niveau). Les utilisateurs d’un niveau qui en compte encore doivent d’abord être déplacés, et tous les mappages de groupes IdP associés à ce niveau doivent d’abord être supprimés.

Endpoints utilisateur par niveau

Lister les utilisateurs d’un niveau

Renvoie une liste paginée des utilisateurs du niveau, avec leurs limites résolues — les utilisateurs explicitement assignés et ceux ajoutés via un mappage de groupe IdP. Pour le niveau par défaut, il s’agit de tous les membres du compte n’appartenant à aucun autre niveau :
  • cycle_acu_limit_override : la dérogation permanente de l’utilisateur, le cas échéant.
  • temporary_cycle_acu_limit : la dérogation temporaire de l’utilisateur, présente uniquement lorsqu’elle est active au cours de la période de facturation mensuelle en cours.
  • effective_cycle_acu_limit : la limite actuellement appliquée à l’utilisateur ; null signifie qu’aucun plafond ne s’applique.
  • limit_source : l’origine de la limite effective — override (permanente), temporary_override ou tier.
  • membership : la raison pour laquelle l’utilisateur appartient au niveau — explicit (attribué directement), idp_group (via le mappage de groupe IdP retenu) ou default (repli vers le niveau par défaut).

Affecter un utilisateur à un niveau

Idempotent. Renvoie le code HTTP 204 en cas de réussite. Le déplacement d’un utilisateur depuis un autre niveau supprime toute dérogation par utilisateur, de sorte qu’il hérite de la limite du niveau de destination.

Retirer un utilisateur d’un niveau

Supprime l’attribution explicite du niveau de l’utilisateur (ainsi que toute dérogation) et le rétablit au niveau par défaut. Renvoie le code HTTP 204 en cas de réussite.

Endpoint de dérogation utilisateur

Définir ou supprimer la dérogation d’un utilisateur

Au niveau de l’utilisateur : la cible doit seulement être membre du compte — aucun niveau n’est concerné et l’affectation de niveau de l’utilisateur n’est jamais modifiée. Un utilisateur disposant uniquement d’une dérogation (sans affectation explicite de niveau) reste au niveau par défaut. Corps de la requête — définir une dérogation temporaire
kind est obligatoire lors de la définition d’une valeur : permanent n’expire jamais ; temporary expire à la fin de la période de facturation mensuelle en cours. Corps de la requête — effacer toutes les dérogations
L’endpoint renvoie le code HTTP 204 en cas de réussite.

Endpoints des groupes IdP

Mappez un groupe IdP à un niveau afin que ses membres héritent automatiquement de ce niveau. Les mappages sont déterminés en temps réel en fonction de l’appartenance aux groupes et ne modifient jamais l’attribution explicite de niveau d’un utilisateur : une attribution explicite prévaut toujours. Pour un utilisateur appartenant à plusieurs groupes mappés, le niveau mappé le mieux classé est retenu (valeur priority la plus élevée ; en cas d’égalité, le niveau le plus récent).

Lister les mappages de groupes IdP

Renvoie une liste paginée des mappages entre les groupes et les niveaux du compte, du plus ancien au plus récent. Utilisez le filtre ?tier_id= pour lister uniquement les groupes mappés à un niveau :

Obtenir le mappage d’un groupe IdP

Renvoie un code HTTP 404 si le groupe n’est associé à aucun mappage.

Mapper un groupe IdP à un niveau

Corps de la requête
Upsert idempotent. Un groupe ne peut être mappé qu’à un seul niveau. Mapper un groupe déjà mappé le déplace donc vers le niveau indiqué.

Dissocier un groupe IdP

Renvoie le code HTTP 204 en cas de réussite. Le niveau associé ne s’applique plus aux membres du groupe ; les utilisateurs sans attribution explicite ni autre niveau associé basculent vers le niveau par défaut.

Endpoints de demande d’augmentation de limite

Les utilisateurs peuvent demander une limite plus élevée par cycle. La politique associée au niveau du demandeur détermine le traitement de la demande : unconditional et conditional l’approuvent automatiquement jusqu’à la max_limit du niveau, tandis que manual la soumet à l’examen d’un administrateur via ces endpoints (ou dans Politiques d’utilisation de l’application web).
Contrairement aux autres endpoints de cette page, la consultation des demandes d’augmentation de limite requiert l’autorisation ManageBilling : elles contiennent l’identité du membre et des messages en texte libre, qui constituent des données du workflow d’administration.

Lister les demandes d’augmentation des limites

Renvoie une liste paginée, pouvant être filtrée avec ?status= (pending, approved, denied) et ?user_id= :
  • tier_id / tier_name : le niveau du demandeur (attribution explicite, mappage de groupe IdP ou niveau par défaut) ; null si le compte n’a aucun niveau.
  • current_cycle_acu_limit : la limite actuellement appliquée au demandeur ; null indique l’absence de plafond.
  • reviewer : l’admin qui a examiné la demande ; null tant que la demande est en attente.

Récupérer une demande d’augmentation de limite

Approuver une demande d’augmentation de limite

Accorde la limite demandée sous forme de dérogation temporaire qui expire à la fin de la période de facturation mensuelle en cours. Vous pouvez éventuellement accorder une limite différente :
Renvoie la demande mise à jour. Renvoie le code HTTP 409 si la demande a déjà été examinée ou si le demandeur n’est plus membre du compte.

Refuser une demande d’augmentation de limite

Renvoie la requête mise à jour, ou le code HTTP 409 si elle a déjà été examinée.

Exemples de workflows

Configurer des niveaux avec une limite par défaut

Créez un niveau par défaut afin que chaque utilisateur dispose d’un plafond mensuel de 500 ACU :
Créez un niveau avec une limite plus élevée et attribuez-y un utilisateur :
Accordez temporairement à un utilisateur une limite plus élevée pour le reste du mois :
Associez un groupe IdP au niveau de limite supérieure et examinez une demande d’augmentation de limite en attente :

Questions fréquentes

L’utilisation locale et cloud est comptabilisée dans un plafond unique : les sessions Devin cloud et l’utilisation locale via la CLI et les IDE (Devin Desktop, Windsurf JetBrains et Devin CLI).
Une dérogation permanente prévaut, suivie d’une dérogation temporaire active, puis de la limite du niveau explicitement attribué à l’utilisateur, de celle du niveau mappé au groupe IdP le mieux classé, puis de celle du niveau par défaut. Une limite null à tous les niveaux signifie que l’utilisateur n’est soumis à aucun plafond.
Non. Une dérogation remplace la limite du niveau pour cet utilisateur. Si la limite du niveau est de 500 ACU et qu’un utilisateur bénéficie d’une dérogation de 200 ACU, sa limite effective est de 200 ACU.
Une dérogation permanente n’expire jamais. Une dérogation temporaire expire à la fin de la période de facturation mensuelle en cours, après quoi l’utilisateur revient à la limite de son niveau. L’approbation d’une demande d’augmentation de limite accorde une dérogation temporaire.
Pas en tant que paramètre autonome. Configurez plutôt la limite du niveau par défaut : elle s’applique à tous les membres du compte qui ne sont attribués à aucun autre niveau. Les anciens endpoints de limite utilisateur par défaut lisent et écrivent désormais la limite du niveau par défaut.
Les nouveaux travaux sont bloqués sur les interfaces locales comme cloud. L’utilisateur peut contacter un administrateur Enterprise pour ajuster la limite ou attendre le début de la prochaine période mensuelle.