> ## 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 전송 목록을 조회하세요. 상태, rail, 거래 상대방 VASP 이름, 지갑, 메모를 확인하고 방향, 상태, rail, 거래 상대방별로 필터링할 수 있습니다.



Travel Rule 전송 목록 조회 API 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`List my application's Travel Rule transfers.

Endpoint:
GET https://verification.didit.me/v3/travel-rule/transfers/

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

Query parameters (all optional; direction, status, rail and kind are case-sensitive and take comma-separated values to select several, while currency, start_date, end_date and counterparty take one value each):
\- direction - INBOUND, OUTBOUND (case-sensitive).
\- status - any transfer status, for example AWAITING_COUNTERPARTY or COUNTERPARTY_VASP_NOT_FOUND.
\- rail - INTERNAL, TRP, GTR, TRUST, VERIFYVASP, SYGNA, EMAIL, TEST_VASP.
\- kind - withdrawal (outbound), message (an inbound transfer a rail created from a counterparty's message: a TRP inquiry, the INTERNAL inbound leg, or a GTR, VerifyVASP or Sygna Bridge message), deposit (any other inbound transfer).
\- currency - the transaction's currency, case-insensitive.
\- start_date, end_date - YYYY-MM-DD, inclusive, on the transfer's creation day in UTC.
\- counterparty - the id of a directory entry or Didit network member from GET /v3/travel-rule/vasps/.
\- limit (default 50), offset.

What to read from each row:
\- id (the transfer), transaction_id, txn_id, txn_date, kind, direction, status, rail, asset, amount, deadline_at, created_at.
\- reason - why a COUNTERPARTY_VASP_NOT_FOUND or COUNTERPARTY_VASP_NOT_REACHABLE transfer is stuck, for example email_undeliverable or directory_match_no_route; empty for any other status.
\- originator_vasp, beneficiary_vasp - VASP names: my own legal name on my side; on the other side the directory entry, the Didit network member, the TRP sender, the Didit Test VASP in sandbox, or the name the transfer declared. Empty when none is known.
\- originator_wallet, beneficiary_wallet, originator_memo, beneficiary_memo, originator_wallet_type, beneficiary_wallet_type (vasp | self_hosted | own).
\- matched_transaction_id - the other side of a deposit matched by hand.
Rows never carry person data. For a transfer's full detail, read the transaction with GET /v3/transactions/{transaction_id}/.

Failure modes:
\- 400 - a filter value is not valid, for example {"direction": ["Unknown value(s): inbound."]}, {"start_date": ["Use the YYYY-MM-DD format."]} or {"counterparty": ["Use a valid id."]}.

Full guide: /transaction-monitoring/travel-rule.`

\</pre>



      
      

붙여넣을 곳



## OpenAPI

