> ## 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送信先の失敗アクティビティAPI

> Didit のWebhook送信先の失敗アラートを、発生日時と失敗回数とともに一覧取得します。読み取り権限と limit/offset によるページネーションを使用します。

Diditの送信先アクティビティAPIは、記録された失敗アラートを新しいものから順に返します。各エントリには`id`、`type`（`failure_alert`）、`occurred_at`、`failure_count`が含まれます。

`limit`と`offset`を使ってページネーションを行い、`next`がnullになるまで続けてください。`count`は上限付きの値、または概算値になる場合があります。存在しない送信先を指定すると`404`が返されます。

これらのアラートは[配信試行](https://docs.didit.me/ja/management-api/webhook/list-deliveries.md)とは別のものです。[Webhookの失敗アクティビティ](https://docs.didit.me/ja/integration/webhooks.md#再試行ポリシー)と[送信先の分析](https://docs.didit.me/ja/management-api/webhook/destination-analytics.md)も併せてご覧ください。


## OpenAPI

````yaml ja/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/webhook/destinations/{destination_uuid}/activity/
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/organization/{organization_id}/application/{application_id}/webhook/destinations/{destination_uuid}/activity/:
    get:
      tags:
        - Webhook
      summary: Webhook送信先のアクティビティの一覧
      description: >-
        1つの送信先について記録された失敗アラートを、新しいものから順に一覧表示します。read:webhooks権限が必要です。アプリケーションまたはAPIキーの認証情報は、パス内のアプリケーションに属している必要があります。メンバーのBearerトークンは、そのアプリケーションへのアクセス権が必要です。これらは失敗アラートイベントであり、個々の配信試行や送信Webhookイベントの種類ではありません。詳しくは
        [Webhooks](https://docs.didit.me/ja/integration/webhooks#再試行ポリシー)
        を参照してください。
      operationId: list_activity_webhooks_destinations
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: 組織ID。
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: アプリケーションID。
        - name: destination_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Webhookの送信先のUUID。
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
          description: 1ページあたりの最大結果数。
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
          description: スキップする結果の数。
      responses:
        '200':
          description: Webhook送信先のアクティビティを一覧表示します。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDestinationActivityList'
        '401':
          description: 認証情報がない、無効である、または期限切れです。
        '403':
          description: 呼び出し元にはこのアプリケーションへのアクセス権がないか、必要な権限がありません。
        '404':
          description: Webhookの送信先が見つかりません。
        '429':
          $ref: '#/components/responses/RateLimitedRead'
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            client = Didit()

            for item in client.webhooks.destinations.list_activity(
                "11111111-2222-3333-4444-555555555555",
            ):
                print(item)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            const didit = new Didit();


            for await (const item of
            didit.webhooks.destinations.listActivity("11111111-2222-3333-4444-555555555555"))
            {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID\n// and DIDIT_APPLICATION_ID.\nclient := didit.NewClient()\n\niter := client.Webhooks.Destinations.ListActivityAutoPaging(ctx, \"11111111-2222-3333-4444-555555555555\", didit.WebhooksDestinationsListActivityParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            for (var item :
            client.webhooks().destinations().listActivity("11111111-2222-3333-4444-555555555555"))
            {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            $didit = new DiditClient();


            foreach
            ($didit->webhooks->destinations->listActivity('11111111-2222-3333-4444-555555555555')
            as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            # and DIDIT_APPLICATION_ID.

            didit = Didit::Client.new


            didit.webhooks.destinations.list_activity("11111111-2222-3333-4444-555555555555").auto_paging_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, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            using var client = new DiditClient();


            await foreach (var item in await
            client.Webhooks.Destinations.ListActivityAsync("11111111-2222-3333-4444-555555555555"))

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    WebhookDestinationActivityList:
      type: object
      required:
        - count
        - next
        - previous
        - results
      properties:
        count:
          type: integer
          description: 結果の件数。通常は100件が上限で、概算値の場合もあります。ページネーションの停止判定には件数ではなくnextを使用してください。
        next:
          type: string
          description: 次のページのURL、またはnull。
          nullable: true
        previous:
          type: string
          description: 前のページのURLです。ない場合はnullです。
          nullable: true
        results:
          type: array
          items:
            $ref: '#/components/schemas/WebhookDestinationActivity'
      example:
        count: 1
        next: null
        previous: null
        results:
          - id: 00000000-0000-4000-8000-000000000003
            type: failure_alert
            occurred_at: '2026-11-11T01:00:00Z'
            failure_count: 3
    WebhookDestinationActivity:
      type: object
      required:
        - id
        - type
        - occurred_at
        - failure_count
      properties:
        id:
          type: string
          description: 失敗アラートの識別子。
          format: uuid
        type:
          type: string
          description: アクティビティタイプ。
          enum:
            - failure_alert
        occurred_at:
          type: string
          description: 失敗アラートの発生時刻。
          format: date-time
        failure_count:
          type: integer
          description: このアラートに記録された失敗件数。
          minimum: 0
    RateLimitBudgetError:
      type: object
      description: >-
        レート制限ミドルウェアの予算超過による拒否の場合にのみ返されます。その他の429エラー（冪等性の競合やエンドポイント固有の上限を含む）では、これらのメタデータフィールドは保証されません。
      required:
        - detail
        - reference
        - limit
        - remaining
        - reset
        - window_seconds
      properties:
        detail:
          type: string
          description: 既存の、人が読める形式のバジェット拒否メッセージです。
        reference:
          type: string
          pattern: ^RL-[0-9a-f]{32}$
          description: RL-で始まり、その後に小文字の16進数文字32文字（UUID形式）が続く不透明なサポート参照番号。
        limit:
          type: integer
          description: 超過した範囲のバジェット。X-RateLimit-Limit と同じ値です。
        remaining:
          type: integer
          minimum: 0
          description: 残りの予算。ゼロ未満にならないよう下限をゼロに制限しています。X-RateLimit-Remaining と等しくなります。
        reset:
          type: integer
          format: int64
          description: ウィンドウのリセット時刻（Unix秒）。X-RateLimit-Resetと同じ値です。
        window_seconds:
          type: integer
          description: 固定ウィンドウの期間（秒）です。残りの待機時間ではありません。再試行する前に Retry-Afterに従ってください。
      example:
        detail: >-
          Write request rate limit exceeded. You can make up to 300 requests per
          minute.
        reference: RL-00000000000040008000000000000001
        limit: 300
        remaining: 0
        reset: 1794358860
        window_seconds: 60
  responses:
    RateLimitedRead:
      description: ミドルウェアの読み取り上限を超えました。再試行する前に Retry-After に従ってください。
      headers:
        Retry-After:
          $ref: '#/components/headers/BudgetRetryAfter'
        X-RateLimit-Scope:
          $ref: '#/components/headers/BudgetXRateLimitScope'
        X-RateLimit-Limit:
          $ref: '#/components/headers/BudgetXRateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/BudgetXRateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/BudgetXRateLimitReset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitBudgetError'
          example:
            detail: >-
              GET request rate limit exceeded. You can make up to 600 requests
              per minute.
            reference: RL-00000000000040008000000000000001
            limit: 600
            remaining: 0
            reset: 1794358860
            window_seconds: 60
  headers:
    BudgetRetryAfter:
      description: 次のウィンドウまでの待機秒数（切り上げ）。ミドルウェアの予算超過による拒否の場合にのみ含まれます。
      schema:
        type: integer
    BudgetXRateLimitScope:
      description: 予算を超過した範囲。ミドルウェアによる拒否の場合にのみ含まれます。
      schema:
        type: string
    BudgetXRateLimitLimit:
      description: 超過した範囲のバジェット。ボディの制限値と同じ値です。ミドルウェアのバジェットによる拒否の場合にのみ含まれます。
      schema:
        type: integer
    BudgetXRateLimitRemaining:
      description: >-
        残りの予算。ゼロ未満にならないよう下限をゼロに制限しています。ボディの remaining
        と等しくなります。ミドルウェアの予算による拒否の場合に存在します。
      schema:
        type: integer
    BudgetXRateLimitReset:
      description: リセット時刻はUnix秒です。本文のresetと同じ値です。ミドルウェアの予算超過による拒否レスポンスに含まれます。
      schema:
        type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API
        keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権（なし、読み取り、書き込み）、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください:
        https://docs.didit.me/console/api-keys
    BearerAuth:
      type: http
      scheme: bearer
      description: アプリケーションのクライアントクレデンシャルのアクセストークン。

````

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