> ## 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에서 애플리케이션이 Travel Rule 거래 상대방 VASP에 보낸 실사 설문지의 상태와 응답을 조회합니다.

VASP 설문지 목록 조회 API 프롬프트
프롬프트를 클립보드에 복사

<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 ko/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/ 행의 id: 디렉터리 항목 또는 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: >-
            이 id를 가진 디렉터리 항목 또는 등록된 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: >-
        애플리케이션이 거래 상대방에게 전송한 실사 설문지 1개입니다. 기록된 컴플라이언스 주소로 일회용 응답 링크와 함께 이메일로
        전송되는 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: 설문지가 ANSWERED 상태이고 valid_until이 지나지 않은 동안 true입니다.
        answers:
          type: object
          additionalProperties:
            type: string
          description: >-
            질문 ID별 답변입니다: 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: >-
        Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본
        키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며
        특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나
        만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된
        IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를
        벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write
        권한이 없는 키는 세션 링크와 token을 null로 수신합니다.
        https://docs.didit.me/console/api-keys 를 참고하십시오.

````

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