````yaml ko/openapi-25.json GET /v3/travel-rule/transfers/
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/transfers/:
    get:
      tags:
        - Travel Rule
      summary: Travel Rule 전송 목록 조회
      description: >-
        귀하 애플리케이션의 Travel Rule 전송 내역으로, 최신순으로 정렬되며 `limit`(기본값 50) 및 `offset`으로
        페이지네이션됩니다. 행에는 VASP 이름, 지갑, 메모만 포함되며 개인 데이터는 절대 포함되지 않습니다. 쉼표로 구분된 값을 통해
        여러 항목을 선택할 수 있습니다. 알 수 없는 값이 전달되면 파라미터 이름을 명시하여 400으로 응답합니다(예:
        `{"direction": ["Unknown value(s): inbound."]}`).
      operationId: listTravelRuleTransfers
      parameters:
        - name: direction
          in: query
          required: false
          schema:
            type: string
          description: INBOUND, OUTBOUND 또는 쉼표로 구분한 두 값입니다. 대소문자를 구분합니다.
        - name: status
          in: query
          required: false
          schema:
            type: string
          description: 하나 이상의 전송 상태(쉼표로 구분)입니다.
        - name: rail
          in: query
          required: false
          schema:
            type: string
          description: >-
            INTERNAL, TRP, GTR, TRUST, VERIFYVASP, SYGNA, EMAIL, TEST_VASP 중 하나
            이상(쉼표로 구분)입니다.
        - name: kind
          in: query
          required: false
          schema:
            type: string
          description: 쉼표로 구분된 withdrawal, deposit 또는 message입니다.
        - name: currency
          in: query
          required: false
          schema:
            type: string
          description: 거래의 통화(대소문자 구분 없음)입니다.
        - name: start_date
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 이 날짜(UTC) 당일 또는 이후에 생성된 이체입니다(YYYY-MM-DD).
        - name: end_date
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 이 날짜(UTC) 당일 또는 이전에 생성된 이체입니다(YYYY-MM-DD).
        - name: counterparty
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: >-
            GET /v3/travel-rule/vasps/의 디렉터리 항목 또는 Didit 네트워크 멤버의 `id`입니다. 해당 거래
            상대방과의 전송에 사용됩니다. 유효한 id가 아닌 값은 400을 반환합니다.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
          description: 페이지 크기, 기본값 50입니다.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
          description: 건너뛸 행.
      responses:
        '200':
          description: 이체 페이지입니다.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    nullable: true
                  previous:
                    type: string
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/TravelRuleTransferRow'
              example:
                count: 1
                next: null
                previous: null
                results:
                  - id: 5b0f6c2e-2a4d-4f0e-9a41-0c3f9a7e1d22
                    transaction_id: a3c1e8f4-7b62-4d1a-8e0b-2f9d6c4b7a10
                    txn_id: wd-2026-10-19-0042
                    txn_date: '2026-10-19T08:41:12Z'
                    kind: withdrawal
                    direction: OUTBOUND
                    status: AWAITING_COUNTERPARTY
                    rail: TRP
                    asset: ETH
                    amount: '1.25'
                    originator_vasp: Origin CASP SL
                    beneficiary_vasp: Example Counterparty VASP
                    originator_wallet: '0x77ccff0cc624a53cd8b8d8703ced826710211ec7'
                    beneficiary_wallet: '0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb'
                    originator_memo: ''
                    beneficiary_memo: ''
                    originator_wallet_type: vasp
                    beneficiary_wallet_type: vasp
                    matched_transaction_id: null
                    deadline_at: '2026-10-21T08:41:13Z'
                    created_at: '2026-10-19T08:41:13Z'
        '400':
          description: 필터 값이 유효하지 않습니다.
          content:
            application/json:
              example:
                start_date:
                  - Use the YYYY-MM-DD format.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/travel-rule/transfers/?direction=OUTBOUND&status=AWAITING_COUNTERPARTY'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.travel_rule.transfers.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            for await (const item of didit.travelRule.transfers.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.TravelRule.Transfers.ListAutoPaging(ctx, didit.TravelRuleTransfersListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

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

            for (var item : client.travelRule().transfers().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->travelRule->transfers->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.travel_rule.transfers.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            await foreach (var item in await
            client.TravelRule.Transfers.ListAsync())

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TravelRuleTransferRow:
      type: object
      description: >-
        전송 목록에 표시되는 Travel Rule 전송 건 1개입니다. VASP 이름, 지갑 및 메모만 포함되며 송금인 또는 수취인 개인
        데이터는 절대 포함되지 않습니다.
      properties:
        id:
          type: string
          format: uuid
          description: 전송의 id입니다.
        transaction_id:
          type: string
          format: uuid
          description: 이체가 속한 Didit 거래입니다.
        txn_id:
          type: string
          nullable: true
          description: >-
            거래에 대한 귀하 고유의 ID입니다. Didit Test VASP 인바운드 전송과 같이 Didit이 대신 기록하는 전송에는
            생성된 ID가 포함됩니다.
        txn_date:
          type: string
          format: date-time
        kind:
          type: string
          enum:
            - withdrawal
            - deposit
            - message
          description: >-
            withdrawal: 아웃바운드. message: 거래 상대방의 메시지(TRP 문의, INTERNAL 인바운드 구간, 또는
            GTR, VerifyVASP 또는 Sygna Bridge 메시지)로부터 레일이 생성한 인바운드 이체. deposit: 기타
            모든 인바운드 이체.
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
        status:
          type: string
          enum:
            - AWAITING_COUNTERPARTY
            - ON_HOLD
            - COMPLETED
            - FINISHED
            - CANCELLED
            - EXPIRED
            - COUNTERPARTY_MISMATCHED_DATA
            - COUNTERPARTY_VASP_NOT_FOUND
            - COUNTERPARTY_VASP_NOT_REACHABLE
            - UNCONFIRMED_OWNERSHIP
            - COUNTERPARTY_VASP_GENERAL_DECLINE
            - NOT_ENOUGH_COUNTERPARTY_DATA
            - NOT_APPLICABLE
        reason:
          type: string
          description: >-
            `COUNTERPARTY_VASP_NOT_FOUND` 또는 `COUNTERPARTY_VASP_NOT_REACHABLE`
            전송이 지연된 이유로, 전송 자체의 `reason`과 동일한 값이므로 각 전송을 열어보지 않고도 목록에서 반송된
            컴플라이언스 이메일인지 경로가 없는 거래 상대방인지 확인할 수 있습니다. 다른 모든 상태의 경우 `""`입니다. [전송이
            지연되는 이유](/ko/transaction-monitoring/travel-rule#전송이-멈춘-이유)를 참조하십시오.
        rail:
          type: string
          nullable: true
          enum:
            - INTERNAL
            - TRP
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
            - EMAIL
            - TEST_VASP
            - null
        asset:
          type: string
          description: 거래의 통화입니다.
        amount:
          type: string
          description: '일반 소수점 형식의 금액입니다(예: "1.25").'
        originator_vasp:
          type: string
          description: >-
            아웃바운드: 귀하 VASP의 법인명. 인바운드: 디렉터리 항목, Didit 네트워크 멤버, TRP 발송인, Didit
            Test VASP 또는 전송에 명시된 이름에서 가져온 거래 상대방의 이름. 알려진 이름이 없는 경우 비어 있습니다.
        beneficiary_vasp:
          type: string
          description: '아웃바운드: 동일한 방식으로 확인된 거래 상대방 이름. 인바운드: 귀하 VASP의 법인명.'
        originator_wallet:
          type: string
        beneficiary_wallet:
          type: string
        originator_memo:
          type: string
          description: 메모 또는 목적지 태그이며, 없는 체인에서는 비어 있습니다.
        beneficiary_memo:
          type: string
        originator_wallet_type:
          type: string
          enum:
            - vasp
            - self_hosted
            - own
          description: >-
            vasp, self_hosted(비호스팅으로 신고됨) 또는 own(귀하의 주소록에 귀하의 것으로 기록된 지갑). 귀하 측은
            항상 vasp입니다.
        beneficiary_wallet_type:
          type: string
          enum:
            - vasp
            - self_hosted
            - own
        matched_transaction_id:
          type: string
          format: uuid
          nullable: true
          description: 사전 통지된 이체에 수동으로 매칭한 입금의 상대방 측입니다.
        deadline_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            이체가 거래 상대방을 계속 대기 중인 경우 만료되는 시점입니다. 발신 또는 수신 여부와 관계없이 정보 교환이 필요한,
            `POST /v3/transactions/`로 생성하는 모든 이체에 설정됩니다. 임계값 미만인 경우, Travel
            Rule이 적용되지 않는 Lightning 결제인 경우, 그리고 거래 상대방이 도달할 때 Didit이 생성하는 수신
            이체(수신 TRP 문의, 네트워크 메시지 또는 INTERNAL 수신 레그)의 경우 null입니다.
        created_at:
          type: string
          format: date-time
  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.