> ## 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 pela API

> Liste todos os destinos de webhook da Didit com versão, eventos assinados, métricas de entrega de 30 dias e status de saúde. Pague 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

## Status do destino`health_status` resume 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` contabiliza esses eventos e `failing_since` indica quando o primeiro deles falhou. |
| `degraded` | Não está falhando, 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 remove esse status. |
| `healthy` | Nenhuma das situações acima. |Uma tentativa com falha é aquela à qual o destino respondeu com HTTP 400 ou superior, ou não respondeu (tempo esgotado, conexã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, encerra 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` sempre tem 30 entradas, uma por dia UTC, da mais antiga para a mais recente.## Relacionados- [Obter destino de webhook](https://docs.didit.me/pt-br/management-api/webhook/get-destination.md): leia um destino com seu segredo de assinatura e o resumo de entregas.
- [Guia de webhooks](https://docs.didit.me/pt-br/integration/webhooks.md): verificação de assinatura, novas tentativas e payloads.


## OpenAPI

````yaml pt-br/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 webhook
      description: >-
        Lista todos os destinos do webhook (array sem paginação, do mais antigo
        para o mais recente). Cada item traz a configuração do destino, suas
        métricas de entrega dos últimos 30 dias (`metrics_window_days`), com uma
        entrada `daily_points` por dia, e sua saúde (`health_status`,
        `failing_streak`, `failing_since`, `last_success_at`). A lista não tem
        objeto `summary` e nunca inclui o segredo de assinatura: cada item
        mostra apenas `secret_last4`. Busque um único destino (`GET
        /v3/webhook/destinations/{destination_uuid}/`) para ler
        `secret_shared_key`.
      operationId: list_webhook_destinations
      responses:
        '200':
          description: >-
            Lista de destinos de webhook (sem paginação, os mais antigos
            primeiro).
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uuid:
                      type: string
                      format: uuid
                      description: >-
                        Identificador estável do destino; use como
                        `{destination_uuid}` para atualizar ou excluir.
                    label:
                      type: string
                      description: Nome legível exibido no Console.
                    url:
                      type: string
                      format: uri
                      description: >-
                        URL de destino que recebe requisições `POST` com o
                        payload do webhook.
                    enabled:
                      type: boolean
                      description: >-
                        Quando `false`, a Didit ignora silenciosamente a entrega
                        para este destino.
                    webhook_version:
                      type: string
                      enum:
                        - v1
                        - v2
                        - v3
                      description: >-
                        Versão do esquema de payload enviada a este destino.
                        `v3` é o formato atual/recomendado.
                    subscribed_events:
                      $ref: '#/components/schemas/WebhookSubscribedEvents'
                    subscribed_events_count:
                      type: integer
                      description: >-
                        Tamanho de `subscribed_events` armazenado em cache, útil
                        para renderizar a interface.
                    deliveries_count:
                      type: integer
                      description: >-
                        Tentativas de entrega (incluindo novas tentativas)
                        feitas 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 esgotado, conexã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 para um número inteiro. `null` quando
                        não houve entregas nesse período.
                    error_rate_percentage:
                      type: integer
                      description: >-
                        `round(failed_deliveries_count / deliveries_count *
                        100)` nos últimos 30 dias; `0` quando não há entregas.
                    last_delivery_at:
                      type: string
                      format: date-time
                      nullable: true
                      description: >-
                        Data e hora da tentativa de entrega mais recente (com
                        sucesso ou falha). `null` se nunca foi entregue.
                    metrics_window_days:
                      type: integer
                      description: >-
                        Duração, em dias, da janela coberta 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: >-
                        Saúde das entregas. `failing`: 3 ou mais eventos
                        consecutivos falharam na primeira tentativa de entrega
                        desde a última vez que o destino respondeu com sucesso
                        (consulte `failing_streak`). `degraded`: não está em
                        falha, 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
                        remove esse estado. `healthy`: nenhum dos dois.
                        Independe de `enabled`. Uma tentativa com falha é aquela
                        respondida com HTTP 400 ou superior, ou que não recebeu
                        resposta.
                    failing_streak:
                      type: integer
                      description: >-
                        Quantos eventos consecutivos falharam na primeira
                        tentativa de entrega desde a última resposta
                        bem-sucedida do destino, nos últimos 30 dias. Novas
                        tentativas não são contadas, e qualquer tentativa
                        bem-sucedida, incluindo uma nova tentativa ou um
                        reenvio, encerra 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 com falha do
                        `failing_streak` atual. `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 status HTTP abaixo de 400, nos últimos 30 dias.
                        `null` se isso não ocorreu nesse período.
                    environment:
                      type: string
                      enum:
                        - live
                        - sandbox
                      description: Ambiente da aplicação proprietária do 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 as novas
                        tentativas.
                      items:
                        type: object
                        properties:
                          date:
                            type: string
                            format: date
                            description: O dia em UTC.
                          total_deliveries:
                            type: integer
                            description: Tentativas de entrega feitas naquele dia.
                          failed_deliveries:
                            type: integer
                            description: >-
                              Tentativas feitas naquele dia que foram
                              respondidas com HTTP 400 ou superior, ou que não
                              foram respondidas.
                    secret_last4:
                      type: string
                      description: >-
                        Últimos quatro caracteres do segredo de assinatura atual
                        do destino, para que você possa distinguir os segredos.
                        Não é suficiente para verificar uma assinatura.
                    created_by_email:
                      type: string
                      nullable: true
                      description: >-
                        E-mail do membro do 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 do 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 ausente, malformada, expirada ou vinculada a outra
            aplicação. Uma chave ausente retorna `403`; uma chave incorreta,
            revogada ou expirada retorna `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: Limite de requisições excedido; aguarde 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 deste destino do webhook. A Didit entrega apenas
        webhooks cujo tipo de evento corresponde exatamente a um destes valores;
        não existe assinatura curinga. Quando enviada, a lista deve conter pelo
        menos um evento válido (um `[]` explícito é rejeitado com 400); um
        destino cuja lista está vazia (campo omitido na criação) não recebe
        nada. Na atualização, a lista é substituída por inteiro, nunca mesclada.
      minItems: 1
      uniqueItems: true
      items:
        $ref: '#/components/schemas/WebhookEvent'
      example:
        - status.updated
        - data.updated
    WebhookEvent:
      type: string
      description: >-
        Nome de evento de webhook compatível. Use exatamente estas strings em
        `subscribed_events`; valores não compatíveis 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: >-
        Chave de API da sua aplicação, em Developers -> API keys no Business
        Console. A chave principal tem acesso total. Uma chave nomeada pode ter
        escopo restrito: nenhum acesso, 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á errada, 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 a requisição veio de um
        endereço fora da sua lista de IPs; 404 em uma rota de sessão significa
        que a sessão está fora dos fluxos ou status da chave. Uma chave sem
        acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave
        sem permissão de escrita em sessões recebe links e tokens de sessão como
        null. Consulte https://docs.didit.me/console/api-keys.

````

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