> ## 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：KYT取引モニタリング

> Didit APIでモニタリング中の取引一覧を取得し、リスクスコア、重要度、取引相手、タグ、スクリーニング状況を確認できます。KYTは呼び出しごとの従量課金で、契約は不要です。



取引一覧取得APIのプロンプト
        プロンプトをクリップボードにコピー



      
      

\<pre>

\`List monitored transactions for my Didit application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/transactions/

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

Goal:
\- Retrieve a paginated list of high-level transaction summaries (score, severity, status, parties, tags, decision metadata) — suitable for back-office review screens, fraud dashboards, and audit exports.

Query parameters:
\- limit - page size (default 50, min 1).
\- offset — zero-based offset (default 0). Prefer following the next URL from the previous page.

Ordering & pagination:
\- Ordered by txn_date descending (most recent first), with created_at as a tie-breaker.
\- count is a bounded counter (exact up to 100, capped above). Use total_transactions when present for the true count.
\- Transactions deleted via the Console are not returned.

Filtering:
\- Besides limit / offset, this endpoint accepts travel_rule_status, an exact Travel Rule status (for example ON_HOLD), and then returns only transactions whose Travel Rule transfer is in that status.
count follows this filter, but total_transactions always counts every transaction in the application.
\- It also accepts assignee, a comma-separated list where any value matches: me (the calling reviewer, with a user token), unassigned, rules (decided by the rules alone, no reviewer involved), or a member email.
\- For other filtering (party, status, severity, date range), use the Console UI.

Example call:
curl -X GET "https://verification.didit.me/v3/transactions/?limit=50" \
-H "x-api-key: YOUR_API_KEY"

What to read from each row:
\- uuid — stable Didit transaction id; use as {transaction_id} in GET /v3/transactions/{transaction_id}/.
\- transaction_number — application-scoped sequential number shown in Console.
\- txn_id — the identifier you supplied at create time (max 128 chars, unique per application).
\- status, score, severity, decision_reason_code, decision_reason_label — live monitoring verdict.
\- direction, amount, currency — raw submission. amount is a decimal string.
\- subject_name / subject_vendor_data / subject_country — denormalized APPLICANT party fields.
\- counterparty_name / counterparty_vendor_data / counterparty_country — denormalized COUNTERPARTY fields (may be null).
\- tags — Console tags (uuid, name, color).
\- assigned_to_name — Console reviewer who owns the transaction.
\- travel_rule_status - the status of the transaction's Travel Rule transfer (for example COMPLETED), or null when it has none.
\- travel_rule - the same Travel Rule block as GET /v3/transactions/{transaction_id}/ (status, direction, rail, counterparty_vasp, delivery, discovery, reason, next_actions and the rest), or null when the transaction has none.
Read reason and next_actions to see why each COUNTERPARTY_VASP_NOT_FOUND or COUNTERPARTY_VASP_NOT_REACHABLE transfer is stuck without one read per transaction.

Failure modes:
\- 403 - missing x-api-key (a wrong, revoked or expired key gets 401), or a key without permission for this action; the body is a { "detail": "..." } envelope.
\- 429 — rate limited; back off and retry.

Side effects: none. This is a pure read.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

貼り付け先



## OpenAPI

````yaml ja/openapi-25.json GET /v3/transactions/
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/transactions/:
    get:
      tags:
        - Transactions
      summary: 取引を一覧表示
      description: >-
        ページネーションされた監視対象取引の一覧（新しい順、`txn_date`の降順）。`count`の上限は100です。実際の行数には`total_transactions`を使用してください。このエンドポイントはフィルターや検索パラメーターをサポートしていません。
      operationId: listTransactions
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          description: ページサイズ。省略時は50です。強制される上限はありませんが、レイテンシーを抑えるためにページは小さく保ってください。
        - name: offset
          in: query
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          description: 返す最初のレコードの0始まりのオフセットです。前のページの`next`URLをたどる方法を推奨します。
        - name: travel_rule_status
          in: query
          required: false
          schema:
            type: string
          description: >-
            トラベルルールの送金がこのステータスと完全に一致する取引のみを返します（例:
            `ON_HOLD`や`AWAITING_COUNTERPARTY`）。`count`はこのフィルターに従いますが、`total_transactions`は引き続きアプリケーション内のすべての取引を数えます。
        - name: assignee
          in: query
          required: false
          schema:
            type: string
          description: >-
            カンマ区切りで指定し、いずれかの値に該当する取引が一致します。`unassigned`はまだ誰も担当していない取引、`rules`はレビュアーを介さずルールのみで判定された取引を表し、メンバーのメールアドレスはその取引に割り当てられたレビュアーに一致します。`me`はConsoleにサインインしているレビュアーを指すため、APIキーで`me`を送信すると`400`が返されます。
      responses:
        '200':
          description: ページネーションされた取引サマリーの一覧（新しい順）。
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: >-
                      条件に一致する取引の件数（上限あり。100件までは正確な値で、それを超えると上限値で打ち切られます）。ページネーション時に実際の件数を知るには`total_transactions`を使用してください。
                  next:
                    type: string
                    nullable: true
                    description: 次のページの絶対URL。最後のページでは`null`になります。
                  previous:
                    type: string
                    nullable: true
                    description: 前のページの絶対URL。最初のページでは`null`になります。
                  total_transactions:
                    type: integer
                    description: アプリケーションの（削除されていない）取引の正確な総数です。ページネーションされたレスポンスに含まれます。
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          format: uuid
                          description: >-
                            不変のDidit取引識別子。詳細・メモ・関連の呼び出しで`{transaction_id}`として使用します。
                        transaction_number:
                          type: integer
                          description: 'Consoleに表示される、アプリケーション単位の取引の連番（例: `4123`）。'
                        txn_id:
                          type: string
                          description: 作成時の呼び出しで顧客が指定した識別子（最大128文字）。アプリケーションごとに一意です。
                        transaction_type:
                          type: string
                          description: >-
                            保存されている最上位カテゴリー:
                            `finance`、`kyc`、`travelRule`、`userPlatformEvent`、`gamblingBet`、`gamblingLimitChange`、`gamblingBonusChange`、`auditTrailEvent`。複数語の値は、snake_caseで送信した場合でもcamelCaseで返される点に注意してください。
                        action_type:
                          type: string
                          description: 'カテゴリ内のサブタイプ（例: `deposit`、`withdrawal`、`transfer`）。'
                        status:
                          type: string
                          enum:
                            - APPROVED
                            - IN_REVIEW
                            - DECLINED
                            - AWAITING_USER
                          description: 現在のモニタリング判定。
                        direction:
                          type: string
                          enum:
                            - INBOUND
                            - OUTBOUND
                          description: 対象者から見た方向です。送信時の大文字・小文字にかかわらず大文字で保存されます。
                        amount:
                          type: string
                          description: >-
                            末尾のゼロを除去した10進数文字列で表した取引金額（例:
                            `"1500"`、`"0.5"`、`"0.123456789012345678"`）。小数点以下最大18桁です。
                        currency:
                          type: string
                          description: >-
                            `amount`の通貨コード。ISO 4217の任意のアルファベットコード（例:
                            `EUR`、`USD`、`NGN`）と暗号資産シンボル（例:
                            `BTC`）を受け付けます。現在流通しているコードを推奨します。受け付けられるすべてのコードに為替レートがあるわけではありません。コードに為替レートがない場合（たとえばISOの会計単位`XSU`や、Diditが価格を付けていない暗号資産シンボル）、自動換算は失敗し、リクエストで換算済みの`amount_in_default_currency`を指定していない限り`preferred_currency_amount`はnullで返されます。
                        preferred_currency_amount:
                          type: string
                          nullable: true
                          description: 利用可能な場合に、アプリケーションの優先通貨に換算した`amount`です。
                        preferred_currency_code:
                          type: string
                          nullable: true
                          description: >-
                            `preferred_currency_amount`に使用する優先通貨コード。アプリケーションの基準通貨で、現在流通している任意のISO
                            4217コードを指定できます。利用可能な為替レートがないコードの場合、リクエストで換算済みの`amount_in_default_currency`が指定されていない限り、`preferred_currency_amount`はnullになります。
                        payment_details:
                          type: string
                          nullable: true
                          description: 送信内容に含まれる自由記述の支払い参照情報またはメモ。
                        score:
                          type: integer
                          description: リスクスコア(通常0~100)。値が高いほどリスクが高くなります。
                        severity:
                          type: string
                          nullable: true
                          enum:
                            - UNKNOWN
                            - LOW
                            - MEDIUM
                            - HIGH
                            - CRITICAL
                          description: >-
                            ルールまたはプロバイダーが設定するカテゴリ別のリスク重大度（`UNKNOWN`、`LOW`、`MEDIUM`、`HIGH`、`CRITICAL`）。いずれかによって設定されるまでは`null`です。
                        subject_name:
                          type: string
                          nullable: true
                          description: '`APPLICANT`当事者の氏名。'
                        subject_vendor_data:
                          type: string
                          nullable: true
                          description: 申請者に対するお客様の内部ユーザー/企業識別子です。
                        subject_country:
                          type: string
                          nullable: true
                          description: >-
                            申請者の国コード。送信された`address.country`から取得します(通常はISO 3166-1
                            alpha-3)。
                        counterparty_name:
                          type: string
                          nullable: true
                          description: '`COUNTERPARTY`当事者の氏名（存在する場合）。'
                        counterparty_vendor_data:
                          type: string
                          nullable: true
                          description: 取引相手に対するお客様の内部識別子です。
                        counterparty_country:
                          type: string
                          nullable: true
                          description: 取引相手の国コード。送信された`address.country`から取得します。
                        tags:
                          type: array
                          items:
                            type: object
                            properties:
                              uuid:
                                type: string
                                format: uuid
                              name:
                                type: string
                              color:
                                type: string
                              description:
                                type: string
                                nullable: true
                              source:
                                type: string
                                enum:
                                  - didit
                                  - custom
                                description: タグがDiditのプリセットかカスタムタグか。
                          description: 取引に付与されたタグ(手動またはルールによる)。
                        txn_date:
                          type: string
                          format: date-time
                          description: 取引が発生した日時（作成時の`transaction_at`の値）。
                        created_at:
                          type: string
                          format: date-time
                          description: Diditが送信内容を記録した日時です。
                        decision_reason_code:
                          type: string
                          nullable: true
                          description: '現在の`status`の機械可読な理由（例: `WALLET_HIGH_RISK`）。'
                        decision_reason_label:
                          type: string
                          nullable: true
                          description: '`decision_reason_code`の人が読めるラベル。'
                        assigned_to_name:
                          type: string
                          nullable: true
                          description: この取引に割り当てられたConsoleレビュアーの表示名です。
                        travel_rule_status:
                          type: string
                          nullable: true
                          description: >-
                            取引のトラベルルール送金のステータス（例：`COMPLETED`）です。送金がない場合は`null`です。
                        travel_rule:
                          nullable: true
                          allOf:
                            - $ref: '#/components/schemas/TransactionTravelRule'
                          description: >-
                            取引のトラベルルール送金。`GET
                            /v3/transactions/{transaction_id}/`の`travel_rule`と同じブロックです。取引に送金がない場合は`null`です。
              examples:
                Single transaction:
                  value:
                    count: 1
                    next: null
                    previous: null
                    total_transactions: 1
                    results:
                      - uuid: abcdef12-3456-4890-abcd-ef1234567890
                        transaction_number: 4123
                        txn_id: your-txn-2026-05-17-001
                        transaction_type: finance
                        action_type: withdrawal
                        status: IN_REVIEW
                        direction: OUTBOUND
                        amount: '1500'
                        currency: EUR
                        preferred_currency_amount: '1620.45'
                        preferred_currency_code: USD
                        payment_details: Withdrawal to crypto wallet
                        txn_date: '2026-05-17T08:42:00Z'
                        created_at: '2026-05-17T08:42:11Z'
                        score: 78
                        severity: HIGH
                        decision_reason_code: WALLET_HIGH_RISK
                        decision_reason_label: Destination wallet flagged as high risk
                        tags:
                          - uuid: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                            name: Manual review
                            color: '#F59E0B'
                            description: null
                            source: custom
                        subject_name: Maria Garcia
                        subject_vendor_data: user-12345
                        counterparty_name: null
                        counterparty_vendor_data: null
                        counterparty_country: null
                        subject_country: null
                        assigned_to_name: Alex Reviewer
                        travel_rule_status: null
                        travel_rule: null
        '403':
          description: >-
            APIキーがない、無効、または失効しているか、このアプリケーションの取引を一覧表示する権限がキーにありません。キーがない場合は`403`を返し、誤った、失効した、または期限切れのキーの場合は`401`を返します。
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: レート制限を超過しました。間隔を空け、`Retry-After`で示された時間が経過してから再試行してください。
          content:
            application/json:
              examples:
                Throttled:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/transactions/?limit=50' \
              -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.transactions.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.transactions.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Transactions.ListAutoPaging(ctx, didit.TransactionsListParams{})\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.transactions().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->transactions->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.transactions.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.Transactions.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TransactionTravelRule:
      type: object
      description: >-
        取引のトラベルルール送金です。`GET /v3/transactions/{transaction_id}/`、`POST
        /v3/transactions/`の`201`、および`GET
        /v3/transactions/`の各行で返されます。`direction`、`rail`、`counterparty_vasp`、`delivery`、`discovery`、`reason`、`next_actions`は`PATCH
        /v3/transactions/{transaction_id}/travel-rule/`と同じ形式のため、取引を1回読み取るだけで、送金が停滞している理由と、先へ進めるための操作がわかります。
      properties:
        uuid:
          type: string
          format: uuid
        status:
          type: string
        protocol:
          type: string
          nullable: true
        required:
          type: boolean
        obligations_count:
          type: integer
        originator_data:
          type: object
          description: 送金人当事者です。受信する送金の場合、取引相手の値は所有権が確認されるまでマスクされます。
        beneficiary_data:
          type: object
          description: 受取人の当事者情報。受信側の送金では、所有権が確認されるまで取引相手の値はマスクされます。
        name_match:
          type: object
          nullable: true
          description: 送金の判定を決めた氏名比較(スコアと厳格度)です。比較が実行されるまではnullです。比較された名前は当事者とともにマスクされます。
        data_match:
          $ref: '#/components/schemas/TravelRuleDataMatch'
        mismatched_fields:
          type: array
          items:
            type: string
          description: '`data_match.mismatched_fields`のショートカット。相違がない場合は空です。'
        data_unmasked:
          $ref: '#/components/schemas/TravelRuleDataUnmasked'
        data_masked:
          type: boolean
          description: このレスポンスで取引相手の個人データがマスクされている間はtrueです。
        metadata:
          type: object
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
          description: この送金がやり取りのどちら側にあたるか。
        rail:
          type: string
          nullable: true
          description: >-
            送金に使われたレール:
            `INTERNAL`、`TRP`、`GTR`、`TRUST`、`VERIFYVASP`、`SYGNA`または`EMAIL`（サンドボックスのアプリケーションでDidit
            Test VASPが応答した場合は`TEST_VASP`）。レールが選択されるまでは`null`です。
        counterparty_vasp:
          type: object
          nullable: true
          properties:
            name:
              type: string
            lei:
              type: string
            dd_score:
              type: integer
              description: 0から100までのデューデリジェンススコアで、値が高いほど良好です。VASPディレクトリと同じ尺度です。
            dd_score_breakdown:
              type: object
              description: >-
                dd_scoreへのコンポーネントごとの寄与。VASPディレクトリと同様に、コンポーネント（jurisdiction、verification、protocol、lei、history、essentials、responsiveness）ごとに1つのオブジェクトがあり、それぞれ{points,
                max, reason, detail}を含みます。取引相手が評価されるまでは{}です。
              additionalProperties:
                type: object
                properties:
                  points:
                    type: number
                    description: このコンポーネントに付与されるポイント。
                  max:
                    type: integer
                    description: このコンポーネントが付与できる最大ポイントです。
                  reason:
                    type: string
                    description: コンポーネントの判定を示す機械可読コード。
                  detail:
                    type: string
                    description: 付与されたポイントの理由を示す、人が読める形式の説明。
            dd_assessed_at:
              type: string
              format: date-time
              nullable: true
              description: デューデリジェンス評価が最後に実行された日時。取引相手が評価されるまではnull。
          description: 取引相手のディレクトリエントリ。送金に紐付けられたものがない場合は`null`です。
        delivery:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/TravelRuleDelivery'
          description: >-
            この送金が他の当事者に送信する義務を負う最新のメッセージ。一度も義務が生じていない場合（例:
            `threshold_amount`未満の場合や、申告済みのセルフホスト型ウォレットの場合）は`null`です。
        discovery:
          type: array
          description: >-
            Diditが取引相手をどのように探索したかを示します。実行されたステップごとに1エントリです。受信送金など、探索が実行されなかった場合は空です。
          items:
            $ref: '#/components/schemas/TravelRuleDiscoveryStep'
        reason:
          type: string
          description: >-
            `COUNTERPARTY_VASP_NOT_FOUND`または`COUNTERPARTY_VASP_NOT_REACHABLE`の送金が停止している理由です。その他のステータスでは`""`です。`COUNTERPARTY_VASP_NOT_REACHABLE`の場合に限り、配信の失敗がまず理由を決定します：`email_undeliverable`（メールプロバイダーがコンプライアンスメールを拒否し、試行できるアドレスが残っていない。送信時、リマインダー時、または後から報告された恒久的なバウンスのいずれか）または`delivery_failed`（配信中のレールが完全に失敗した。ネットワークレールがメッセージを拒否したか再試行回数を使い切った、`TRP`のIDホストが応答しなかった、または取引相手の`TRP`ホストが照会を受け付けなかった）。それ以外の場合は`discovery`トレースが理由を決定します：`awaiting_end_user`（Diditが到達できる取引相手を指定したステップがない）、`directory_match_no_route`（ステップが経路のないディレクトリ上のVASPを指定した）、`picked_member_without_proven_wallet`（エンドユーザーが、ウォレットの管理を証明していないDiditの顧客を選択した）、またはトレースが他の理由を示さない場合は`no_directory_match`です。再送すると送金が先に進むため、理由はクリアされます。[送金が停止する理由](/ja/transaction-monitoring/travel-rule#送金が停止している理由)を参照してください。
        next_actions:
          type: array
          description: >-
            送金を先に進めるためのアクションです。`COUNTERPARTY_VASP_NOT_FOUND`または`COUNTERPARTY_VASP_NOT_REACHABLE`以外のステータスでは`[]`です。`email_undeliverable`では`update_compliance_email`、次に`resend`が提示されます。`delivery_failed`では`resend`が提示されます。検出に関する理由では`select_counterparty_vasp`、`declare_self_hosted`、`add_vasp_hint`、`resend`が提示されます。
          items:
            $ref: '#/components/schemas/TravelRuleNextAction'
        chain_details:
          $ref: '#/components/schemas/TravelRuleChainDetails'
    TravelRuleDataMatch:
      type: object
      nullable: true
      description: >-
        送金の当事者データと、相手側がウォレット保有者について把握している情報とのフィールドごとの比較。フィールド名と結果のみを示し、値は一切含まないため、取引相手のデータがマスクされている間も読み取ることができます。比較が実行されるまではnullです。
      properties:
        matched:
          type: boolean
          description: 比較したフィールドに差異がない場合はtrue。
        mismatched_fields:
          type: array
          items:
            type: string
            enum:
              - name
              - date_of_birth
              - address
              - account
          description: 差異のあるフィールドです。
        fields:
          type: object
          description: >-
            当事者のエンティティ種別について比較されたフィールドごとに1エントリー（`name`、`date_of_birth`、`address`、`account`。企業には`date_of_birth`はありません）。
          additionalProperties:
            type: object
            properties:
              result:
                type: string
                enum:
                  - matched
                  - mismatched
                  - not_compared
                description: ルールが`NONE`の場合、またはいずれかの側にそのフィールドの値がない場合は`not_compared`。
              strictness:
                type: string
                enum:
                  - NONE
                  - STRICT
                  - CONTAINS
                  - DEFAULT
                  - FUZZY
    TravelRuleDataUnmasked:
      type: object
      nullable: true
      description: 取引相手のデータのマスクが解除された時点の監査記録です。データがまだマスクされている間、および外部への送金の場合はnullです。
      properties:
        at:
          type: string
          format: date-time
        reason:
          type: string
          enum:
            - ownership_confirmed
            - wallet_proof
            - address_book_match
            - own_verified_wallet
            - inquiry_approved
            - known_payment_method
            - travel_address
          description: >-
            所有を確認した根拠:
            ownership_confirmed（コンソールまたはAPIを通じたお客様による確認）、wallet_proof（ウィジェットでのウォレット証明、またはINTERNALの受信送金。作成時に設定されます）、address_book_match（検証済みのアドレス帳ウォレット）、own_verified_wallet（ユーザー自身の検証済みウォレット）、inquiry_approved（受信したTRP照会、またはGTRもしくはSygnaメッセージをお客様が承認したこと）、known_payment_method（ユーザーがすでに支払いに使用したウォレット）、travel_address（ウォレットごとのトラベルアドレスがそのウォレットを指定したこと）のいずれかです。
        actor:
          type: string
          description: 確認した主体：コンソールユーザーのメールアドレス、またはAPIキーのラベル。自動判定の場合は空欄です。
    TravelRuleDelivery:
      type: object
      description: >-
        移転が相手側に送るべき最新メッセージの状況です。Diditは、移転を作成または変更したリクエストがレスポンスを返した後に取引相手に連絡するため、このオブジェクトはそのメッセージが届いたかどうかを示します。キュー待ち、送信中、エラー後の再試行待ち、配信済み、または失敗のいずれかです。ネットワークが回復する可能性のある失敗（時間内に応答がない、接続の失敗、HTTP
        `408`、`429`、`5xx`）は、30秒後、2分後、10分後、30分後、1時間後に再試行されます。最初のメッセージ（`kind:
        SEND`）が、ネットワークに拒否された、または6回目の試行も失敗したために最終的に失敗した場合、移転は`COUNTERPARTY_VASP_NOT_REACHABLE`に移行し、その`timeline`に`last_error`が記録されます。それ以外のメッセージが最終的に失敗した場合は、`timeline`に記録されます。やり取りそのものについては、引き続き移転の`status`が信頼できる情報源です。
      required:
        - kind
        - status
        - rail
        - attempts
        - last_error
        - next_attempt_at
        - delivered_at
      properties:
        kind:
          type: string
          enum:
            - SEND
            - ANSWER
            - TXID
            - CANCEL
            - POLL
          description: >-
            メッセージが運ぶ内容です。`SEND`:
            送金における取引相手への最初のメッセージです（送信。経路は送信時に選択されます）。`ANSWER`:
            お客様の承認または拒否で、問い合わせてきたネットワークに返す必要があります（受信）。`TXID`:
            お客様が送金を完了した後の、オンチェーンの取引ハッシュです。`CANCEL`:
            お客様が送金をキャンセルした後の、キャンセル通知です。`POLL`:
            ステータス照会を提供するネットワークへの照会で、送金が取引相手を待っている間、5分ごとに繰り返されます。
        status:
          type: string
          enum:
            - QUEUED
            - SENDING
            - RETRYING
            - DELIVERED
            - FAILED
          description: >-
            `QUEUED`：送信待ちです。`SENDING`：送信を試行中です。`RETRYING`：試行が失敗し、次の試行は`next_attempt_at`に実行されます。`DELIVERED`：相手側がメッセージを受け取りました。`FAILED`：相手側がメッセージを拒否したか、最後の試行が失敗しました。
        rail:
          type: string
          enum:
            - INTERNAL
            - TRP
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
            - EMAIL
            - ''
          description: メッセージを運ぶレール。最初のメッセージについてDiditがレールを選択するまでは空です。
        attempts:
          type: integer
          minimum: 0
          description: このメッセージでこれまでに行われた試行回数。ステータスポーリング以外のメッセージは最大6回まで試行されます。
        last_error:
          type: string
          description: >-
            最後の試行で発生した失敗の種類です。失敗がない場合は`""`です。例：`email undeliverable`、`trp
            identity endpoint unreachable`、`trp transfer inquiry delivery
            failed`。取引相手自身の回答が含まれることはなく、その回答は送金の`timeline`に残ります。

            GTRがエラーを返した場合は、GTR自身のステータスコードとメッセージが含まれます。レスポンス本文が含まれることはありません。
          example: email undeliverable
        next_attempt_at:
          type: string
          format: date-time
          nullable: true
          description: メッセージが`QUEUED`または`RETRYING`の間に、次の試行が実行される日時。
        delivered_at:
          type: string
          format: date-time
          nullable: true
          description: 相手側がメッセージを受け取った日時。
    TravelRuleDiscoveryStep:
      type: object
      description: >-
        Diditがアウトバウンド送金のために実行した取引相手探索の1ステップで、実行された順に並びます。ルートを持つVASPを特定した最初のステップでチェーンが終了します。
      properties:
        step:
          type: string
          enum:
            - internal_address_book
            - wallet_attribution
            - network_lookup
            - customer_hint
            - end_user
          description: >-
            `internal_address_book`:
            送付先ウォレットの管理権を証明した別のDidit顧客。`wallet_attribution`:
            ウォレットのブロックチェーン分析による帰属情報。`network_lookup`:
            どのVASPがそのアドレスを保有しているかを回答できるネットワーク。`customer_hint`:
            `beneficiary_data`で送信したVASP名、LEIまたは法域。`end_user`:
            エンドユーザー（またはお客様）が選択した取引相手、または選択の依頼。
        outcome:
          type: string
          enum:
            - match
            - miss
            - skipped
          description: >-
            `match`: ステップが取引相手を特定しました。`miss`: 実行されましたが見つかりませんでした。`skipped`:
            実行できず、`reason`に理由が示されます。
        reason:
          type: string
          description: >-
            機械可読な理由です。一致した場合は`""`になります。値は`no_proven_internal_wallet`、`attribution_disabled`、`already_attributed`、`no_attributed_entity`、`directory_match_no_route`、`gtr_address_lookup_runs_on_dispatch`、`no_membership`、`network_switched_off`、`no_network_address_lookup`、`no_directory_match`、`awaiting_end_user`、`picked_member_without_proven_wallet`のいずれかです。
        vasp:
          type: string
          format: uuid
          nullable: true
          description: ステップでVASPが指定された場合の、そのディレクトリ上のVASPです。
        rail:
          type: string
          nullable: true
          description: ステップで取引相手が見つかった場合に、その取引相手に届くレール。
        at:
          type: string
          format: date-time
    TravelRuleNextAction:
      type: object
      description: >-
        `COUNTERPARTY_VASP_NOT_FOUND`または`COUNTERPARTY_VASP_NOT_REACHABLE`の送金を先に進める要素1つです。[送金が停止している理由](/ja/transaction-monitoring/travel-rule#送金が停止している理由)を参照してください。
      properties:
        action:
          type: string
          enum:
            - select_counterparty_vasp
            - declare_self_hosted
            - add_vasp_hint
            - update_compliance_email
            - resend
          description: >-
            `select_counterparty_vasp`:
            エンドユーザーがウォレット所有権ウィジェットで送金先のVASPを選択するか、お客様が`action=beneficiary_vasp`でPATCHします。`declare_self_hosted`:
            エンドユーザーがウィジェットでウォレットをセルフホスト型として申告します。`add_vasp_hint`:
            VASP名、LEI、またはトラベルアドレス（例:
            送金先ウォレットのアドレス帳エントリーの`travel_address`）で取引相手をDiditに伝え、再送信します。`update_compliance_email`と`resend`は`PATCH
            /v3/transactions/{transaction_id}/travel-rule/`の`action`値で、それぞれ取引相手のコンプライアンス用メールアドレスを再度指定し、ルーティングを再実行します。
        url:
          type: string
          format: uri
          description: >-
            ウォレット所有権ウィジェットのリンク。取引にウィジェットセッションが開いている間、`select_counterparty_vasp`と`declare_self_hosted`で返されます。
      required:
        - action
    TravelRuleChainDetails:
      type: object
      description: >-
        送金のチェーンが2つのウォレットをどのように示すか（1つのアドレスが別のアドレスに支払う形態にとどまらない場合）。アカウント型チェーンの送金（EVM、Solana、Tron）では2つのアドレスがそのままウォレットとなるため、空（`{}`）になります。照合、ルーティング、アドレス帳は、まずここからウォレットを読み取ります。
      properties:
        chain:
          type: string
          description: 正規チェーン(例:`BTC`、`XRP`、Lightning送金の場合は`LIGHTNING`)。
        shape:
          type: string
          enum:
            - utxo
            - memo
            - lightning
        originator:
          $ref: '#/components/schemas/TravelRuleChainSide'
        beneficiary:
          $ref: '#/components/schemas/TravelRuleChainSide'
        utxo:
          type: object
          description: 'UTXO送金の場合: 保存されている入力と出力(金額は10進数の文字列)、およびDiditが各出力を何として解釈したか。'
          properties:
            inputs:
              type: array
              items:
                $ref: '#/components/schemas/TravelRuleUtxoEntry'
            outputs:
              type: array
              items:
                $ref: '#/components/schemas/TravelRuleUtxoEntry'
            change_output_indexes:
              type: array
              items:
                type: integer
              description: 入力アドレスへ資金を戻す出力。
            beneficiary_output_index:
              type: integer
              nullable: true
              description: 受取人に支払うアウトプット。判別できなかった場合はnullです。
        lightning:
          type: object
          description: >-
            Lightning送金の場合:
            支払いリクエストの内容。常に`kind`(`bolt11`、`bolt12_offer`、`bolt12_invoice`、`bolt12_invoice_request`、`lnurl`、`lightning_address`、`node_id`または`unknown`)を含みます。BOLT11インボイスでは`network`、`payee_node_id`、`payment_hash`、`amount_msat`、`created_at`、`expires_at`が加わり、BOLT12文字列では`blinded_paths`と`payee_node_id`が、LNURLまたはLightning
            Addressではその`domain`が加わります。ネットワーク経由での解決は一切行わず、リクエストをデコードするだけです。
          additionalProperties: true
        warnings:
          type: array
          items:
            type: string
            enum:
              - declared_originator_not_an_input
              - declared_beneficiary_not_an_output
              - beneficiary_output_ambiguous
              - beneficiary_output_amount_differs
          description: >-
            確認が必要なUTXOの不整合です。申告された送金人が入力に含まれていない、申告された受取人が出力に含まれていない、受取人の出力を1つに特定できない、または受取人の出力の支払額が取引に記載された金額と異なる場合が該当します。
        not_applicable_reason:
          type: string
          enum:
            - LIGHTNING_NO_PAYEE_IDENTIFIER
            - LIGHTNING_BOLT12_BLINDED_PAYEE
            - LIGHTNING_LNURL_NAMES_NO_PAYEE
          description: >-
            支払いリクエストに受取人が指定されていないアウトバウンドのLightning送金の場合:
            送金が`NOT_APPLICABLE`となる理由。`LIGHTNING_NO_PAYEE_IDENTIFIER`(リクエストに受取人ノードが指定されていない、またはデコードできなかった)、`LIGHTNING_BOLT12_BLINDED_PAYEE`(オファーが受取人をブラインドパスの背後に隠している)、`LIGHTNING_LNURL_NAMES_NO_PAYEE`(LNURLが受取人ではなくサービスを指定している)のいずれかです。同じコードが送金の最後の`timeline`エントリの冒頭にも記載されます。
    TravelRuleChainSide:
      type: object
      description: Diditがチェーンデータから解決した、一方の当事者のウォレットです。
      properties:
        address:
          type: string
          description: >-
            ウォレット。メモ型ネットワークではクラシックアドレス(XRPのXアドレスはクラシックアドレスとタグに分割されます)、Lightningでは受取人のノードIDまたはLightning
            Addressです。
        memo:
          type: string
          description: ウォレットの一部となる宛先タグまたはメモです。ない場合は`""`です。
        source:
          type: string
          enum:
            - declared
            - x_address
            - largest_input
            - only_non_change_output
            - amount_match
            - invoice_payee
            - updated
          description: >-
            ウォレットの取得元です。`declared`（リクエストで指定）、`x_address`（XRPのX-addressから分割）、`largest_input`（最も多く拠出したUTXO入力アドレス）、`only_non_change_output`（おつりではない唯一のUTXO出力）、`amount_match`（送金額を支払う唯一のUTXO出力）、`invoice_payee`（Lightningの支払いリクエストが指定する受取人）、`updated`（後から`action:
            update_originator_wallet`で設定）。
    TravelRuleUtxoEntry:
      type: object
      description: UTXO取引の入力または出力1件。チェーンに記録されたとおりの内容です。
      required:
        - address
      properties:
        address:
          type: string
          maxLength: 128
        amount:
          type: string
          nullable: true
          description: その通貨自体の単位（satoshiではなくBTC）での10進数文字列。任意。
          example: '0.0125'
        txid:
          type: string
          maxLength: 128
          description: 任意。入力が使用する取引です。
        vout:
          type: integer
          nullable: true
          minimum: 0
          description: 任意。入力が使用する出力のインデックスです。
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API
        keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権（なし、読み取り、書き込み）、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください:
        https://docs.didit.me/console/api-keys

````

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