> ## 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-Due-Diligence-Fragebögen per API auflisten

> Listet die Due-Diligence-Fragebögen auf, die Ihre Anwendung an eine Gegenpartei-VASP gesendet hat, inkl. Status und Antworten – per Didit API.

Prompt für die API zum Auflisten von VASP-Fragebögen
Prompt in die Zwischenablage kopieren

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

Einfügen in


## OpenAPI

````yaml de/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 für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/vasps/{vasp_id}/questionnaires/:
    get:
      tags:
        - Travel Rule
      summary: Sorgfaltspflicht-Fragebögen mit einem VASP auflisten
      description: >-
        Jeder Due-Diligence-Fragebogen, den Ihre Anwendung an die Gegenpartei
        gesendet hat, der neueste zuerst, mit seinem Status und, sobald
        beantwortet, den Antworten. Nur für Ihre Anwendung sichtbar.
      operationId: listTravelRuleVaspQuestionnaires
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            Die ID einer Zeile aus der Antwort von GET /v3/travel-rule/vasps/:
            ein Verzeichniseintrag oder ein Mitglied des Didit-Netzwerks.
      responses:
        '200':
          description: Ihre Fragebögen mit dieser Gegenpartei.
          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: >-
            Kein Verzeichniseintrag und kein gelistetes Didit-Netzwerkmitglied
            besitzt diese ID. Ihr eigenes VASP-Profil ist niemals eine
            Gegenpartei von Ihnen.
          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: Neueste zuerst.
    TravelRuleCounterpartyQuestionnaire:
      type: object
      description: >-
        Ein Due-Diligence-Fragebogen, den Ihre Anwendung an die Gegenpartei
        gesendet hat: Didits Standard-Fragebogen, per E-Mail an eine hinterlegte
        Compliance-Adresse mit einem einmaligen Link zur Beantwortung gesendet.
        Nur für Ihre Anwendung sichtbar.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - SENT
            - ANSWERED
            - EXPIRED
          description: >-
            SENT: Warten auf Antworten. ANSWERED: Die Gegenpartei hat jede Frage
            beantwortet. EXPIRED: Der Antwortlink wurde unbeantwortet
            geschlossen (die Frist ist abgelaufen oder ein neuerer Fragebogen
            hat ihn ersetzt), oder die Antworten haben valid_until
            überschritten.
        form_version:
          type: string
          description: >-
            Version des Standardfragebogens von Didit, zu dem die Antworten
            gehören. Derzeit 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: >-
            Die Frist für die Beantwortung, 30 Tage nach dem Versenden. Danach
            funktioniert der Link nicht mehr.
        answered_at:
          type: string
          format: date-time
          nullable: true
        valid_until:
          type: string
          format: date-time
          nullable: true
          description: >-
            Wie lange die Antworten aktuell bleiben: 365 Tage nach Beantwortung.
            Null bis zur Beantwortung.
        current:
          type: boolean
          description: >-
            true, solange der Fragebogen ANSWERED ist und valid_until noch nicht
            überschritten wurde.
        answers:
          type: object
          additionalProperties:
            type: string
          description: >-
            Die Antworten, geschlüsselt nach Fragen-ID: legal_name, licensing,
            jurisdictions, aml_program, compliance_officer, sanctions_screening,
            transaction_monitoring, travel_rule, custody, ownership,
            record_keeping, data_protection. Jede Antwort umfasst bis zu 2.000
            Zeichen. Leer, bis sie beantwortet wurden.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

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