> ## 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 네트워크 조회 API

> Didit에서 각 Travel Rule 네트워크의 실제 상태(내 멤버십, Didit 멤버십, 아직 전송할 수 없는 이유)를 조회합니다.

Travel Rule 네트워크 조회 API 프롬프트
프롬프트를 클립보드에 복사

<pre>
  \`Read, for my application, the real state of every Travel Rule network, the due-diligence questionnaire and my participants.

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

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

  What to read from the response:

  * platform\_networks\_enabled - whether network access through Didit's membership is open. While false, questionnaire saves, submissions and network requests answer 403.
  * networks - keyed by gtr/trust/verifyvasp/sygna: {rail, mode, state, reason, platform_available, connected, participant, vasps_reachable, routed_30d}.
  * state: own\_membership | live\_through\_didit | off | didit\_onboarding | questionnaire\_needed | questionnaire\_in\_review | request\_access | request\_sent | unavailable | error.
  * reason: the machine-readable detail, for example didit\_membership\_not\_live, own\_membership\_only (TRUST) or provisioning\_failed.
  * participant: my own participant on that network (status, participant\_code, last\_error), or null.
  * questionnaire - status (draft | submitted | changes\_requested | approved | rejected), answers and Didit's review\_note.
  * participants - every participant I have, with its status history.

  Reading creates nothing. Full guide: /transaction-monitoring/travel-rule.\`
</pre>

붙여넣을 곳

## 네트워크 상태

네트워크는 귀하의 애플리케이션을 위해 다음 두 가지 방식 중 하나로 전송합니다.

* **자체 멤버십** (`state: own_membership`): **Marketplace**에서 연결한 멤버십입니다. 항상 우선 적용됩니다.
* **Didit 멤버십** (`state: live_through_didit`): Didit이 GTR 또는 Sygna에서 귀하의 애플리케이션을 Didit의 자체 참여자로 운영하며, 네트워크가 귀하에게 발급한 참여자 코드를 사용합니다. 메시지에는 Didit 자체 코드가 포함되지 않으며, 네트워크가 귀하의 참여자 코드로 보낸 내용은 귀하의 애플리케이션에 전달됩니다.

Didit 멤버십으로 네트워크에 연결하려면 세 단계가 필요합니다. [네트워크 설문지](https://docs.didit.me/ko/management-api/travel-rule/submit-network-questionnaire.md)를 제출하고, Didit의 승인을 받은 다음, [네트워크를 요청](https://docs.didit.me/ko/management-api/travel-rule/request-network.md)합니다. TRUST와 VerifyVASP는 자체 멤버십을 통해서만 연결할 수 있습니다. TRUST는 VASP별로 멤버를 승인하고, VerifyVASP Enclave는 하나의 VASP ID만 지원하므로 직접 운영해야 합니다.

Didit의 해당 네트워크 자체 멤버십이 활성 상태가 아니면 `state`는 `didit_onboarding`이 되며, 이 상태에서는 Didit을 통해 아무것도 전송할 수 없습니다. `state`는 구성 상태이며, 실시간 상태나 전송 여부를 확인하는 값이 아닙니다.


## OpenAPI

````yaml ko/openapi-25.json GET /v3/travel-rule/networks/
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/networks/:
    get:
      tags:
        - Travel Rule
      summary: Travel Rule 네트워크 조회
      description: >-
        이 애플리케이션에 대해 모든 네트워크의 실제 상태를 조회합니다. 자체 멤버십을 통해 전송하는지, Didit의 멤버십을 통해
        전송하는지, 아직 전송할 수 없다면 그 이유는 무엇인지 확인합니다. 실사 설문지와 참가자 목록도 함께 반환됩니다. 조회 시
        아무것도 생성되지 않습니다.
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: 네트워크 상태, 설문지 및 참가자입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworksOverview'
              examples:
                Before the questionnaire:
                  value:
                    platform_networks_enabled: false
                    questionnaire:
                      status: draft
                      answers: {}
                      submitted_at: null
                      reviewed_at: null
                      review_note: ''
                      history: []
                      updated_at: null
                    participants: []
                    networks:
                      gtr:
                        rail: GTR
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      trust:
                        rail: TRUST
                        mode: unavailable
                        state: unavailable
                        reason: own_membership_only
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      verifyvasp:
                        rail: VERIFYVASP
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      sygna:
                        rail: SYGNA
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
        '401':
          description: API 키가 누락되었거나 유효하지 않습니다.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X GET https://verification.didit.me/v3/travel-rule/networks/ \
              -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.networks.retrieve()
            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.networks.retrieve();
            console.log(result);
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

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

            var result = client.travelRule().networks().retrieve();
            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->networks->retrieve();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.travel_rule.networks.retrieve
            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.Networks.RetrieveAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleNetworksOverview:
      type: object
      properties:
        platform_networks_enabled:
          type: boolean
          description: >-
            Didit 멤버십을 통한 네트워크 접근이 열려 있는지 여부입니다. false인 동안 설문지 저장, 제출 및 네트워크 요청에
            403 응답이 반환됩니다.
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            네트워크별로 이 애플리케이션이 전송하는 방식과 전송할 수 없는 이유를 나타냅니다. GTR을 포함한 어떤 네트워크도 기본으로
            포함되지 않습니다. 네트워크는 연결된 자체 멤버십을 통해 도달하거나, 해당 네트워크에 대한 Didit의 멤버십이 활성화되고
            자체 참가자가 활성 상태가 되면 Didit 멤버십을 통해 도달할 수 있습니다. 실시간 상태 또는 전송 확인 검사가
            아닙니다.
          properties:
            gtr:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            trust:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            verifyvasp:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            sygna:
              $ref: '#/components/schemas/TravelRuleNetworkState'
    TravelRuleNetworkQuestionnaire:
      type: object
      properties:
        status:
          type: string
          enum:
            - draft
            - submitted
            - changes_requested
            - approved
            - rejected
          description: >-
            답변은 draft 또는 changes_requested 상태일 때 저장할 수 있습니다. submitted,
            approved, rejected는 Didit이 변경하는 상태입니다.
        answers:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaireAnswers'
        submitted_at:
          type: string
          format: date-time
          nullable: true
        reviewed_at:
          type: string
          format: date-time
          nullable: true
        review_note:
          type: string
          description: 변경할 사항 등 Didit의 최근 결정에 대한 메모입니다.
        history:
          type: array
          readOnly: true
          description: 모든 상태 변경 내역(오래된 순)입니다.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: 검토 메모 또는 네트워크 응답(있는 경우).
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: 하나의 네트워크에 속한 이 애플리케이션 자체의 참여자입니다.
      properties:
        network:
          type: string
          enum:
            - gtr
            - trust
            - verifyvasp
            - sygna
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - platform
            - own
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: 요청된 적이 없거나 네트워크가 첫 번째 요청을 거부함(last_error 참조);
            questionnaire_pending: 고객 실사 설문지 승인 대기 중; submitted_to_network: 네트워크
            온보딩으로 전달됨; active: 네트워크가 이 애플리케이션에 고유 참여자 코드를 부여함; suspended /
            rejected: Didit이 일시 중단하거나 거부함.
        participant_code:
          type: string
        requested_at:
          type: string
          format: date-time
          nullable: true
        submitted_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        suspended_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: 등록을 거부했을 때 네트워크의 응답이며, 그렇지 않은 경우 비어 있습니다.
        history:
          type: array
          readOnly: true
          description: 모든 상태 변경 내역(오래된 순)입니다.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: 검토 메모 또는 네트워크 응답(있는 경우).
    TravelRuleNetworkState:
      type: object
      description: >-
        이 애플리케이션에 대해 특정 네트워크의 Travel Rule 메시지가 전송되는 방식 및 전송할 수 없는 이유입니다. 실시간 상태
        또는 전송 확인이 아닌 구성 상태입니다.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: 애플리케이션의 연결된 멤버십이 사용됨; didit: Didit의 멤버십이 애플리케이션을 자체 활성 참여자로
            지원함; off: 자체 멤버십이 없는 상태에서 disabled_networks를 통해 플랫폼 라우팅이 비활성화됨;
            unavailable: 아직 이 네트워크에서 전송할 수 있는 것이 없음(state 및 reason 참조).
        state:
          type: string
          enum:
            - own_membership
            - live_through_didit
            - 'off'
            - didit_onboarding
            - questionnaire_needed
            - questionnaire_in_review
            - request_access
            - request_sent
            - unavailable
            - error
          description: >-
            own_membership: 연결된 자체 멤버십으로 전송; live_through_didit: Didit 멤버십 내 고유
            참여자로 전송; off: 플랫폼 라우팅을 비활성화함; didit_onboarding: 이 네트워크에 대한 Didit의 자체
            멤버십이 아직 활성화되지 않아 다른 참여자를 지원할 수 없음; questionnaire_needed /
            questionnaire_in_review: 고객 실사 설문지를 제출해야 하거나 Didit에서 검토 중임;
            request_access: 설문지가 승인되었으며 네트워크에 요청 가능; request_sent: 참여자 온보딩 진행 중;
            unavailable: reason 참조; error: reason 참조.
        reason:
          type: string
          enum:
            - own_membership_connected
            - platform_network_switched_off
            - own_membership_only
            - sandbox_application
            - didit_membership_not_live
            - participant_suspended
            - participant_rejected
            - questionnaire_not_submitted
            - questionnaire_submitted
            - questionnaire_changes_requested
            - questionnaire_rejected
            - participant_not_requested
            - participant_active
            - participant_key_missing
            - participant_key_unresolved
            - provisioning_failed
            - questionnaire_pending
            - submitted_to_network
          description: >-
            상태의 기계 판독 가능한 세부 정보. own_membership_only: Didit은 이 네트워크(TRUST)에서
            애플리케이션을 지원하지 않으므로 자체 멤버십을 연결해야 함; sandbox_application: 샌드박스 전송은
            네트워크에 도달하지 않음; provisioning_failed: 네트워크에서 등록을 거부함, 참가자의 last_error에
            원인이 명시되어 있으며 네트워크를 다시 요청하면 재시도됨.
        platform_available:
          type: boolean
          description: 이 네트워크에 대한 Didit 자체 멤버십이 구성되어 있는지 여부입니다. 실시간 상태 확인은 아닙니다.
        connected:
          type: boolean
          description: 연결된 고객 멤버십이 존재하는지 여부입니다. 자격 증명은 로컬에서 검증되며, 네트워크 검증은 실시간 교환 중에 수행됩니다.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: 이 네트워크에서 접근 가능한 디렉터리 VASP입니다.
        routed_30d:
          type: integer
          description: 지난 30일 동안 이 네트워크에서 진행된 이 애플리케이션의 전송 건수입니다.
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Didit의 네트워크 실사 설문지입니다. 저장은 부분적으로 수행됩니다. 즉, 저장 시 명시되지 않은 모든 답변이 유지됩니다.
        제출하려면 lei 및 data_protection_contact_email을 제외한 모든 필드가 필요하며 세 가지 증명 필드가
        모두 true여야 합니다.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: ISO 3166-1 alpha-2 국가 코드입니다.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: 선택 사항입니다. 제공되는 경우 유효한 ISO 17442 LEI입니다.
        licences:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - regulator
              - jurisdiction
              - licence_type
              - licence_number
            properties:
              regulator:
                type: string
                maxLength: 255
              jurisdiction:
                type: string
                minLength: 2
                maxLength: 2
                description: ISO 3166-1 alpha-2 국가 코드입니다.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: VASP가 보유한 모든 라이선스 또는 등록 내역입니다.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: ISO 3166-1 alpha-2 국가 코드입니다.
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: 제출하려면 true여야 합니다.
        sanctions_screening_attested:
          type: boolean
          description: 제출하려면 true여야 합니다.
        data_protection_attested:
          type: boolean
          description: 제출하려면 true여야 합니다.
        data_protection_contact_email:
          type: string
          format: email
          description: 선택 사항입니다.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: USD 기준 예상 월간 거래량(소수점 이하 최대 2자리)입니다. 문자열로 반환됩니다.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: 대문자로 저장되고 정렬 및 중복 제거된 자산 티커입니다.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: 네트워크에 속한 이 애플리케이션 자체의 참여자이며, 없는 경우 null입니다.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: 'platform: Didit의 멤버십을 통해 지원됨; own: 애플리케이션의 자체 멤버십으로 온보딩됨.'
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: 요청된 적이 없거나 네트워크가 첫 번째 요청을 거부함(last_error 참조);
            questionnaire_pending: 고객 실사 설문지 승인 대기 중; submitted_to_network: 네트워크
            온보딩으로 전달됨; active: 네트워크가 이 애플리케이션에 고유 참여자 코드를 부여함; suspended /
            rejected: Didit이 일시 중단하거나 거부함.
        participant_code:
          type: string
          description: >-
            네트워크가 이 애플리케이션에 부여한 코드입니다(GTR의 경우 VASP 코드). 아웃바운드 메시지에는 Didit의 자체
            코드가 아닌 이 코드가 포함됩니다.
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: 등록을 거부했을 때 네트워크의 응답이며, 그렇지 않은 경우 비어 있습니다.
  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.