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

# قائمة إثباتات المحفظة بلقطات الشاشة - مراجعة Travel Rule

> تسرد Didit Management API إثباتات ملكية المحافظ بلقطات الشاشة المنتظرة للمراجعة، الأقدم أولاً، مع الصورة والمحفظة والمعاملة وسجل الإثبات.

موجّه API لسرد إثباتات المحفظة
نسخ الموجّه إلى الحافظة

<pre>
  \`List the screenshot wallet-ownership proofs my end users uploaded from the wallet-ownership widget, so my compliance team can review them.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/wallet-proofs/](https://verification.didit.me/v3/travel-rule/wallet-proofs/)

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

  Query parameters:

  * status - PENDING (default, the proofs still to decide), VERIFIED, REJECTED or EXPIRED.
  * limit, offset - pagination.

  What to read from each result:

  * proof\_id - pass it to POST /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/ to approve or reject.
  * screenshot\_url - time-limited link to the uploaded image; list again for a fresh link.
  * wallet\_address, chain (canonical, e.g. ETH, BTC, SOL, TRX), holder\_name, is\_ownership\_verified.
  * transaction\_id - the transaction the widget session was minted for, null when none.
  * attempts, failure\_reason, method\_chosen\_at, decided\_at, decided\_by, review\_note.

  Behavior:

  * Oldest first, so the proof that has waited longest comes first.
  * Only uploaded screenshots appear. A proof on a wallet I deleted from my address book never appears: Didit closes it as OWNERSHIP\_CHANGED.

  Failure modes:

  * 400 - unknown status.
  * 401 - missing or malformed x-api-key.

  Full guide: /transaction-monitoring/wallet-ownership-widget#what-it-proves.\`
</pre>

الصق في


## OpenAPI

````yaml ar/openapi-25.json GET /v3/travel-rule/wallet-proofs/
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/travel-rule/wallet-proofs/:
    get:
      tags:
        - Travel Rule
      summary: عرض قائمة بإثباتات المحفظة بلقطات الشاشة للمراجعة
      description: >-
        قائمة انتظار المراجعة الخاصة بك لإثباتات ملكية المحفظة عبر لقطات الشاشة.
        لقطة الشاشة هي الإثبات الوحيد الذي لا تستطيع Didit التحقق منه بنفسها:
        بمجرد أن يقوم المستخدم النهائي بتحميلها من أداة الواجهة، تظل في حالة
        PENDING حتى توافق عليها أو ترفضها عبر POST
        /v3/travel-rule/wallet-proofs/{proof_uuid}/decision/. يتم الترتيب من
        الأقدم أولاً، بحيث تتم معالجة قائمة الانتظار بدءاً من الإثبات الذي انتظر
        لأطول فترة. تظهر فقط لقطات الشاشة التي تم تحميلها، ولا يظهر أبداً أي
        إثبات لم يقم المستخدم النهائي بتحميل ملف له بعد، ولا يظهر أي إثبات
        لمحفظة قمت بحذفها من دفتر العناوين لديك (تغلق Didit هذه الإثباتات كـ
        OWNERSHIP_CHANGED).
      operationId: listTravelRuleWalletProofs
      parameters:
        - name: status
          in: query
          description: >-
            أي إثباتات سيتم إدراجها. القيمة الافتراضية هي PENDING، وهي الإثباتات
            التي لا تزال بحاجة إلى اتخاذ قرار.
          schema:
            type: string
            enum:
              - PENDING
              - VERIFIED
              - REJECTED
              - EXPIRED
            default: PENDING
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
      responses:
        '200':
          description: >-
            إثباتات لقطات الشاشة مقسّمة إلى صفحات. يكون العدد دقيقاً حتى 100
            ويُحدد سقفه عند 100 لما يتجاوز ذلك.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    nullable: true
                  previous:
                    type: string
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/TravelRuleWalletProofReview'
        '400':
          description: حالة غير معروفة.
        '401':
          description: x-api-key مفقود أو غير صالح.
        '403':
          description: تفتقر الجهة المستدعية إلى إذن المعاملات.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl
            https://verification.didit.me/v3/travel-rule/wallet-proofs/?status=PENDING
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.travel_rule.wallet_proofs.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            for await (const item of didit.travelRule.walletProofs.list()) {
              console.log(item);
            }
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.travelRule().walletProofs().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->travelRule->walletProofs->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.travel_rule.wallet_proofs.list.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.

            using var client = new DiditClient();


            await foreach (var item in await
            client.TravelRule.WalletProofs.ListAsync())

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TravelRuleWalletProofReview:
      type: object
      properties:
        proof_id:
          type: string
          format: uuid
        method:
          type: string
          enum:
            - SCREENSHOT
        status:
          type: string
          enum:
            - PENDING
            - VERIFIED
            - REJECTED
            - EXPIRED
        wallet_address:
          type: string
        chain:
          type: string
          description: معرّف السلسلة القياسي، على سبيل المثال ETH، BTC، SOL، TRX.
        holder_name:
          type: string
        is_ownership_verified:
          type: boolean
          description: >-
            ما إذا كان إدخال دفتر العناوين قد تم التحقق من ملكيته، بواسطة هذا
            الإثبات أو إثبات آخر.
        transaction_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            المعاملة التي تم إنشاء جلسة الواجهة من أجل تحويل Travel Rule الخاص
            بها. Null لجلسة أُنشئت بدون transaction_id.
        file_name:
          type: string
          nullable: true
        content_type:
          type: string
          nullable: true
        screenshot_url:
          type: string
          nullable: true
          description: >-
            رابط محدد الصلاحية زمنيًا للقطة الشاشة المرفوعة. اطلب قائمة الانتظار
            مجددًا للحصول على رابط جديد.
        attempts:
          type: integer
          description: عدد الملفات التي رفعها المستخدم النهائي لهذا الإثبات.
        failure_reason:
          allOf:
            - $ref: '#/components/schemas/TravelRuleWalletProofFailureReason'
          description: >-
            REVIEW_REJECTED بعد الرفض، وOWNERSHIP_CHANGED عندما يتغير مالك
            المحفظة أو تُحذف قبل اتخاذ القرار. فارغ في الحالات الأخرى.
        method_chosen_at:
          type: string
          format: date-time
          nullable: true
          description: وقت اختيار المستخدم النهائي لطريقة لقطة الشاشة.
        decided_at:
          type: string
          format: date-time
          nullable: true
        decided_by:
          type: string
          description: >-
            من أغلق الإثبات: review:<user identifier> لمراجع لوحة التحكم،
            وreview لقرار بمفتاح API، وwidget أو sweeper عندما تغلقه Didit
            تلقائياً. يكون فارغاً أثناء حالة PENDING.
        review_note:
          type: string
          description: الملاحظة المُرسلة مع القرار. تكون فارغة في حال عدم وجود أي ملاحظة.
        created_at:
          type: string
          format: date-time
    TravelRuleWalletProofFailureReason:
      type: string
      enum:
        - ''
        - SIGNATURE_INVALID
        - SIGNATURE_UNSUPPORTED_SCHEME
        - DEPOSIT_NOT_FOUND
        - DEPOSIT_UNCONFIRMED
        - DEPOSIT_LOOKUP_FAILED
        - DEPOSIT_MISMATCH
        - DEPOSIT_STALE
        - TXID_REUSED
        - CHAIN_UNSUPPORTED
        - WINDOW_EXPIRED
        - OWNERSHIP_CHANGED
        - METHOD_SWITCHED
        - REVIEW_REJECTED
        - ABANDONED
      description: >-
        سبب عدم وصول إثبات ملكية المحفظة، أو المحاولة الأخيرة له، إلى حالة
        VERIFIED. يكون فارغاً عند عدم وجود أي إخفاق. يمكن أن يحمل الإثبات ذو
        الحالة PENDING سبباً: أخفقت المحاولة الأخيرة ويمكن للمستخدم النهائي
        المحاولة مجدداً. تؤدي الحالات DEPOSIT_MISMATCH وDEPOSIT_STALE
        وTXID_REUSED وREVIEW_REJECTED إلى إغلاق الإثبات بحالة REJECTED. الحالة
        SIGNATURE_INVALID: لا يتطابق التوقيع مع المحفظة والتحدي. الحالة
        SIGNATURE_UNSUPPORTED_SCHEME: وقّعت المحفظة بتنسيق لا تتحقق منه Didit.
        الحالات DEPOSIT_NOT_FOUND وDEPOSIT_UNCONFIRMED وDEPOSIT_LOOKUP_FAILED:
        إيداع الاختبار غير قابل للقراءة أو لم يتم تأكيده بعد؛ تواصل Didit فحصه
        حتى تنتهي نافذة الاختبار. الحالة DEPOSIT_MISMATCH: المعاملة لا ترسل
        المبلغ المتوقع من المحفظة إلى عنوان الإيداع. الحالة DEPOSIT_STALE: تاريخ
        المعاملة يسبق التحدي. الحالة TXID_REUSED: أثبتت المعاملة بالفعل ملكية
        محفظة أخرى. الحالة CHAIN_UNSUPPORTED: الطريقة غير متوفرة على هذه
        السلسلة. الحالة WINDOW_EXPIRED: أُغلقت نافذة الاختبار. الحالة
        OWNERSHIP_CHANGED: تغيّر صاحب المحفظة، أو حُذفت المحفظة من دفتر العناوين
        الخاص بك، بعد إنشاء جلسة عنصر واجهة المستخدم. الحالة METHOD_SWITCHED:
        اختار المستخدم النهائي طريقة أخرى قبل إنهاء هذه الطريقة. الحالة
        REVIEW_REJECTED: رفض المراجِع الخاص بك لقطة الشاشة. الحالة ABANDONED:
        انقضت صلاحية جلسة عنصر واجهة المستخدم قبل أن يُنهي المستخدم النهائي
        العملية.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

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