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

# API per llistar qüestionaris de diligència deguda de VASP

> Llista els qüestionaris de diligència deguda que la teva aplicació ha enviat a una VASP contrapart de la Travel Rule, amb el seu estat i les respostes. Didit.

Indicació de l'API per llistar qüestionaris de VASP
Copia el prompt al porta-retalls

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

Enganxa a


## OpenAPI

````yaml ca/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 de verificació d'identitat. Autentica't amb la capçalera x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/vasps/{vasp_id}/questionnaires/:
    get:
      tags:
        - Travel Rule
      summary: Llista els qüestionaris de diligència deguda amb un VASP
      description: >-
        Tots els qüestionaris de diligència deguda que la teva aplicació ha
        enviat a la contrapart, del més recent al més antic, amb el seu estat i,
        un cop contestats, les respostes. Privats per a la teva aplicació.
      operationId: listTravelRuleVaspQuestionnaires
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            L'id d'una fila de GET /v3/travel-rule/vasps/: una entrada de
            directori o un membre de la xarxa Didit.
      responses:
        '200':
          description: Els teus qüestionaris amb aquesta contrapart.
          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: >-
            Cap entrada del directori ni membre llistat de la xarxa Didit té
            aquest id. El teu propi perfil de VASP mai és la teva contrapart.
          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: Els més recents primer.
    TravelRuleCounterpartyQuestionnaire:
      type: object
      description: >-
        Un qüestionari de diligència deguda que la teva aplicació ha enviat a la
        contrapart: el qüestionari estàndard de Didit, enviat per correu
        electrònic a una adreça de compliment registrada amb un enllaç de
        resposta d'un sol ús. Privat per a la teva aplicació.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - SENT
            - ANSWERED
            - EXPIRED
          description: >-
            SENT: esperant respostes. ANSWERED: la contrapart ha respost a totes
            les preguntes. EXPIRED: l'enllaç de resposta s'ha tancat sense
            respondre (ha vençut el termini o l'ha substituït un qüestionari més
            recent), o les respostes han superat valid_until.
        form_version:
          type: string
          description: >-
            Versió del qüestionari estàndard de Didit al qual pertanyen les
            respostes. Actualment 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: >-
            La data límit per respondre, 30 dies després de l'enviament.
            L'enllaç deixa de funcionar a partir d'aquesta data.
        answered_at:
          type: string
          format: date-time
          nullable: true
        valid_until:
          type: string
          format: date-time
          nullable: true
          description: >-
            Quant de temps es mantenen vigents les respostes: 365 dies després
            de respondre. Null fins que es respon.
        current:
          type: boolean
          description: >-
            true mentre el qüestionari estigui en estat ANSWERED i no hagi
            superat valid_until.
        answers:
          type: object
          additionalProperties:
            type: string
          description: >-
            Les respostes indexades per id de pregunta: legal_name, licensing,
            jurisdictions, aml_program, compliance_officer, sanctions_screening,
            transaction_monitoring, travel_rule, custody, ownership,
            record_keeping, data_protection. Cada resposta té fins a 2.000
            caràcters. Buit fins que es respongui.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clau d'API de la teva aplicació, des de Developers -> API keys a la
        Business Console. La clau primària té accés complet. Una clau amb nom
        pot tenir l'abast limitat: cap, lectura o escriptura per recurs,
        limitada a determinats fluxos de treball o a sessions aprovades, a una
        llista d'adreces IP i a una data de caducitat. 401 significa que la clau
        és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap
        clau, que la clau no té accés a aquest recurs o acció, o que la
        sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una
        ruta de sessió significa que la sessió està fora dels fluxos de treball
        o estats de la clau. Una clau sense accés a fitxers multimèdia rep els
        URL d'imatge, vídeo i PDF com a null, i una clau sense permís
        d'escriptura de sessions rep els enllaços de sessió i els tokens com a
        null. Consulta https://docs.didit.me/console/api-keys.

````

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