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

# Liste des destinations de webhook API

> Liste toutes les destinations de webhook Didit : version, événements abonnés, métriques de livraison sur 30 jours et état. Facturation à l'appel.



Prompt de l'API : lister les destinations de webhook
        Copier le prompt dans le presse-papiers



      
      

\<pre>

\`List every webhook destination configured for my Didit application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/webhook/destinations/

Authentication:
Use the x-api-key header with my Didit API key.

Goal:
\- Get every webhook destination (URL, version, subscribed events, delivery health) for my application. Use this to build a back-office "Webhooks" screen or to audit which destinations are receiving which events.

Behavior:
\- Returns a JSON array (not paginated) of destinations ordered by created_at.
\- The list never includes the signing secret (secret_shared_key) and has no summary object. Each item carries secret_last4, the last four characters of the secret, so you can tell secrets apart. Read the full secret from GET /v3/webhook/destinations/{destination_uuid}/.
\- Each item carries flat delivery metrics for the last 30 days (metrics_window_days is always 30): deliveries_count, failed_deliveries_count, average_response_time_ms and error_rate_percentage. last_delivery_at is the most recent attempt.
\- daily_points has 30 entries, oldest first, one per UTC day: { date, total_deliveries, failed_deliveries }. Days without deliveries carry zeros.
\- health_status is "failing" when 3 or more consecutive events failed their first delivery attempt since the destination last answered successfully (failing_streak counts them, failing_since is when the first one failed), "degraded" when an attempt failed in the last 24 hours and no later attempt has delivered that event, and "healthy" otherwise. It does not reflect enabled.
\- last_success_at is when the destination last answered under HTTP 400 in the last 30 days (null if it has not).
\- created_by_email and created_by_name name the Business Console member who created the destination; both are null for a destination created with an API key.
\- environment is "live" or "sandbox", from the application.

Example call:
curl -X GET "https://verification.didit.me/v3/webhook/destinations/" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response:
\- uuid — destination id; use as {destination_uuid} in subsequent calls.
\- url, label, enabled — basic config.
\- webhook_version — payload schema version ("v1", "v2", or "v3"; v3 is current).
\- subscribed_events — list of event names this destination receives. There is no wildcard.
\- health_status: the signal to alert on. failing_streak and failing_since tell you how long a destination has been failing.

Failure modes:
\- 401 — missing or malformed x-api-key.
\- 403 — canonical { "detail": "You do not have permission to perform this action." } envelope.
\- 429 — rate limited; back off and retry.

Side effects: none. This is a pure read.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

Coller dans

## État de la destination`health_status` résume la manière dont une destination a répondu aux tentatives de livraison qui lui ont été adressées.| Valeur | Signification |
| - | - |
| `failing` | 3 événements consécutifs ou plus ont échoué à leur première tentative de livraison depuis la dernière réponse réussie de la destination. `failing_streak` les compte et `failing_since` indique le moment du premier échec. |
| `degraded` | La destination n'est pas en échec, mais une tentative de livraison a échoué au cours des 24 dernières heures et aucune tentative ultérieure n'a livré cet événement. Une nouvelle tentative ou un renvoi qui livre l'événement supprime cet état. |
| `healthy` | Aucun des deux cas ci-dessus. |Une tentative échouée est une tentative à laquelle la destination a répondu avec un code HTTP 400 ou supérieur, ou à laquelle elle n'a pas répondu du tout (délai dépassé, connexion refusée ou adresse bloquée).
Les nouvelles tentatives ne s'ajoutent pas à `failing_streak`, et toute tentative réussie, y compris une nouvelle tentative ou un renvoi, met fin à la série.
`health_status` est indépendant de `enabled`.Les métriques de livraison et `daily_points` couvrent les 30 derniers jours (`metrics_window_days`).
`daily_points` contient toujours 30 entrées, une par jour UTC, de la plus ancienne à la plus récente.## Voir aussi- [Obtenir une destination de webhook](https://docs.didit.me/fr/management-api/webhook/get-destination.md) : lire une destination avec son secret de signature et son résumé de livraison.
- [Guide des webhooks](https://docs.didit.me/fr/integration/webhooks.md) : vérification de signature, nouvelles tentatives et payloads.


## OpenAPI

````yaml fr/openapi-25.json GET /v3/webhook/destinations/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/webhook/destinations/:
    get:
      tags:
        - Webhook
      summary: Lister les destinations de webhook
      description: "Lister toutes les destinations de webhook (tableau non paginé, les plus anciennes en premier). Chaque élément contient la configuration de la destination, ses métriques de livraison pour les 30 derniers jours (`metrics_window_days`) avec une entrée `daily_points` par jour, ainsi que son état (`health_status`, `failing_streak`, `failing_since`, `last_success_at`). La liste n'a pas d'objet `summary` et n'inclut jamais le secret de signature\_: chaque élément n'affiche que `secret_last4`. Récupérez une destination unique (`GET /v3/webhook/destinations/{destination_uuid}/`) pour lire `secret_shared_key`."
      operationId: list_webhook_destinations
      responses:
        '200':
          description: >-
            Liste des destinations de webhook (non paginée, de la plus ancienne
            à la plus récente).
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uuid:
                      type: string
                      format: uuid
                      description: >-
                        Identifiant stable de la destination ; à utiliser comme
                        `{destination_uuid}` pour la mise à jour ou la
                        suppression.
                    label:
                      type: string
                      description: Nom lisible par l'humain affiché dans la Console.
                    url:
                      type: string
                      format: uri
                      description: >-
                        URL de destination qui reçoit les requêtes `POST` avec
                        le payload du webhook.
                    enabled:
                      type: boolean
                      description: >-
                        Lorsque la valeur est `false`, Didit ignore
                        silencieusement la livraison vers cette destination.
                    webhook_version:
                      type: string
                      enum:
                        - v1
                        - v2
                        - v3
                      description: >-
                        Version du schéma de payload envoyée à cette
                        destination. `v3` est le format actuel/recommandé.
                    subscribed_events:
                      $ref: '#/components/schemas/WebhookSubscribedEvents'
                    subscribed_events_count:
                      type: integer
                      description: >-
                        Longueur en cache de `subscribed_events`, utile pour le
                        rendu de l'interface utilisateur.
                    deliveries_count:
                      type: integer
                      description: >-
                        Tentatives de livraison (nouvelles tentatives incluses)
                        effectuées vers cette destination au cours des 30
                        derniers jours.
                    failed_deliveries_count:
                      type: integer
                      description: >-
                        Tentatives de livraison au cours des 30 derniers jours
                        auxquelles la destination a répondu par HTTP 400 ou
                        plus, ou n'a pas répondu (délai d'attente dépassé,
                        connexion refusée ou adresse bloquée).
                    average_response_time_ms:
                      type: integer
                      nullable: true
                      description: >-
                        Temps de réponse moyen en millisecondes au cours des 30
                        derniers jours, arrondi à l'entier le plus proche.
                        `null` s'il n'y a eu aucune livraison pendant cette
                        période.
                    error_rate_percentage:
                      type: integer
                      description: >-
                        `round(failed_deliveries_count / deliveries_count *
                        100)` sur les 30 derniers jours ; `0` lorsqu'il n'y a
                        aucune livraison.
                    last_delivery_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Horodatage de la tentative de livraison la plus récente
                        (succès ou échec). `null` si aucune livraison n'a été
                        effectuée.
                    metrics_window_days:
                      type: integer
                      description: >-
                        Durée en jours de la fenêtre couverte par
                        `deliveries_count`, `failed_deliveries_count`,
                        `average_response_time_ms`, `error_rate_percentage` et
                        `daily_points`. Toujours `30`.
                    health_status:
                      type: string
                      enum:
                        - healthy
                        - degraded
                        - failing
                      description: >-
                        État de la livraison. `failing` : 3 événements
                        consécutifs ou plus ont échoué lors de leur première
                        tentative de livraison depuis la dernière réponse
                        réussie de la destination (voir `failing_streak`).
                        `degraded` : pas en échec, mais une tentative de
                        livraison a échoué au cours des dernières 24 heures et
                        aucune tentative ultérieure n'a livré cet événement ;
                        une nouvelle tentative ou un renvoi qui le livre efface
                        cet état. `healthy` : aucun des deux. Indépendant de
                        `enabled`. Une tentative échouée correspond à une
                        réponse HTTP 400 ou supérieure, ou à une absence totale
                        de réponse.
                    failing_streak:
                      type: integer
                      description: >-
                        Nombre d'événements consécutifs dont la première
                        tentative de livraison a échoué depuis la dernière
                        réponse réussie de la destination, au cours des 30
                        derniers jours. Les nouvelles tentatives ne sont pas
                        comptabilisées, et toute tentative réussie, y compris
                        une nouvelle tentative ou un renvoi, met fin à la série.
                        `0` lorsqu'aucun événement n'a échoué depuis le dernier
                        succès.
                    failing_since:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Date et heure de la première tentative infructueuse de
                        la série d'échecs en cours (`failing_streak`). `null`
                        lorsque `failing_streak` vaut `0`.
                    last_success_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Date et heure auxquelles la destination a répondu pour
                        la dernière fois à une livraison avec un statut HTTP
                        inférieur à 400, au cours des 30 derniers jours. `null`
                        si ce n'est pas le cas dans cet intervalle.
                    environment:
                      type: string
                      enum:
                        - live
                        - sandbox
                      description: >-
                        Environnement de l'application propriétaire de la
                        destination.
                    daily_points:
                      type: array
                      description: >-
                        Une entrée par jour UTC des 30 derniers jours, de la
                        plus ancienne à la plus récente, y compris les jours
                        sans aucune livraison. Prend en compte chaque tentative,
                        nouvelles tentatives incluses.
                      items:
                        type: object
                        properties:
                          date:
                            type: string
                            format: date
                            description: Le jour UTC.
                          total_deliveries:
                            type: integer
                            description: Tentatives de livraison effectuées ce jour-là.
                          failed_deliveries:
                            type: integer
                            description: >-
                              Tentatives effectuées ce jour-là ayant reçu une
                              réponse HTTP 400 ou supérieure, ou n'ayant reçu
                              aucune réponse.
                    secret_last4:
                      type: string
                      description: >-
                        Quatre derniers caractères du secret de signature actuel
                        de la destination, vous permettant de distinguer les
                        secrets. Insuffisant pour vérifier une signature.
                    created_by_email:
                      type: string
                      nullable: true
                      description: >-
                        E-mail du membre de la Business Console qui a créé la
                        destination. `null` pour une destination créée avec une
                        clé API.
                    created_by_name:
                      type: string
                      nullable: true
                      description: >-
                        Nom du membre de la Business Console ayant créé la
                        destination. `null` pour une destination créée avec une
                        clé API.
                    created_at:
                      type: string
                      format: date-time
                    updated_at:
                      type: string
                      format: date-time
              examples:
                Two destinations:
                  value:
                    - uuid: 11111111-2222-3333-4444-555555555555
                      label: Production session webhooks
                      url: https://yourapp.com/webhooks/didit
                      enabled: true
                      webhook_version: v3
                      subscribed_events:
                        - status.updated
                        - data.updated
                      subscribed_events_count: 2
                      deliveries_count: 12453
                      failed_deliveries_count: 14
                      average_response_time_ms: 187
                      error_rate_percentage: 0
                      last_delivery_at: '2026-05-17T09:21:18Z'
                      metrics_window_days: 30
                      health_status: healthy
                      failing_streak: 0
                      failing_since: null
                      last_success_at: '2026-05-17T09:21:18Z'
                      environment: live
                      daily_points:
                        - date: '2026-04-18'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-19'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-20'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-21'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-22'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-23'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-24'
                          total_deliveries: 415
                          failed_deliveries: 9
                        - date: '2026-04-25'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-26'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-27'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-28'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-29'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-04-30'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-01'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-02'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-03'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-04'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-05'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-06'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-07'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-08'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-09'
                          total_deliveries: 415
                          failed_deliveries: 5
                        - date: '2026-05-10'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-11'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-12'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-13'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-14'
                          total_deliveries: 415
                          failed_deliveries: 0
                        - date: '2026-05-15'
                          total_deliveries: 416
                          failed_deliveries: 0
                        - date: '2026-05-16'
                          total_deliveries: 416
                          failed_deliveries: 0
                        - date: '2026-05-17'
                          total_deliveries: 416
                          failed_deliveries: 0
                      secret_last4: 0xnQ
                      created_by_email: null
                      created_by_name: null
                      created_at: '2026-01-04T08:00:00Z'
                      updated_at: '2026-04-22T14:09:11Z'
                    - uuid: 22222222-3333-4444-5555-666666666666
                      label: Staging mirror
                      url: https://staging.yourapp.com/webhooks/didit
                      enabled: false
                      webhook_version: v3
                      subscribed_events:
                        - status.updated
                      subscribed_events_count: 1
                      deliveries_count: 0
                      failed_deliveries_count: 0
                      average_response_time_ms: null
                      error_rate_percentage: 0
                      last_delivery_at: null
                      metrics_window_days: 30
                      health_status: healthy
                      failing_streak: 0
                      failing_since: null
                      last_success_at: null
                      environment: live
                      daily_points:
                        - date: '2026-04-18'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-19'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-20'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-21'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-22'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-23'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-24'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-25'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-26'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-27'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-28'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-29'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-04-30'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-01'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-02'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-03'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-04'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-05'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-06'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-07'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-08'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-09'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-10'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-11'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-12'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-13'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-14'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-15'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-16'
                          total_deliveries: 0
                          failed_deliveries: 0
                        - date: '2026-05-17'
                          total_deliveries: 0
                          failed_deliveries: 0
                      secret_last4: k9Qe
                      created_by_email: reviewer@example.com
                      created_by_name: Example Reviewer
                      created_at: '2026-03-12T10:15:02Z'
                      updated_at: '2026-03-12T10:15:02Z'
        '403':
          description: >-
            Clé API manquante, mal formée, expirée ou limitée à une application
            différente. Une clé manquante renvoie `403` ; une clé erronée,
            révoquée ou expirée renvoie `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: Limite de débit dépassée ; réduisez la cadence et réessayez.
          content:
            application/json:
              examples:
                Throttled:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET 'https://verification.didit.me/v3/webhook/destinations/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.webhooks.destinations.list()
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.webhooks.destinations.list();
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Webhooks.Destinations.List(ctx)\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            var result = client.webhooks().destinations().list();
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->webhooks->destinations->list();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.webhooks.destinations.list.each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            var result = await client.Webhooks.Destinations.ListAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    WebhookSubscribedEvents:
      type: array
      description: >-
        Filtre d'événements pour cette destination de webhook. Didit ne livre
        que les webhooks dont le type d'événement correspond exactement à l'une
        de ces valeurs — il n'y a pas d'abonnement avec caractère générique.
        Lorsqu'elle est envoyée, la liste doit contenir au moins un événement
        valide (un `[]` explicite est rejeté avec une erreur 400) ; une
        destination dont la liste est vide (champ omis lors de la création) ne
        reçoit rien. Lors d'une mise à jour, la liste est entièrement remplacée,
        jamais fusionnée.
      minItems: 1
      uniqueItems: true
      items:
        $ref: '#/components/schemas/WebhookEvent'
      example:
        - status.updated
        - data.updated
    WebhookEvent:
      type: string
      description: >-
        Nom d'événement webhook pris en charge. Utilisez ces chaînes exactes
        dans `subscribed_events` ; les valeurs non prises en charge sont
        rejetées.
      enum:
        - status.updated
        - data.updated
        - user.status.updated
        - user.data.updated
        - business.status.updated
        - business.data.updated
        - activity.created
        - transaction.created
        - transaction.status.updated
        - travel_rule.status.updated
        - workflow.compliance_changed
        - transaction_rule_suggestions.created
        - auth.signup
        - auth.login
        - auth.login_failed
        - auth.password_reset_requested
        - auth.password_reset_completed
        - auth.mfa_changed
        - auth.new_device
        - auth.account_locked
        - investigator.report.ready
        - investigator.decision.automated
        - investigator.decision.overridden
        - investigator.decision.contested
        - investigator.question.raised
        - investigator.automation.paused
        - investigator.rfi.answered
        - investigator.rfi.overdue
        - investigator.drift.detected
        - investigator.sla.breached
        - investigator.qa.failed
        - investigator.external.report.ready
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.