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

# Получение адреса назначения webhook: Management API

> Получите адрес назначения webhook в Didit: секрет подписи, события, состояние и сводка доставки за 30 дней через Management API. Оплата за вызов.



Промпт для API: получение адреса назначения webhook
        Скопировать промпт в буфер обмена



      
      

\<pre>

\`Fetch a single Didit webhook destination through the Management API.

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

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

Goal:
\- Retrieve the full configuration and delivery summary of one destination — useful for back-office detail screens or to confirm a config change.

Path parameter:
\- destination_uuid — the destination UUID returned by POST /v3/webhook/destinations/ or GET /v3/webhook/destinations/.

What to read from the response:
\- url, label, enabled, webhook_version — basic config.
\- subscribed_events — current event subscription list.
\- secret_shared_key: the HMAC signing secret, always returned in full to your API key.
\- secret_last4: the last four characters of the current secret.
\- previous_secret_expires_at: set for 24 hours after the secret is rotated in the Business Console. Until then every delivery also carries X-Signature-Previous, X-Signature-V2-Previous and X-Signature-Simple-Previous, made with the replaced secret. null otherwise.
\- health_status: "failing" (3 or more consecutive events failed their first delivery attempt since the last success), "degraded" (an attempt failed in the last 24 hours and no later attempt has delivered that event) or "healthy". failing_streak, failing_since and last_success_at give the details.
\- summary: { total_deliveries, failed_deliveries, error_rate_percentage, min/avg/max_response_time_ms, last_delivery_at, metrics_window_days } for the last 30 days (metrics_window_days is always 30; last_delivery_at is the most recent attempt).
\- created_by_email, created_by_name: the Business Console member who created the destination; null for a destination created with an API key.
\- environment: "live" or "sandbox", from the application.

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

Failure modes:
\- 401 — missing or malformed x-api-key.
\- 403: canonical { "detail": "You do not have permission to perform this action." } envelope.
\- 404 — destination not found in this application (also returned for deleted destinations).

Side effects: none. This is a pure read.

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

\</pre>



      
      

Вставьте в

Ответ содержит те же поля состояния, что и [список](https://docs.didit.me/ru/management-api/webhook/list-destinations.md#состояние-адреса-назначения), а также `summary` за последние 30 дней.## Связанные материалы- [Список адресов назначения webhook](https://docs.didit.me/ru/management-api/webhook/list-destinations.md): все адреса назначения с их состоянием и ежедневным количеством доставок.
- [Руководство по webhook](https://docs.didit.me/ru/integration/webhooks.md#проверка-подписи): как проверять подписи, в том числе во время ротации секрета.


## OpenAPI

````yaml ru/openapi-25.json GET /v3/webhook/destinations/{destination_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: >-
    API верификации личности. Аутентификация выполняется с помощью заголовка
    x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/webhook/destinations/{destination_uuid}/:
    get:
      tags:
        - Webhook
      summary: Получить адрес назначения webhook
      description: >-
        Получить один адрес назначения webhook с его секретом подписи
        `secret_shared_key`, состоянием (`health_status`, `failing_streak`,
        `failing_since`, `last_success_at`) и сводкой доставок `summary` за
        последние 30 дней. Вызывающие стороны с API-ключом всегда получают
        секрет полностью; пользователи консоли без разрешения `read:webhooks`
        видят пустую строку.
      operationId: get_webhook_destination
      parameters:
        - name: destination_uuid
          in: path
          required: true
          description: >-
            UUID адреса назначения webhook (`uuid`, возвращённый при создании
            или получении списка).
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      responses:
        '200':
          description: Сведения об адресе назначения webhook.
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                  label:
                    type: string
                  url:
                    type: string
                    format: uri
                  enabled:
                    type: boolean
                  webhook_version:
                    type: string
                    enum:
                      - v1
                      - v2
                      - v3
                  secret_shared_key:
                    type: string
                    description: >-
                      Секрет подписи HMAC (43-символьный URL-безопасный token).
                      Всегда возвращается полностью при вызовах с API-ключом;
                      пользователям Консоли требуется `read:webhooks`, иначе
                      возвращается пустая строка.
                  secret_last4:
                    type: string
                    description: >-
                      Последние четыре символа текущего секрета подписи адреса
                      назначения, позволяющие различать секреты. Недостаточно
                      для проверки подписи.
                  previous_secret_expires_at:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Устанавливается на 24 часа после ротации секрета подписи
                      адреса назначения в Business Console. До истечения этого
                      времени каждая доставка на адрес назначения также содержит
                      `X-Signature-Previous`, `X-Signature-V2-Previous` и
                      `X-Signature-Simple-Previous`, созданные с заменённым
                      секретом (см. [Проверка
                      подписи](/ru/integration/webhooks#проверка-подписи)).
                      `null`, если за последние 24 часа ротация не проводилась.
                  subscribed_events:
                    $ref: '#/components/schemas/WebhookSubscribedEvents'
                  created_by_email:
                    type: string
                    nullable: true
                    description: >-
                      Электронная почта участника Business Console, создавшего
                      адрес назначения. `null` для адреса назначения, созданного
                      с помощью API-ключа.
                  created_by_name:
                    type: string
                    nullable: true
                    description: >-
                      Имя участника Business Console, создавшего адрес
                      назначения. `null` для адреса назначения, созданного с
                      помощью API-ключа.
                  created_at:
                    type: string
                    format: date-time
                  updated_at:
                    type: string
                    format: date-time
                  health_status:
                    type: string
                    enum:
                      - healthy
                      - degraded
                      - failing
                    description: >-
                      Состояние доставки. `failing`: 3 или более
                      последовательных событий завершились неудачей при первой
                      попытке доставки с момента последнего успешного ответа
                      адреса назначения (см. `failing_streak`). `degraded`: не
                      failing, но за последние 24 часа произошла неудачная
                      попытка доставки, и ни одна последующая попытка пока не
                      доставила это событие; повторная попытка или повторная
                      отправка, которая доставит его, сбрасывает этот статус.
                      `healthy`: ни то, ни другое. Не зависит от `enabled`.
                      Неудачной считается попытка, получившая ответ HTTP 400 или
                      выше, либо оставшаяся вовсе без ответа.
                  failing_streak:
                    type: integer
                    description: >-
                      Количество последовательных событий, первая попытка
                      доставки которых завершилась неудачно с момента последнего
                      успешного ответа адреса назначения за последние 30 дней.
                      Повторные попытки не учитываются, и любая успешная
                      попытка, включая повторную попытку или повторную отправку,
                      прерывает серию. Значение равно `0`, если с момента
                      последнего успеха не было ни одного сбоя.
                  failing_since:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Когда была совершена первая неудачная попытка из текущей
                      серии ошибок `failing_streak`. `null`, если
                      `failing_streak` равен `0`.
                  last_success_at:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Когда адрес назначения в последний раз ответил на доставку
                      с HTTP-статусом ниже 400 за последние 30 дней. `null`,
                      если ответов в этот период не было.
                  environment:
                    type: string
                    enum:
                      - live
                      - sandbox
                    description: Среда приложения, которому принадлежит адрес назначения.
                  summary:
                    type: object
                    description: >-
                      Метрики доставки за последние `metrics_window_days` (30)
                      дней. `last_delivery_at` представляет собой самую
                      последнюю попытку, когда бы она ни выполнялась.
                    properties:
                      total_deliveries:
                        type: integer
                      failed_deliveries:
                        type: integer
                      error_rate_percentage:
                        type: integer
                      min_response_time_ms:
                        type: integer
                        nullable: true
                      avg_response_time_ms:
                        type: integer
                        nullable: true
                      max_response_time_ms:
                        type: integer
                        nullable: true
                      last_delivery_at:
                        type: string
                        format: date-time
                        nullable: true
                      metrics_window_days:
                        type: integer
                        description: >-
                          Длина окна в днях, охватываемого остальными сводными
                          метриками. Всегда `30`.
              examples:
                Healthy destination:
                  value:
                    uuid: 11111111-2222-3333-4444-555555555555
                    label: Production session webhooks
                    url: https://yourapp.com/webhooks/didit
                    enabled: true
                    webhook_version: v3
                    secret_shared_key: tno2NTeRC1ZK3sBOYlBJDyEzBVENl3pQ1AcZyAW0xnQ
                    secret_last4: 0xnQ
                    previous_secret_expires_at: null
                    subscribed_events:
                      - status.updated
                      - data.updated
                    created_by_email: null
                    created_by_name: null
                    created_at: '2026-01-04T08:00:00Z'
                    updated_at: '2026-04-22T14:09:11Z'
                    health_status: healthy
                    failing_streak: 0
                    failing_since: null
                    last_success_at: '2026-05-17T09:21:18Z'
                    environment: live
                    summary:
                      total_deliveries: 12453
                      failed_deliveries: 14
                      error_rate_percentage: 0
                      min_response_time_ms: 41
                      avg_response_time_ms: 187
                      max_response_time_ms: 2103
                      last_delivery_at: '2026-05-17T09:21:18Z'
                      metrics_window_days: 30
        '403':
          description: >-
            API-ключ отсутствует, сформирован некорректно, истёк или относится к
            другому приложению. При отсутствии ключа возвращается `403`; при
            неверном, отозванном или истёкшем ключе возвращается `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            Адреса назначения с таким UUID не существует, он принадлежит другому
            приложению или был удален.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Webhook destination not found.
        '429':
          description: >-
            Лимит запросов превышен; снизьте частоту запросов и повторите
            попытку.
          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/11111111-2222-3333-4444-555555555555/'
            \
              -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.retrieve(
                "11111111-2222-3333-4444-555555555555",
            )
            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.retrieve("11111111-2222-3333-4444-555555555555");

            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.Retrieve(ctx, \"11111111-2222-3333-4444-555555555555\")\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().retrieve("11111111-2222-3333-4444-555555555555");

            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->retrieve('11111111-2222-3333-4444-555555555555');

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.webhooks.destinations.retrieve("11111111-2222-3333-4444-555555555555")

            puts result.to_h
        - 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.RetrieveAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    WebhookSubscribedEvents:
      type: array
      description: >-
        Фильтр событий для этого адреса назначения webhook. Didit доставляет
        только те webhook, чей тип события точно совпадает с одним из этих
        значений — подписка по маске отсутствует. При отправке список должен
        содержать как минимум одно допустимое событие (явный пустой массив `[]`
        отклоняется с кодом 400); адрес назначения с пустым списком (поле
        пропущено при создании) ничего не получает. При обновлении список
        заменяется целиком, а не объединяется.
      minItems: 1
      uniqueItems: true
      items:
        $ref: '#/components/schemas/WebhookEvent'
      example:
        - status.updated
        - data.updated
    WebhookEvent:
      type: string
      description: >-
        Поддерживаемое имя события webhook. Используйте именно эти строки в
        `subscribed_events`; неподдерживаемые значения отклоняются.
      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: >-
        API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в
        Business Console. Основной ключ имеет полный доступ. Именованный ключ
        может иметь ограниченную область действия: без доступа, чтение или
        запись для каждого ресурса, ограничение определенными сценариями или
        одобренными сессиями, списком IP-адресов и сроком действия. 401
        означает, что ключ неверен, отозван или его срок действия истек; 403
        означает, что ключ не был передан, у ключа нет доступа к этому ресурсу
        или действию, либо запрос поступил с адреса вне его списка IP-адресов;
        404 на маршруте сессии означает, что сессия не входит в сценарии или
        статусы ключа. Ключ без доступа к медиа получает URL изображений, видео
        и PDF как null, а ключ без прав на запись сессий получает ссылки на
        сессии и токены как null. См. https://docs.didit.me/console/api-keys.

````

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