> ## 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.

# Elenco destinazioni webhook: API Didit

> Recupera le destinazioni webhook di Didit con versione, eventi sottoscritti, metriche di consegna a 30 giorni e stato. Pagamento a consumo.



Prompt API per elencare le destinazioni webhook
        Copia il prompt negli appunti



      
      

\<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>



      
      

Incolla in

## Stato della destinazione`health_status` riassume come la destinazione ha risposto alle consegne.| Valore | Significato |
| - | - |
| `failing` | 3 o più eventi consecutivi non sono riusciti al primo tentativo di consegna da quando la destinazione ha risposto con successo l'ultima volta. `failing_streak` li conta e `failing_since` indica quando è fallito il primo. |
| `degraded` | Non in stato di errore, ma un tentativo di consegna è fallito nelle ultime 24 ore e nessun tentativo successivo ha consegnato quell'evento. Un nuovo tentativo o un reinvio che lo consegna rimuove questo stato. |
| `healthy` | Nessuna delle due condizioni precedenti. |Un tentativo fallito è quello in cui la destinazione ha risposto con HTTP 400 o superiore, oppure a cui non ha risposto affatto (timeout, connessione rifiutata o indirizzo bloccato).
I nuovi tentativi non incrementano `failing_streak`, e qualsiasi tentativo riuscito, incluso un nuovo tentativo o un reinvio, interrompe la serie.
`health_status` è indipendente da `enabled`.Le metriche di consegna e `daily_points` coprono gli ultimi 30 giorni (`metrics_window_days`).
`daily_points` contiene sempre 30 voci, una per giorno UTC, dalla più vecchia alla più recente.## Correlati- [Ottieni la destinazione webhook](https://docs.didit.me/it/management-api/webhook/get-destination.md): consente di leggere una destinazione con il relativo segreto di firma e il riepilogo delle consegne.
- [Guida ai webhook](https://docs.didit.me/it/integration/webhooks.md): verifica della firma, nuovi tentativi e payload.


## OpenAPI

````yaml it/openapi-25.json GET /v3/webhook/destinations/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API di verifica dell'identità. Autenticati con l'intestazione x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/webhook/destinations/:
    get:
      tags:
        - Webhook
      summary: Elenca le destinazioni webhook
      description: >-
        Elenca tutte le destinazioni webhook (array non paginato, dalla meno
        recente). Ogni elemento include la configurazione della destinazione, le
        sue metriche di consegna per gli ultimi 30 giorni
        (`metrics_window_days`) con una voce `daily_points` al giorno e il suo
        stato (`health_status`, `failing_streak`, `failing_since`,
        `last_success_at`). L'elenco non include alcun oggetto `summary` e non
        riporta mai il segreto di firma: ogni voce mostra solo `secret_last4`.
        Recupera una singola destinazione (`GET
        /v3/webhook/destinations/{destination_uuid}/`) per leggere
        `secret_shared_key`.
      operationId: list_webhook_destinations
      responses:
        '200':
          description: >-
            Elenca le destinazioni webhook (senza paginazione, dalla meno
            recente alla più recente).
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uuid:
                      type: string
                      format: uuid
                      description: >-
                        Identificatore stabile della destinazione; da usare come
                        `{destination_uuid}` per aggiornamento/eliminazione.
                    label:
                      type: string
                      description: Nome di facile lettura mostrato nella Console.
                    url:
                      type: string
                      format: uri
                      description: >-
                        URL di destinazione che riceve richieste `POST` con il
                        payload del webhook.
                    enabled:
                      type: boolean
                      description: >-
                        Quando è `false`, Didit ignora silenziosamente la
                        consegna a questa destinazione.
                    webhook_version:
                      type: string
                      enum:
                        - v1
                        - v2
                        - v3
                      description: >-
                        Versione dello schema del payload inviata a questa
                        destinazione. `v3` è il formato attuale/consigliato.
                    subscribed_events:
                      $ref: '#/components/schemas/WebhookSubscribedEvents'
                    subscribed_events_count:
                      type: integer
                      description: >-
                        Lunghezza memorizzata nella cache di
                        `subscribed_events`, utile per il rendering
                        dell'interfaccia utente.
                    deliveries_count:
                      type: integer
                      description: >-
                        Tentativi di consegna (inclusi i nuovi tentativi)
                        effettuati verso questa destinazione negli ultimi 30
                        giorni.
                    failed_deliveries_count:
                      type: integer
                      description: >-
                        Tentativi di consegna negli ultimi 30 giorni a cui la
                        destinazione ha risposto con HTTP 400 o superiore,
                        oppure non ha risposto (timeout, connessione rifiutata o
                        indirizzo bloccato).
                    average_response_time_ms:
                      type: integer
                      nullable: true
                      description: >-
                        Tempo medio di risposta in millisecondi negli ultimi 30
                        giorni, arrotondato a un numero intero. `null` in
                        assenza di consegne in tale intervallo.
                    error_rate_percentage:
                      type: integer
                      description: >-
                        `round(failed_deliveries_count / deliveries_count *
                        100)` negli ultimi 30 giorni; `0` quando non ci sono
                        consegne.
                    last_delivery_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Timestamp del tentativo di consegna più recente
                        (riuscito o fallito). `null` se non è mai stata
                        consegnata.
                    metrics_window_days:
                      type: integer
                      description: >-
                        Durata in giorni dell'intervallo coperto da
                        `deliveries_count`, `failed_deliveries_count`,
                        `average_response_time_ms`, `error_rate_percentage` e
                        `daily_points`. Sempre `30`.
                    health_status:
                      type: string
                      enum:
                        - healthy
                        - degraded
                        - failing
                      description: >-
                        Stato della consegna. `failing`: 3 o più eventi
                        consecutivi hanno fallito il primo tentativo di consegna
                        dall'ultima risposta riuscita della destinazione (vedere
                        `failing_streak`). `degraded`: non in errore, ma un
                        tentativo di consegna è fallito nelle ultime 24 ore e
                        nessun tentativo successivo ha consegnato quell'evento;
                        un nuovo tentativo o reinvio che lo consegna cancella
                        questa condizione. `healthy`: nessuno dei due.
                        Indipendente da `enabled`. Un tentativo fallito è quello
                        a cui è stato risposto con HTTP 400 o superiore, o a cui
                        non è stata data alcuna risposta.
                    failing_streak:
                      type: integer
                      description: >-
                        Quanti eventi consecutivi hanno fallito il primo
                        tentativo di consegna dall'ultima risposta positiva
                        della destinazione, negli ultimi 30 giorni. I nuovi
                        tentativi non vengono conteggiati e qualsiasi tentativo
                        riuscito, inclusi nuovi tentativi o reinvii, interrompe
                        la serie. `0` quando nessun evento ha fallito
                        dall'ultimo successo.
                    failing_since:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Data e ora del primo tentativo fallito dell'attuale
                        `failing_streak`. `null` quando `failing_streak` è `0`.
                    last_success_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Data e ora dell'ultima risposta della destinazione a una
                        consegna con uno stato HTTP inferiore a 400, negli
                        ultimi 30 giorni. `null` se non ha risposto in tale
                        intervallo.
                    environment:
                      type: string
                      enum:
                        - live
                        - sandbox
                      description: >-
                        Ambiente dell'applicazione proprietaria della
                        destinazione.
                    daily_points:
                      type: array
                      description: >-
                        Una voce per ogni giorno UTC degli ultimi 30 giorni, a
                        partire dal più vecchio, inclusi i giorni senza
                        consegne. Conteggia ogni tentativo, nuovi tentativi
                        inclusi.
                      items:
                        type: object
                        properties:
                          date:
                            type: string
                            format: date
                            description: Il giorno UTC.
                          total_deliveries:
                            type: integer
                            description: Tentativi di consegna effettuati in quel giorno.
                          failed_deliveries:
                            type: integer
                            description: >-
                              Tentativi effettuati in quel giorno che hanno
                              ricevuto una risposta HTTP 400 o superiore oppure
                              non hanno ricevuto alcuna risposta.
                    secret_last4:
                      type: string
                      description: >-
                        Ultimi quattro caratteri del segreto di firma attuale
                        della destinazione, per consentirti di distinguere i
                        segreti. Non sufficienti per verificare una firma.
                    created_by_email:
                      type: string
                      nullable: true
                      description: >-
                        Email del membro della Business Console che ha creato la
                        destinazione. `null` per una destinazione creata con una
                        chiave API.
                    created_by_name:
                      type: string
                      nullable: true
                      description: >-
                        Nome del membro della Business Console che ha creato la
                        destinazione. `null` per una destinazione creata con una
                        chiave 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: >-
            Chiave API mancante, malformata, scaduta o associata a
            un'applicazione diversa. Una chiave mancante restituisce `403`; una
            chiave errata, revocata o scaduta restituisce `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: Limite di frequenza superato; rallenta e riprova.
          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: >-
        Filtro degli eventi per questa destinazione webhook. Didit consegna solo
        i webhook il cui tipo di evento corrisponde esattamente a uno di questi
        valori — non esiste un abbonamento con caratteri jolly. Quando viene
        inviato, l'elenco deve contenere almeno un evento valido (un `[]`
        esplicito viene rifiutato con 400); una destinazione il cui elenco è
        vuoto (campo omesso alla creazione) non riceve nulla. In caso di
        aggiornamento, l'elenco viene sostituito per intero, mai unito.
      minItems: 1
      uniqueItems: true
      items:
        $ref: '#/components/schemas/WebhookEvent'
      example:
        - status.updated
        - data.updated
    WebhookEvent:
      type: string
      description: >-
        Nome dell'evento webhook supportato. Usa queste stringhe esatte in
        `subscribed_events`; i valori non supportati vengono rifiutati.
      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 chiave API della tua applicazione, da Developers -> API keys nella
        Business Console. La chiave primaria ha accesso completo. Una chiave con
        nome può avere un ambito definito: nessuno, lettura o scrittura per
        risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco
        di indirizzi IP e a una data di scadenza. 401 indica che la chiave è
        errata, revocata o scaduta; 403 indica che non è stata inviata alcuna
        chiave, che la chiave non ha accesso a questa risorsa o azione, oppure
        che la richiesta proviene da un indirizzo non incluso nel suo elenco IP;
        404 su una route di sessione indica che la sessione non rientra nei
        workflow o negli stati previsti dalla chiave. Una chiave senza accesso
        ai media riceve gli URL di immagini, video e PDF come null, e una chiave
        senza permessi di scrittura sulle sessioni riceve link e token di
        sessione come null. Consulta https://docs.didit.me/console/api-keys.

````

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