> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Lister les automatisations

> Liste toutes les automatisations de l’organisation, de la plus récente à la plus ancienne.

Prend en charge les paramètres de requête `metadata.<key>=<value>` pour filtrer selon
les libellés de métadonnées (correspondance exacte ; plusieurs filtres sont combinés avec ET).

`agent_types` filtre les automatisations contenant au moins une action d’un
type d’agent donné ; répétez le paramètre pour correspondre à plusieurs types
(OU). Les charges utiles des actions sont stockées dans l’espace de stockage des données client plutôt que dans
des colonnes interrogeables ; ce filtre analyse les pages côté serveur. `total` est
renvoyé uniquement lorsqu’une seule analyse non filtrée couvre l’ensemble des résultats
(première page, aucune page suivante, aucun élément masqué) ; sinon, il est omis
plutôt que de renvoyer un nombre incluant des automatisations que l’API ne
renverra jamais.

<div id="permissions">
  ## Autorisations
</div>

Requiert un utilisateur de service disposant de l’autorisation `ViewOrgAutomations` au niveau de l’organisation.

<div id="filtering">
  ## Filtrage
</div>

Prend en charge le filtrage par `search`, `creator_id`, `enabled`, `event_type` et `agent_types` (à répéter pour correspondre à l’un des différents types). Les paramètres de requête `metadata.<key>=<value>` filtrent selon les libellés de métadonnées (correspondance exacte ; plusieurs filtres sont combinés avec l’opérateur ET).

Les résultats sont classés du plus récent au plus ancien avec une pagination par curseur (`after`, `first`). `total` n’est renvoyé que lorsqu’un seul scan non filtré couvre l’ensemble des résultats.


## OpenAPI

