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

# قائمة استبيانات العناية الواجبة لـ VASP API

> اعرض في Didit الاستبيانات المتعلقة بالعناية الواجبة التي أرسلها تطبيقك إلى VASP طرف مقابل في Travel Rule، مع حالة كل استبيان وإجاباته.

موجّه API لعرض استبيانات VASP
نسخ الموجّه إلى الحافظة

<pre>
  \`List the due-diligence questionnaires my application sent a Travel Rule counterparty VASP.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/vasps/\{vasp\_id}/questionnaires/](https://verification.didit.me/v3/travel-rule/vasps/\{vasp_id}/questionnaires/)

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

  vasp\_id is the id GET /v3/travel-rule/vasps/ returns for a directory entry or a Didit network member.

  What to read from the response:

  * questionnaires\[] - newest first, each {id, status, form_version, sent_to, sent_at, expires_at, answered_at, valid_until, current, answers}.
  * status - SENT (waiting for answers), ANSWERED, or EXPIRED (the link closed unanswered, a newer questionnaire replaced it, or the answers passed valid\_until).
  * expires\_at - the answer-by deadline, 30 days after sending.
  * valid\_until - the answers stay current for 365 days after answering. current is true while the questionnaire is ANSWERED and valid\_until has not passed.
  * form\_version - the version of Didit's standard questionnaire the answers belong to (currently 1).
  * answers - keyed by question id: legal\_name, licensing, jurisdictions, aml\_program, compliance\_officer, sanctions\_screening, transaction\_monitoring, travel\_rule, custody, ownership, record\_keeping, data\_protection. Empty until answered.

  The questionnaires and their answers are private to my application.

  Failure modes:

  * 404 - no directory entry or listed Didit network member has this id, or the id is my own VASP profile.

  Full guide: /transaction-monitoring/travel-rule#due-diligence-questionnaire.\`
</pre>

الصق في


## OpenAPI

````yaml ar/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/questionnaires/
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/vasps/{vasp_id}/questionnaires/:
    get:
      tags:
        - Travel Rule
      summary: سرد استبيانات العناية الواجبة مع VASP
      description: >-
        كل استبيان عناية واجبة أرسله تطبيقك إلى الطرف المقابل، الأحدث أولاً، مع
        حالته وإجاباته بمجرد الرد عليه. خاص بتطبيقك.
      operationId: listTravelRuleVaspQuestionnaires
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            معرّف صف في GET /v3/travel-rule/vasps/: مدخل في الدليل أو عضو في
            شبكة Didit.
      responses:
        '200':
          description: استبياناتك مع هذا الطرف المقابل.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleCounterpartyQuestionnaireList'
              example:
                questionnaires:
                  - id: 3f9e8d7c-6b5a-4c3d-9e2f-1a0b9c8d7e6f
                    status: SENT
                    form_version: '1'
                    sent_to: travelrule@counterparty.example
                    sent_at: '2026-10-14T10:00:00Z'
                    expires_at: '2026-11-13T10:00:00Z'
                    answered_at: null
                    valid_until: null
                    current: false
                    answers: {}
                  - id: 8b7a6c5d-4e3f-4a2b-9c1d-0e9f8a7b6c5d
                    status: ANSWERED
                    form_version: '1'
                    sent_to: travelrule@counterparty.example
                    sent_at: '2026-09-02T08:00:00Z'
                    expires_at: '2026-10-02T08:00:00Z'
                    answered_at: '2026-09-04T15:20:00Z'
                    valid_until: '2027-09-04T15:20:00Z'
                    current: true
                    answers:
                      legal_name: >-
                        Example Counterparty VASP, incorporated in the example
                        jurisdiction.
                      licensing: >-
                        Crypto-asset service provider authorised under MiCA by
                        its national regulator, licence active.
                      jurisdictions: EU and EEA. We do not serve the United States.
                      aml_program: >-
                        Written AML/CFT policy, annual independent review, last
                        completed in March 2026.
                      compliance_officer: >-
                        Head of Compliance, reachable at
                        compliance@counterparty.example.
                      sanctions_screening: >-
                        Customers at onboarding and daily; counterparties on
                        every transfer.
                      transaction_monitoring: >-
                        Rule-based monitoring with analyst review; suspicious
                        activity reports filed with the FIU.
                      travel_rule: >-
                        TRP and email; we answer requests within one business
                        day.
                      custody: >-
                        Segregated customer wallets held with a qualified
                        custodian, insured.
                      ownership: >-
                        No shareholder holds 25 percent or more; parent company
                        Example Holding Group.
                      record_keeping: >-
                        Five-year record-keeping for Travel Rule and transaction
                        data, as our regulator requires.
                      data_protection: Encrypted at rest and in transit, stored in the EU.
        '404':
          description: >-
            لا يوجد إدخال في الدليل أو عضو مدرج في شبكة Didit بهذا المعرّف. ملف
            VASP التعريفي الخاص بك لا يكون أبداً طرفاً مقابلاً لك.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No directory entry or Didit network member has this id.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            https://verification.didit.me/v3/travel-rule/vasps/{vasp_id}/questionnaires/
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.list_vasp_questionnaires(
                "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.travelRule.listVaspQuestionnaires("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.TravelRule.ListVASPQuestionnaires(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.travelRule().listVaspQuestionnaires("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->travelRule->listVaspQuestionnaires('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.travel_rule.list_vasp_questionnaires("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.TravelRule.ListVaspQuestionnairesAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleCounterpartyQuestionnaireList:
      type: object
      properties:
        questionnaires:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleCounterpartyQuestionnaire'
          description: الأحدث أولاً.
    TravelRuleCounterpartyQuestionnaire:
      type: object
      description: >-
        استبيان العناية الواجبة واحد أرسله تطبيقك إلى الطرف المقابل: استبيان
        Didit القياسي، المُرسل عبر البريد الإلكتروني إلى عنوان الامتثال المسجل
        مع رابط إجابة للاستخدام مرة واحدة. خاص بتطبيقك.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - SENT
            - ANSWERED
            - EXPIRED
          description: >-
            SENT: في انتظار الإجابات. ANSWERED: أجاب الطرف المقابل على كل سؤال.
            EXPIRED: أُغلق رابط الإجابة دون إجابة (انقضى موعده النهائي، أو حل
            محله استبيان أحدث)، أو تجاوزت الإجابات تاريخ valid_until.
        form_version:
          type: string
          description: إصدار استبيان Didit القياسي الذي تنتمي إليه الإجابات. حالياً 1.
        sent_to:
          type: string
          format: email
        sent_at:
          type: string
          format: date-time
          nullable: true
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            الموعد النهائي للإجابة، 30 يوماً بعد الإرسال. يتوقف الرابط عن العمل
            بعده.
        answered_at:
          type: string
          format: date-time
          nullable: true
        valid_until:
          type: string
          format: date-time
          nullable: true
          description: >-
            المدة التي تظل فيها الإجابات سارية: 365 يوماً بعد الإجابة. تكون null
            حتى تتم الإجابة.
        current:
          type: boolean
          description: true طالما أن الاستبيان بحالة ANSWERED ولم يمر تاريخ valid_until.
        answers:
          type: object
          additionalProperties:
            type: string
          description: >-
            الإجابات مفهرسة بواسطة معرّف السؤال: legal_name، وlicensing،
            وjurisdictions، وaml_program، وcompliance_officer،
            وsanctions_screening، وtransaction_monitoring، وtravel_rule،
            وcustody، وownership، وrecord_keeping، وdata_protection. كل إجابة
            تصل إلى 2,000 حرف. تكون فارغة حتى يتم الرد.
  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.