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

# Listar destinos de webhook: API de Gestão

> Obtenha todos os destinos de webhook da Didit com a versão, eventos subscritos, métricas de entrega dos últimos 30 dias e estado. Pago por chamada.



Prompt da API para listar destinos de webhook
        Copiar o prompt para a área de transferência



      
      

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



      
      

Colar em

## Estado do destino`health_status` resume a forma como um destino tem respondido às suas entregas.| Valor | Significado |
| - | - |
| `failing` | 3 ou mais eventos consecutivos falharam na primeira tentativa de entrega desde a última vez que o destino respondeu com sucesso. `failing_streak` conta-os e `failing_since` indica quando falhou o primeiro. |
| `degraded` | Não está a falhar, mas uma tentativa de entrega falhou nas últimas 24 horas e nenhuma tentativa posterior entregou esse evento. Uma nova tentativa ou um reenvio que o entregue limpam este estado. |
| `healthy` | Nem uma coisa nem outra. |Uma tentativa falhada é aquela a que o destino respondeu com HTTP 400 ou superior, ou a que não respondeu de todo (tempo limite, ligação recusada ou endereço bloqueado).
As novas tentativas não aumentam `failing_streak`, e qualquer tentativa bem-sucedida, incluindo uma nova tentativa ou um reenvio, termina a sequência.
`health_status` é independente de `enabled`.As métricas de entrega e `daily_points` abrangem os últimos 30 dias (`metrics_window_days`).
`daily_points` tem sempre 30 entradas, uma por dia UTC, da mais antiga para a mais recente.## Relacionados- [Obter destino de webhook](https://docs.didit.me/pt/management-api/webhook/get-destination.md): consulte um destino com o respetivo segredo de assinatura e o resumo de entregas.
- [Guia de webhooks](https://docs.didit.me/pt/integration/webhooks.md): verificação de assinatura, novas tentativas e payloads.


## OpenAPI

````yaml pt/openapi-25.json GET /v3/webhook/destinations/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de Verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/webhook/destinations/:
    get:
      tags:
        - Webhook
      summary: Listar destinos de webhooks
      description: >-
        Listar todos os destinos de webhook (array não paginado, do mais antigo
        para o mais recente). Cada item contém a configuração do destino, as
        suas métricas de entrega nos últimos 30 dias (`metrics_window_days`) com
        uma entrada `daily_points` por dia, e o seu estado (`health_status`,
        `failing_streak`, `failing_since`, `last_success_at`). A lista não tem o
        objeto `summary` e nunca inclui o segredo de assinatura: cada item
        mostra apenas `secret_last4`. Obtenha um destino individual (`GET
        /v3/webhook/destinations/{destination_uuid}/`) para consultar
        `secret_shared_key`.
      operationId: list_webhook_destinations
      responses:
        '200':
          description: >-
            Lista de destinos do webhook (sem paginação, do mais antigo para o
            mais recente).
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uuid:
                      type: string
                      format: uuid
                      description: >-
                        Identificador estável de destino; utilize como
                        `{destination_uuid}` para atualizar/eliminar.
                    label:
                      type: string
                      description: Nome legível apresentado na Console.
                    url:
                      type: string
                      format: uri
                      description: >-
                        URL de destino que recebe pedidos `POST` com o payload
                        do webhook.
                    enabled:
                      type: boolean
                      description: >-
                        Quando for `false`, a Didit ignora silenciosamente a
                        entrega para este destino.
                    webhook_version:
                      type: string
                      enum:
                        - v1
                        - v2
                        - v3
                      description: >-
                        Versão do esquema do payload enviada para este destino.
                        `v3` é o formato atual/recomendado.
                    subscribed_events:
                      $ref: '#/components/schemas/WebhookSubscribedEvents'
                    subscribed_events_count:
                      type: integer
                      description: >-
                        Comprimento em cache de `subscribed_events`, útil para
                        renderização na IU.
                    deliveries_count:
                      type: integer
                      description: >-
                        Tentativas de entrega (incluindo novas tentativas)
                        efetuadas para este destino nos últimos 30 dias.
                    failed_deliveries_count:
                      type: integer
                      description: >-
                        Tentativas de entrega nos últimos 30 dias às quais o
                        destino respondeu com HTTP 400 ou superior, ou não
                        respondeu (tempo limite excedido, ligação recusada ou
                        endereço bloqueado).
                    average_response_time_ms:
                      type: integer
                      nullable: true
                      description: >-
                        Tempo médio de resposta em milissegundos nos últimos 30
                        dias, arredondado a um número inteiro. `null` quando não
                        existiram entregas nessa janela.
                    error_rate_percentage:
                      type: integer
                      description: >-
                        `round(failed_deliveries_count / deliveries_count *
                        100)` nos últimos 30 dias; `0` quando não existem
                        entregas.
                    last_delivery_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Carimbo de data/hora da tentativa de entrega mais
                        recente (sucesso ou falha). `null` se nunca foi
                        entregue.
                    metrics_window_days:
                      type: integer
                      description: >-
                        Duração em dias do intervalo abrangido por
                        `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: >-
                        Estado da entrega. `failing`: 3 ou mais eventos
                        consecutivos falharam a primeira tentativa de entrega
                        desde que o destino respondeu com sucesso pela última
                        vez (consulte `failing_streak`). `degraded`: não está a
                        falhar, mas uma tentativa de entrega falhou nas últimas
                        24 horas e nenhuma tentativa posterior entregou esse
                        evento; uma nova tentativa ou reenvio bem-sucedido limpa
                        este estado. `healthy`: nenhum dos anteriores.
                        Independente de `enabled`. Uma tentativa falhada é
                        aquela respondida com HTTP 400 ou superior, ou que não
                        obteve qualquer resposta.
                    failing_streak:
                      type: integer
                      description: >-
                        Quantos eventos consecutivos falharam a primeira
                        tentativa de entrega desde a última resposta
                        bem-sucedida do destino, nos últimos 30 dias. As novas
                        tentativas não são contabilizadas, e qualquer tentativa
                        bem-sucedida, incluindo uma nova tentativa ou um
                        reenvio, termina a sequência. `0` quando nenhum evento
                        falhou desde o último sucesso.
                    failing_since:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Quando foi feita a primeira tentativa falhada da atual
                        `failing_streak`. `null` quando `failing_streak` é `0`.
                    last_success_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Quando o destino respondeu pela última vez a uma entrega
                        com um estado HTTP inferior a 400, nos últimos 30 dias.
                        `null` se não o tiver feito nesse período.
                    environment:
                      type: string
                      enum:
                        - live
                        - sandbox
                      description: Ambiente da aplicação a que pertence o destino.
                    daily_points:
                      type: array
                      description: >-
                        Uma entrada por dia UTC dos últimos 30 dias, da mais
                        antiga para a mais recente, incluindo dias sem entregas.
                        Conta todas as tentativas, incluindo novas tentativas.
                      items:
                        type: object
                        properties:
                          date:
                            type: string
                            format: date
                            description: O dia UTC.
                          total_deliveries:
                            type: integer
                            description: Tentativas de entrega efetuadas nesse dia.
                          failed_deliveries:
                            type: integer
                            description: >-
                              Tentativas efetuadas nesse dia que receberam como
                              resposta HTTP 400 ou superior, ou não obtiveram
                              resposta.
                    secret_last4:
                      type: string
                      description: >-
                        Últimos quatro carateres do segredo de assinatura atual
                        do destino, para que possa distinguir os segredos. Não
                        são suficientes para verificar uma assinatura.
                    created_by_email:
                      type: string
                      nullable: true
                      description: >-
                        E-mail do membro da Business Console que criou o
                        destino. `null` para um destino criado com uma chave de
                        API.
                    created_by_name:
                      type: string
                      nullable: true
                      description: >-
                        Nome do membro da Business Console que criou o destino.
                        `null` para um destino criado com uma chave de 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: >-
            Chave de API em falta, mal formatada, expirada ou com âmbito
            limitado a uma aplicação diferente. Uma chave em falta devolve
            `403`; uma chave incorreta, revogada ou expirada devolve `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: Limite de pedidos excedido; reduza a frequência e tente novamente.
          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 de eventos para este destino do webhook. O Didit entrega apenas
        webhooks cujo tipo de evento corresponda exatamente a um destes valores
        — não existe subscrição com carateres universais. Ao ser enviada, a
        lista deve conter pelo menos um evento válido (um `[]` explícito é
        rejeitado com 400); um destino cuja lista esteja vazia (campo omitido na
        criação) não recebe nada. Na atualização, a lista é substituída
        integralmente, nunca fundida.
      minItems: 1
      uniqueItems: true
      items:
        $ref: '#/components/schemas/WebhookEvent'
      example:
        - status.updated
        - data.updated
    WebhookEvent:
      type: string
      description: >-
        Nome de evento de webhook suportado. Utilize estas strings exatas em
        `subscribed_events`; valores não suportados são rejeitados.
      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: >-
        A chave de API da sua aplicação, a partir de Programadores -> Chaves de
        API na Business Console. A chave principal tem acesso total. Uma chave
        nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por
        recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de
        endereços IP e a uma data de validade. 401 significa que a chave está
        incorreta, revogada ou expirada; 403 significa que nenhuma chave foi
        enviada, que a chave não tem acesso a este recurso ou ação, ou que o
        pedido veio de um endereço fora da sua lista de IP; 404 numa rota de
        sessão significa que a sessão está fora dos fluxos ou estados da chave.
        Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs
        como nulos, e uma chave sem permissão de escrita em sessões recebe
        ligações de sessão e tokens como nulos. Consulte
        https://docs.didit.me/console/api-keys.

````

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