````yaml fr/v3-openapi.yaml GET /v3/organizations/{org_id}/automations
openapi: 3.1.0
info:
  description: API Devin v3 avec authentification par compte de service et RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3/organizations/{org_id}/automations:
    get:
      tags:
        - automations
      summary: Lister les automatisations
      description: "Liste toutes les automatisations de l’organisation, de la plus récente à la plus ancienne.\n\nPrend en charge les paramètres de requête `metadata.<key>=<value>` pour filtrer selon\nles libellés de métadonnées (correspondance exacte\_; plusieurs filtres sont combinés avec ET).\n\n`agent_types` filtre les automatisations contenant au moins une action d’un\ntype d’agent donné\_; répétez le paramètre pour correspondre à plusieurs types\n(OU). Les charges utiles des actions sont stockées dans l’espace de stockage des données client plutôt que dans\ndes colonnes interrogeables\_; ce filtre analyse les pages côté serveur. `total` est\nrenvoyé uniquement lorsqu’une seule analyse non filtrée couvre l’ensemble des résultats\n(première page, aucune page suivante, aucun élément masqué)\_; sinon, il est omis\nplutôt que de renvoyer un nombre incluant des automatisations que l’API ne\nrenverra jamais."
      operationId: handle_list_automations_v3_organizations__org_id__automations_get
      parameters:
        - description: "ID d’organisation (préfixe\_: org-)"
          in: path
          name: org_id
          required: true
          schema:
            example: org-abc123def456
            title: Org Id
            type: string
        - in: query
          name: after
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: After
        - in: query
          name: first
          required: false
          schema:
            default: 100
            maximum: 200
            minimum: 1
            title: First
            type: integer
        - in: query
          name: search
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Search
        - in: query
          name: creator_id
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Creator Id
        - in: query
          name: enabled
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Enabled
        - in: query
          name: event_type
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Event Type
        - in: query
          name: agent_types
          required: false
          schema:
            anyOf:
              - items:
                  enum:
                    - new_session
                    - long_running
                    - auto_triage
                    - remediate_finding
                    - triage_session
                    - incident_session
                  type: string
                type: array
              - type: 'null'
            title: Agent Types
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_AutomationResponse_'
          description: Réponse réussie
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Non autorisé
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Interdit
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Introuvable
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflit
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Contenu non traitable
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Trop de requêtes
components:
  schemas:
    PaginatedResponse_AutomationResponse_:
      properties:
        end_cursor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Curseur permettant de récupérer la page suivante, ou None s’il
            s’agit de la dernière page.
          title: End Cursor
        has_next_page:
          default: false
          description: Indique si d’autres éléments sont disponibles après cette page.
          title: Has Next Page
          type: boolean
        items:
          items:
            $ref: '#/components/schemas/AutomationResponse'
          title: Items
          type: array
        total:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Nombre total facultatif (peut être omis pour des raisons de
            performances).
          title: Total
      required:
        - items
      title: PaginatedResponse[AutomationResponse]
      type: object
    ProblemDetail:
      description: "Corps d’erreur RFC 9457 application/problem+json pour l’API v3.\n\ndetail est conservé de l’ancien corps {\"detail\": ...} pour assurer la rétrocompatibilité\_; les\nautres membres sont ajoutés de manière additive. errors contient les échecs de validation\nau niveau des champs (422 uniquement)."
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Explication en langage clair, spécifique à cette occurrence.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Erreurs de validation par champ (réponses 422 uniquement).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: Une référence d’URI (le chemin de la requête) pour cette occurrence.
          title: Instance
        status:
          description: Le code d’état HTTP.
          title: Status
          type: integer
        title:
          description: Un bref résumé du type de problème, compréhensible par un humain.
          title: Title
          type: string
        type:
          default: about:blank
          description: Une référence d’URI identifiant le type de problème.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
    AutomationResponse:
      additionalProperties: false
      properties:
        actions:
          items:
            discriminator:
              mapping:
                message_session:
                  $ref: '#/components/schemas/AutomationMessageSessionAction'
                monitor_session:
                  $ref: '#/components/schemas/AutomationMonitorSessionAction'
                start_session:
                  $ref: '#/components/schemas/AutomationStartSessionAction-Output'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/AutomationStartSessionAction-Output'
              - $ref: '#/components/schemas/AutomationMessageSessionAction'
              - $ref: '#/components/schemas/AutomationMonitorSessionAction'
          title: Actions
          type: array
        automation_id:
          title: Automation Id
          type: string
        concurrency:
          anyOf:
            - $ref: '#/components/schemas/AutomationConcurrency'
            - type: 'null'
        created_at:
          title: Created At
          type: integer
        created_by:
          $ref: '#/components/schemas/ActorResponse'
        enabled:
          title: Enabled
          type: boolean
        last_edited_by:
          anyOf:
            - $ref: '#/components/schemas/ActorResponse'
            - type: 'null'
        last_invocation:
          anyOf:
            - $ref: '#/components/schemas/AutomationLastInvocation'
            - type: 'null'
        limits:
          anyOf:
            - $ref: '#/components/schemas/AutomationLimits'
            - type: 'null'
        metadata:
          additionalProperties:
            type: string
          default: {}
          title: Metadata
          type: object
        name:
          title: Name
          type: string
        notifications:
          anyOf:
            - $ref: '#/components/schemas/AutomationNotifications'
            - type: 'null'
        run_as:
          description: "Identité sous laquelle s’exécutent les sessions générées. organization: l’identité d’automatisation de l’organisation (l’utilisateur système dans l’application) — les sessions utilisent les autorisations système\_; les serveurs MCP installés avec une connexion personnelle (limitée à l’utilisateur) ne peuvent donc pas être sélectionnés, et le passage d’une automatisation à organization les retire de sa sélection. creator: automatisation personnelle — s’exécute avec les autorisations propres au créateur et n’est visible que par celui-ci et les administrateurs de l’organisation\_; refusée pour les automatisations créées par un utilisateur de service. Obligatoire à la création\_; null lors d’une mise à jour réinitialise la valeur sur organization."
          discriminator:
            mapping:
              creator:
                $ref: '#/components/schemas/AutomationRunAsCreator'
              organization:
                $ref: '#/components/schemas/AutomationRunAsOrganization'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/AutomationRunAsOrganization'
            - $ref: '#/components/schemas/AutomationRunAsCreator'
          title: Run As
        security_profile:
          anyOf:
            - $ref: '#/components/schemas/AutomationSecurityProfileResponse'
            - type: 'null'
          description: >-
            La liaison au profil de sécurité de l’automatisation et les profils
            directeurs résolus. null lorsque les profils de sécurité ne sont pas
            activés pour l’organisation.
        session_settings:
          anyOf:
            - $ref: '#/components/schemas/AutomationSessionSettings-Output'
            - type: 'null'
        template_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Template Id
        tools:
          anyOf:
            - $ref: '#/components/schemas/AutomationTools'
            - type: 'null'
        triggers:
          items:
            $ref: '#/components/schemas/AutomationTriggerResponse'
          title: Triggers
          type: array
        updated_at:
          title: Updated At
          type: integer
      required:
        - automation_id
        - name
        - enabled
        - triggers
        - actions
        - created_by
        - created_at
        - updated_at
      title: AutomationResponse
      type: object
    AutomationMessageSessionAction:
      additionalProperties: false
      properties:
        auto_create:
          default: false
          description: >-
            Lorsque true, le premier déclencheur crée une session de longue
            durée détenue par l’automatisation, puis les déclencheurs suivants
            lui envoient des messages.
          title: Auto Create
          type: boolean
        prompt:
          description: >-
            La charge utile de l’événement déclencheur est ajoutée
            automatiquement.
          title: Prompt
          type: string
        target_devin_id:
          anyOf:
            - type: string
            - type: 'null'
          description: "Doit appartenir à l’organisation\_; la modification d’une automatisation contenant cette action nécessite un accès en écriture à la session cible (les modifications limitées à l’activation ou à la désactivation sont exemptées). Obligatoire sauf si auto_create est true, auquel cas il est défini côté serveur lorsque le premier déclencheur crée la session\_; les valeurs fournies par le client sont ignorées."
          title: Target Devin Id
        type:
          const: message_session
          default: message_session
          title: Type
          type: string
      required:
        - prompt
      title: AutomationMessageSessionAction
      type: object
    AutomationMonitorSessionAction:
      additionalProperties: false
      properties:
        setup_prompt:
          description: >-
            Injecté dans le prompt système de la session. Même syntaxe de jetons
            de référence que prompt.
          title: Setup Prompt
          type: string
        slack_monitor_config:
          $ref: '#/components/schemas/AutomationSlackMonitorConfig'
          description: Nécessite exactement un déclencheur slack:message sur le même canal.
        type:
          const: monitor_session
          default: monitor_session
          title: Type
          type: string
      required:
        - setup_prompt
        - slack_monitor_config
      title: AutomationMonitorSessionAction
      type: object
    AutomationStartSessionAction-Output:
      additionalProperties: false
      properties:
        prompt:
          description: "La source de vérité unique\_: texte brut avec des jetons de référence en ligne (@{owner}/{repo}, @{path}, @playbook:{id}, @skills:{name}, !{macro}, ${SECRET_NAME}). Les jetons préfixés par type sont validés lors de l'enregistrement\_; les ID inconnus renvoient une erreur 400. La charge utile de l'événement déclencheur est ajoutée automatiquement."
          title: Prompt
          type: string
        session:
          $ref: '#/components/schemas/AutomationSessionConfig-Output'
          description: Configuration de la session générée.
        type:
          const: start_session
          default: start_session
          title: Type
          type: string
      required:
        - prompt
      title: AutomationStartSessionAction
      type: object
    AutomationConcurrency:
      additionalProperties: false
      properties:
        max_concurrent_runs:
          anyOf:
            - minimum: 1
              type: integer
            - type: 'null'
          description: "Nombre maximal d’exécutions en cours pour cette automatisation\_; les événements déclenchés supplémentaires attendent dans sa file d’attente. Une exécution cesse de compter dans la limite lorsque sa session est terminée et attend des instructions supplémentaires, et pas uniquement lorsque la session s’arrête. null = illimité."
          title: Max Concurrent Runs
        max_queue_depth:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          description: "Nombre maximal d’événements déclenchés en attente d’exécution dans la file d’attente de l’automatisation\_; les événements au-delà de cette limite sont ignorés. Nécessite la définition de max_concurrent_runs. null = illimité."
          title: Max Queue Depth
      title: AutomationConcurrency
      type: object
    ActorResponse:
      description: >-
        Un principal d’utilisateur ou d’utilisateur de service associé à une
        action ou une ressource.
      properties:
        id:
          description: ID utilisateur ou ID d’utilisateur de service.
          title: Id
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: "Nom d’affichage, déterminé côté serveur\_; null si supprimé."
          title: Name
        type:
          description: Type de principal.
          enum:
            - user
            - service_user
          title: Type
          type: string
      required:
        - type
        - id
      title: ActorResponse
      type: object
    AutomationLastInvocation:
      additionalProperties: false
      properties:
        fired_at:
          title: Fired At
          type: integer
        status:
          description: "succeeded | failed | skipped — énumération ouverte\_; les clients doivent accepter de nouvelles valeurs."
          title: Status
          type: string
      required:
        - fired_at
        - status
      title: AutomationLastInvocation
      type: object
    AutomationLimits:
      additionalProperties: false
      properties:
        invocations:
          anyOf:
            - $ref: '#/components/schemas/AutomationInvocationLimits'
            - type: 'null'
          description: Limite la fréquence de déclenchement de l’automatisation.
        max_acu_limit:
          anyOf:
            - maximum: 1000
              minimum: 1
              type: integer
            - type: 'null'
          description: Par session générée (même nom que dans l’API sessions).
          title: Max Acu Limit
      title: AutomationLimits
      type: object
    AutomationNotifications:
      additionalProperties: false
      properties:
        email:
          anyOf:
            - $ref: '#/components/schemas/AutomationEmailNotification'
            - type: 'null'
        slack:
          anyOf:
            - $ref: '#/components/schemas/AutomationSlackNotification'
            - type: 'null'
      title: AutomationNotifications
      type: object
    AutomationRunAsCreator:
      additionalProperties: false
      properties:
        type:
          const: creator
          default: creator
          title: Type
          type: string
      title: AutomationRunAsCreator
      type: object
    AutomationRunAsOrganization:
      additionalProperties: false
      properties:
        type:
          const: organization
          default: organization
          title: Type
          type: string
      title: AutomationRunAsOrganization
      type: object
    AutomationSecurityProfileResponse:
      additionalProperties: false
      properties:
        profile_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Profile Id
        selection:
          description: "La liaison propre à l'automatisation\_: inherit (aucune liaison), none (exclusion explicite) ou profile (fige profile_id). Les sessions résolvent l'ensemble de la chaîne entreprise -> organisation -> automatisation\_: la politique réseau de l'automatisation ne peut que restreindre les politiques des profils applicables, et une exclusion ne peut pas contourner un profil obligatoire au niveau de l'organisation ou de l'entreprise."
          enum:
            - inherit
            - none
            - profile
          title: Selection
          type: string
        warnings:
          default: []
          description: "Conflits de configuration non bloquants, par exemple un serveur MCP recommandé dont le nom d’hôte de l’endpoint est bloqué par le profil applicable (les sessions générées ne pourront pas se connecter à ce serveur). Seuls les noms d’hôte des endpoints MCP distants sont vérifiés\_; une liste vide ne garantit pas que toutes les destinations MCP ou réseau fonctionneront. Renseigné lors de la lecture ou de l’écriture d’une seule automatisation\_; vide dans les réponses de liste."
          items:
            type: string
          title: Warnings
          type: array
      required:
        - selection
      title: AutomationSecurityProfileResponse
      type: object
    AutomationSessionSettings-Output:
      additionalProperties: false
      description: |-
        Appliqué à chaque session créée par cette automatisation (y compris les
        sessions de surveillance).
      properties:
        devin_mode:
          anyOf:
            - enum:
                - normal
                - fast
                - lite
                - ultra
                - fusion
              type: string
            - type: 'null'
          description: null = valeur par défaut de l'organisation.
          title: Devin Mode
        net_policy:
          anyOf:
            - $ref: '#/components/schemas/AutomationNetPolicy'
            - type: 'null'
      title: AutomationSessionSettings
      type: object
    AutomationTools:
      additionalProperties: false
      properties:
        linear_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Accorder l'accès aux outils Linear.
          title: Linear Enabled
        mcp_servers:
          default: []
          description: >-
            Slugs Marketplace (champ slug de la ressource mcp-servers, par ex.
            'github', 'notion') activés pour les sessions générées. Les serveurs
            installés avec une connexion personnelle (limitée à l'utilisateur)
            nécessitent run_as creator ; leur sélection avec run_as organization
            est refusée, car l'identité de service des automatisations ne
            dispose d'aucun jeton personnel pour ces serveurs, et le passage du
            run_as d'une automatisation à organization les retire de la
            sélection enregistrée.
          items:
            type: string
          title: Mcp Servers
          type: array
        slack_channels:
          default: []
          description: Canaux dans lesquels les outils Slack de la session peuvent publier.
          items:
            $ref: '#/components/schemas/AutomationSlackChannel'
          title: Slack Channels
          type: array
        slack_dm_scope:
          anyOf:
            - enum:
                - org_members
                - workspace
              type: string
            - type: 'null'
          description: >-
            Autoriser les sessions générées à ouvrir des DM Slack individuels
            dans les espaces de travail connectés de l'organisation.
            'org_members' (comptes Enterprise uniquement) limite les
            destinataires des DM aux membres de l'organisation ; 'workspace'
            (comptes non Enterprise uniquement) autorise tout membre éligible de
            l'espace de travail. Omettez cette valeur ou utilisez null pour
            désactiver les DM.
          title: Slack Dm Scope
      title: AutomationTools
      type: object
    AutomationTriggerResponse:
      additionalProperties: false
      properties:
        conditions:
          anyOf:
            - $ref: '#/components/schemas/AutomationConditions-Output'
            - type: 'null'
        event_type:
          title: Event Type
          type: string
        replies:
          default: []
          items:
            $ref: '#/components/schemas/AutomationReply'
          title: Replies
          type: array
        trigger_id:
          description: >-
            Régénéré lorsque triggers est remplacé — non stable d'une
            modification à l'autre.
          title: Trigger Id
          type: string
        webhook:
          anyOf:
            - $ref: '#/components/schemas/AutomationWebhookResponse'
            - type: 'null'
          description: Uniquement pour les déclencheurs webhook:incoming.
      required:
        - trigger_id
        - event_type
      title: AutomationTriggerResponse
      type: object
    AutomationSlackMonitorConfig:
      additionalProperties: false
      properties:
        source_channel_id:
          title: Source Channel Id
          type: string
        team_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Team Id
      required:
        - source_channel_id
      title: AutomationSlackMonitorConfig
      type: object
    AutomationSessionConfig-Output:
      additionalProperties: false
      properties:
        bypass_approval:
          default: false
          description: "Approuve automatiquement la création de sessions enfants (c'est la seule vérification que cet indicateur contourne)\_; toute future vérification contournable nécessitera un nouveau champ."
          title: Bypass Approval
          type: boolean
        notifications:
          anyOf:
            - $ref: '#/components/schemas/AutomationSessionNotificationsConfig'
            - type: 'null'
          description: >-
            Notifications relatives au contenu des sessions (actuellement
            disponibles uniquement dans Slack).
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Plateforme VM de la session. Si null, la session utilise la
            plateforme par défaut de l'organisation au moment de l'invocation.
          title: Platform
        playbook_id:
          anyOf:
            - type: string
            - type: 'null'
          description: "Lecture seule\_: dérivé du premier jeton @playbook: du prompt."
          title: Playbook Id
        repos:
          default: []
          description: "Lecture seule\_: dérivé des jetons de dépôt du prompt."
          items:
            type: string
          title: Repos
          type: array
        tags:
          default: []
          description: >-
            Balises de session. Pour les entreprises imposant le balisage, une
            seule valeur autorisée est requise.
          items:
            type: string
          title: Tags
          type: array
      title: AutomationSessionConfig
      type: object
    AutomationInvocationLimits:
      additionalProperties: false
      properties:
        max_per_window:
          minimum: 1
          title: Max Per Window
          type: integer
        window_seconds:
          minimum: 60
          title: Window Seconds
          type: integer
      required:
        - max_per_window
        - window_seconds
      title: AutomationInvocationLimits
      type: object
    AutomationEmailNotification:
      additionalProperties: false
      properties:
        recipients:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: "null = le créateur de l’automatisation\_; obligatoire pour les automatisations créées par un utilisateur de service."
          title: Recipients
        when:
          enum:
            - always
            - dispatch_failed
            - dispatch_succeeded
          title: When
          type: string
      required:
        - when
      title: AutomationEmailNotification
      type: object
    AutomationSlackNotification:
      additionalProperties: false
      properties:
        channel_id:
          title: Channel Id
          type: string
        when:
          enum:
            - always
            - dispatch_failed
            - dispatch_succeeded
          title: When
          type: string
      required:
        - when
        - channel_id
      title: AutomationSlackNotification
      type: object
    AutomationNetPolicy:
      additionalProperties: false
      properties:
        allow:
          items:
            anyOf:
              - $ref: '#/components/schemas/AutomationHostnameDestination'
              - $ref: '#/components/schemas/AutomationIpv4Destination'
              - $ref: '#/components/schemas/AutomationIpv6Destination'
          title: Allow
          type: array
      required:
        - allow
      title: AutomationNetPolicy
      type: object
    AutomationSlackChannel:
      additionalProperties: false
      properties:
        channel_id:
          title: Channel Id
          type: string
        team_id:
          title: Team Id
          type: string
      required:
        - team_id
        - channel_id
      title: AutomationSlackChannel
      type: object
    AutomationConditions-Output:
      additionalProperties: false
      properties:
        any:
          description: OU de groupes ET (FND fixe à deux niveaux).
          items:
            $ref: '#/components/schemas/AutomationConditionGroup'
          title: Any
          type: array
      required:
        - any
      title: AutomationConditions
      type: object
    AutomationReply:
      additionalProperties: false
      properties:
        type:
          description: "notify_thread: indication unidirectionnelle «\_session démarrée\_» dans le fil déclencheur au moment de l’envoi (déclencheurs Slack). attach_thread: liaison bidirectionnelle avec le fil déclencheur au moment de l’envoi (déclencheurs Slack). post_response: transmet la réponse de l’agent au contexte déclencheur."
          enum:
            - notify_thread
            - attach_thread
            - post_response
          title: Type
          type: string
      required:
        - type
      title: AutomationReply
      type: object
    AutomationWebhookResponse:
      additionalProperties: false
      properties:
        secret:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Présent uniquement lorsqu'il vient d'être généré (à la création ou
            lors d'un réajout) ; il n'est ensuite plus récupérable. Le
            remplacement de triggers préserve le secret existant.
          title: Secret
        url:
          description: >-
            La boîte de réception vers laquelle les systèmes externes envoient
            des requêtes POST (en-tête X-Webhook-Secret).
          title: Url
          type: string
      required:
        - url
      title: AutomationWebhookResponse
      type: object
    AutomationSessionNotificationsConfig:
      additionalProperties: false
      description: >-
        Destination du contenu de la session générée, par opposition au

        groupe ``notifications`` au niveau de l’automatisation (notifications
        d’état d’envoi).
      properties:
        slack:
          anyOf:
            - $ref: '#/components/schemas/AutomationSessionSlackConfig'
            - type: 'null'
          description: "Associe la session à un espace Slack\_: communication bidirectionnelle pour post_updates/forward_thread et post_response une fois que sa diffusion initiale a associé le fil."
      title: AutomationSessionNotificationsConfig
      type: object
    AutomationHostnameDestination:
      additionalProperties: false
      properties:
        hostname:
          title: Hostname
          type: string
      required:
        - hostname
      title: AutomationHostnameDestination
      type: object
    AutomationIpv4Destination:
      additionalProperties: false
      properties:
        ipv4:
          title: Ipv4
          type: string
      required:
        - ipv4
      title: AutomationIpv4Destination
      type: object
    AutomationIpv6Destination:
      additionalProperties: false
      properties:
        ipv6:
          title: Ipv6
          type: string
      required:
        - ipv6
      title: AutomationIpv6Destination
      type: object
    AutomationConditionGroup:
      additionalProperties: false
      properties:
        all:
          description: "ET\_: chaque condition du groupe doit correspondre."
          items:
            discriminator:
              mapping:
                between:
                  $ref: '#/components/schemas/AutomationRangeCondition'
                contains:
                  $ref: '#/components/schemas/AutomationStringCondition'
                ends_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
                eq:
                  $ref: '#/components/schemas/AutomationComparisonCondition'
                globs:
                  $ref: '#/components/schemas/AutomationGlobCondition'
                gt:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                gte:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                in:
                  $ref: '#/components/schemas/AutomationListCondition'
                is_empty:
                  $ref: '#/components/schemas/AutomationEmptyCondition'
                is_not_empty:
                  $ref: '#/components/schemas/AutomationEmptyCondition'
                lt:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                lte:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                matches:
                  $ref: '#/components/schemas/AutomationMatchCondition'
                neq:
                  $ref: '#/components/schemas/AutomationComparisonCondition'
                not_contains:
                  $ref: '#/components/schemas/AutomationStringCondition'
                not_ends_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
                not_globs:
                  $ref: '#/components/schemas/AutomationGlobCondition'
                not_in:
                  $ref: '#/components/schemas/AutomationListCondition'
                not_matches:
                  $ref: '#/components/schemas/AutomationMatchCondition'
                not_starts_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
                recurrence:
                  $ref: '#/components/schemas/AutomationRecurrenceCondition'
                starts_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
              propertyName: operator
            oneOf:
              - $ref: '#/components/schemas/AutomationComparisonCondition'
              - $ref: '#/components/schemas/AutomationStringCondition'
              - $ref: '#/components/schemas/AutomationNumericCondition'
              - $ref: '#/components/schemas/AutomationEmptyCondition'
              - $ref: '#/components/schemas/AutomationRangeCondition'
              - $ref: '#/components/schemas/AutomationListCondition'
              - $ref: '#/components/schemas/AutomationMatchCondition'
              - $ref: '#/components/schemas/AutomationRecurrenceCondition'
              - $ref: '#/components/schemas/AutomationGlobCondition'
          title: All
          type: array
      required:
        - all
      title: AutomationConditionGroup
      type: object
    AutomationSessionSlackConfig:
      additionalProperties: false
      properties:
        channel_id:
          title: Channel Id
          type: string
        mode:
          description: "post_updates\_: la session échange dans un fil du canal (disponible pour les déclencheurs autres que Slack). forward_thread\_: idem, avec en plus un lien de retour publié dans le fil à l'origine du déclenchement (nécessite un déclencheur Slack). post_response\_: la réponse finale de la session est publiée dans le canal sous forme de message de premier niveau, puis son fil est associé aux réponses et messages de suivi (disponible pour tout déclencheur)."
          enum:
            - post_updates
            - forward_thread
            - post_response
          title: Mode
          type: string
      required:
        - mode
        - channel_id
      title: AutomationSessionSlackConfig
      type: object
    AutomationRangeCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          const: between
          title: Operator
          type: string
        value:
          description: Plage inclusive [low, high].
          maxItems: 2
          minItems: 2
          prefixItems:
            - anyOf:
                - type: integer
                - type: number
            - anyOf:
                - type: integer
                - type: number
          title: Value
          type: array
      required:
        - field
        - operator
        - value
      title: AutomationRangeCondition
      type: object
    AutomationStringCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - contains
            - not_contains
            - starts_with
            - not_starts_with
            - ends_with
            - not_ends_with
          title: Operator
          type: string
        value:
          title: Value
          type: string
      required:
        - field
        - operator
        - value
      title: AutomationStringCondition
      type: object
    AutomationComparisonCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - eq
            - neq
          title: Operator
          type: string
        value:
          anyOf:
            - type: string
            - type: integer
            - type: number
            - type: boolean
          title: Value
      required:
        - field
        - operator
        - value
      title: AutomationComparisonCondition
      type: object
    AutomationGlobCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - globs
            - not_globs
          title: Operator
          type: string
        value:
          description: "Motifs glob\_; tout chemin modifié qui correspond (github:push, gitlab:push)."
          items:
            type: string
          title: Value
          type: array
      required:
        - field
        - operator
        - value
      title: AutomationGlobCondition
      type: object
    AutomationNumericCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - gt
            - lt
            - gte
            - lte
          title: Operator
          type: string
        value:
          anyOf:
            - type: integer
            - type: number
          title: Value
      required:
        - field
        - operator
        - value
      title: AutomationNumericCondition
      type: object
    AutomationListCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - in
            - not_in
          title: Operator
          type: string
        value:
          items:
            type: string
          title: Value
          type: array
      required:
        - field
        - operator
        - value
      title: AutomationListCondition
      type: object
    AutomationEmptyCondition:
      additionalProperties: false
      description: "Opérateur unaire\_: correspond selon que le champ est vide\_; `value` ne contient aucune donnée."
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - is_empty
            - is_not_empty
          title: Operator
          type: string
        value:
          title: Value
          type: 'null'
      required:
        - field
        - operator
      title: AutomationEmptyCondition
      type: object
    AutomationMatchCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - matches
            - not_matches
          title: Operator
          type: string
        value:
          description: Expression régulière.
          title: Value
          type: string
      required:
        - field
        - operator
        - value
      title: AutomationMatchCondition
      type: object
    AutomationRecurrenceCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          const: recurrence
          title: Operator
          type: string
        value:
          description: >-
            RRULE iCalendar pour le champ rrule de schedule:recurring, p. ex.
            FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0
          title: Value
          type: string
      required:
        - field
        - operator
        - value
      title: AutomationRecurrenceCondition
      type: object
  securitySchemes:
    bearerAuth:
      description: "Identifiant de compte de service (préfixe\_: cog_)"
      scheme: bearer
      type: http

````