> ## 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のAPIで、トラベルルールのVASPディレクトリとDiditネットワークを検索できます。フィルターで絞り込み、アプリケーションから各VASPへのルートも取得できます。



VASPディレクトリ検索APIプロンプト
        プロンプトをクリップボードにコピー



      
      

\<pre>

\`Search the VASP directory Didit routes outbound Travel Rule transfers with: the shared directory entries plus the members of the Didit network, each with the routes my application has to it today.

Endpoint:
GET https://verification.didit.me/v3/travel-rule/vasps/?search=<term>

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

Query parameters (all optional):
\- search - a name or alias fragment, an exact LEI, or a domain (example.com or a URL on it).
\- network - GTR, TRUST, VERIFYVASP, SYGNA or TRISA: only entries that network's member directory currently lists.
\- jurisdiction - ISO 3166 alpha-2 or alpha-3 country code.
\- reachable - true: only VASPs my application has an available route to; false: only entries it cannot reach today.
\- kind - directory (shared entries) or didit (Didit network members).
\- risk - LOW, MEDIUM or HIGH: only directory entries whose risk_level is that band.
\- responsiveness - RESPONSIVE, UNRESPONSIVE or UNKNOWN: only directory entries with that responsiveness.status.
Didit network members are not scored, so risk and responsiveness return directory entries only.
\- limit (default 50) / offset - pagination; count/next/previous describe the page window.
An unknown network, country code, risk band or responsiveness status answers 400 naming the field.

What to read from each result:
\- id - use it with GET /v3/travel-rule/vasps/{vasp_id}/.
\- kind, name, lei, jurisdiction, domains, aliases - who the VASP is and the other names it is found by.
\- routes[] - {rail, status, reason, via} in the order dispatch tries them. status is available or unavailable; an unavailable network route carries reason no_membership or network_switched_off and is never a way to reach the VASP. reachable is true when at least one route is available. On a sandbox application every route is unavailable with reason sandbox_application (sandbox sends only to the Didit Test VASP), every row has reachable false, and reachable=true returns no rows.
\- networks[] - the network member directories that list the VASP, with its code there. A TRISA listing is never a route: Didit has no TRISA rail.
\- umbrella / entities[] - a brand and the regulated entities that receive its transfers. A transfer naming the brand goes to the entity in the jurisdiction it states (beneficiary_data.counterparty_vasp_jurisdiction); two entities that fit equally are never guessed between, so without a route of the brand's own it is COUNTERPARTY_VASP_NOT_FOUND.
\- contacts[] - compliance contacts the EMAIL rail writes to: scope platform (curated by Didit or learned from an answered request) or application (private to my application).
\- dd_score (0-100, higher is safer: dd_score_semantic is always higher_is_safer) and risk_level (LOW at 70 or more, MEDIUM 40-69, HIGH below 40) - the shared due-diligence assessment of a directory entry. Didit network members are not scored: dd_score is null and risk_level empty.
\- dd_score_breakdown - {component: {points, max, reason, detail}} for jurisdiction, verification, protocol, lei, history, essentials and responsiveness.
\- responsiveness - {status, answered, total, computed_at}: RESPONSIVE, UNRESPONSIVE (answered less than 10 percent of at least 5 decided requests in the last 90 days) or UNKNOWN.
\- essential_checks - {level, checked_at, checks[{id, status, reason, detail}], passed, failed, unknown, total} for registration, licence, domain and lei. Empty until first checked.
\- decision, entity_screening, questionnaires[] - my application's own decision (APPROVED, RESTRICTED or BLOCKED), latest sanctions screening and due-diligence questionnaires on the VASP. Private to my application: no other customer sees them.

Didit network members are other Didit customers with a live application, Travel Rule on, a discoverable profile with a legal name and a confirmed compliance email, reached on the INTERNAL rail. Network routes need a membership: mine (connected in the Marketplace) or Didit's, and Didit's own memberships are not live yet.

My own VASP profile never appears in my own results.

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

\</pre>



      
      

貼り付け先



## OpenAPI

````yaml ja/openapi-25.json GET /v3/travel-rule/vasps/
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/:
    get:
      tags:
        - Travel Rule
      summary: VASPディレクトリを検索
      description: >-
        VASPディレクトリを名前順にページ分割して検索します。対象は、DiditがESMAの暫定MiCA登録簿、公開TRISAディレクトリ、グローバルLEI登録簿、および独自のキュレーションをもとに構築した共有ディレクトリのエントリーと、Diditネットワークのメンバーです。各行には、現時点でアプリケーションからその相手へのルートが含まれます。自身のアプリケーションのプロファイルが一覧に表示されることはありません。各行には、共有のデューデリジェンス評価と、アプリケーション独自の判定、エンティティスクリーニング、アンケートも含まれます。
      operationId: listTravelRuleVasps
      parameters:
        - name: search
          in: query
          schema:
            type: string
            maxLength: 255
          description: >-
            名前またはエイリアスの一部（大文字と小文字を区別しない）、完全一致のLEI、またはドメイン（example.comまたはそのドメイン上のURL）。Diditネットワークのメンバーは、法人名、LEI、またはコンプライアンス用メールアドレスのドメインで一致します。
        - name: network
          in: query
          schema:
            type: string
            enum:
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
              - TRISA
          description: ネットワークのメンバーディレクトリに現在掲載されているディレクトリエントリのみ。
        - name: jurisdiction
          in: query
          schema:
            type: string
          description: ISO 3166のalpha-2またはalpha-3の国コード。それ以外は400になります。
        - name: reachable
          in: query
          schema:
            type: boolean
          description: >-
            true: お客様のアプリケーションが利用可能なルートを持つVASPのみ(Diditネットワークのメンバーを含む)。false:
            現時点で到達できないディレクトリエントリのみ。
        - name: kind
          in: query
          schema:
            type: string
            enum:
              - directory
              - didit
          description: ディレクトリエントリのみ、またはDiditネットワークのメンバーのみ。
        - name: risk
          in: query
          schema:
            type: string
            enum:
              - LOW
              - MEDIUM
              - HIGH
          description: risk_levelがこの区分のディレクトリエントリのみ。スコアリングされないDiditネットワークのメンバーは一致しません。
        - name: responsiveness
          in: query
          schema:
            type: string
            enum:
              - RESPONSIVE
              - UNRESPONSIVE
              - UNKNOWN
          description: responsiveness.statusがこの値のディレクトリエントリのみ。Diditネットワークのメンバーは一致しません。
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
      responses:
        '200':
          description: 名前順に並べた、ページ分割されたVASPディレクトリの検索結果。
          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/VaspDirectoryEntry'
        '400':
          description: 'フィルターが無効です。本文には各フィールドが示されます。例: 不明なネットワーク、国コード、リスク帯、応答状況ステータス。'
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              example:
                jurisdiction:
                  - Use an ISO 3166 alpha-2 or alpha-3 country code.
                network:
                  - '"SWIFT" is not a valid choice.'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/travel-rule/vasps/?search=counterparty&reachable=true'
            \
              -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.list_vasps():
                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.listVasps()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.TravelRule.ListVASPsAutoPaging(ctx, didit.TravelRuleListVASPsParams{})\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().listVasps()) {
                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->listVasps() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.travel_rule.list_vasps.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.ListVaspsAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    VaspDirectoryEntry:
      type: object
      description: >-
        ディレクトリに登録されたVASPまたはDiditネットワークのメンバーと、アプリケーションからそのVASPへのルート。顧客がDiditネットワークのメンバーとなるのは、そのアプリケーションが本番稼働中で、トラベルルールが有効で、プロフィールが検索可能であり、法的名称と確認済みのコンプライアンス用メールアドレスがあり、かつDiditがそのアプリケーションをテスト用、デモ用、社内用としてマークしていない間のみです。各行には、共有のデューデリジェンス評価（dd_score、risk_level、responsiveness、essential_checks）に加え、他の顧客には表示されない、自身のアプリケーション独自の判定、エンティティスクリーニング、アンケートも含まれます。
      properties:
        id:
          type: string
          format: uuid
          description: GET /v3/travel-rule/vasps/{vasp_id}/で使用するエントリのIDです。
        kind:
          type: string
          enum:
            - directory
            - didit
          description: directoryは共有ディレクトリのエントリ、diditはDiditネットワークのメンバーを示します。
        name:
          type: string
        lei:
          type: string
        jurisdiction:
          type: string
          description: ソースが提供するとおりのISO 3166国コード。
        domains:
          type: array
          items:
            type: string
          description: VASPのWebドメインです。Diditネットワークのメンバーでは常に空です。
        reachable:
          type: boolean
          description: >-
            アプリケーションからこのVASP、またはブランドの場合はそのエンティティのいずれかへの利用可能なルートがあるかどうか。Diditネットワークのメンバーであれば常にtrueです。ただし、サンドボックスのアプリケーションでは、すべての行がfalseになります。
        aliases:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              kind:
                type: string
                enum:
                  - trading_name
                  - other_legal_name
                  - network_name
                  - attribution
                  - merged
                  - staff
                description: >-
                  trading_name、other_legal_name(グローバルLEI登録簿の名称)、network_name(トラベルルールネットワーク上の名称)、attribution(ブロックチェーン分析がVASPのウォレットに付与するエンティティ名)、merged(このエントリに統合された重複エントリの名称)、またはstaffのいずれかです。
          description: そのVASPが知られているその他の名称です。
        networks:
          type: array
          items:
            type: object
            description: >-
              トラベルルールネットワークのメンバーディレクトリにおける、このVASPの現在の掲載情報。TRISAの掲載情報は、TRISA上でそのVASPが誰であるかを示します。DiditにはTRISAレールがないため、これがルートになることはありません。
            properties:
              network:
                type: string
                enum:
                  - GTR
                  - TRUST
                  - VERIFYVASP
                  - SYGNA
                  - TRISA
              code:
                type: string
                description: そのネットワークにおけるVASPの識別子です。
              listed_name:
                type: string
                description: ネットワークにおけるVASPの登録名です。
              country:
                type: string
                description: ネットワークが提供している場合、ネットワークに記載された国。
              verified_at:
                type: string
                format: date-time
                nullable: true
                description: Diditのスタッフが掲載情報を検証した日時です。公開ディレクトリから読み取った掲載情報の場合はnullです。
              last_seen_at:
                type: string
                format: date-time
                nullable: true
                description: ソースが最後にその掲載情報を表示した日時。ソースで3週間表示されていない掲載情報は削除されます。
              source:
                type: string
                enum:
                  - trisa_directory
                  - staff
                description: 掲載情報の出所です。公開TRISAディレクトリ、またはDiditのスタッフです。
        routes:
          type: array
          items:
            type: object
            description: >-
              アプリケーションがこのVASPにトラベルルールデータを配信できる経路の1つです。ディスパッチが試行する順に並びます。ネットワーク経路には、そのネットワークのメンバーシップが必要です。自社のメンバーシップ（Marketplaceで接続済み）、またはDiditがメンバーシップを保有した時点でのDiditのメンバーシップです。メンバーシップがない場合、その経路は理由とともに利用不可として表示され、VASPに到達する手段として表示されることはありません。
            properties:
              rail:
                type: string
                enum:
                  - INTERNAL
                  - TRP
                  - GTR
                  - TRUST
                  - VERIFYVASP
                  - SYGNA
                  - EMAIL
              status:
                type: string
                enum:
                  - available
                  - unavailable
              reason:
                type: string
                enum:
                  - ''
                  - no_membership
                  - network_switched_off
                  - sandbox_application
                description: >-
                  利用できないルートを使用できない理由：no_membership（あなたもDiditもそのネットワークのメンバーシップを保有していない）、network_switched_off（設定でそのネットワークをオフにしている）、sandbox_application（サンドボックスアプリケーションはDidit
                  Test VASPにのみ送信するため、利用できるルートがない）。ルートが利用可能な場合は空です。
              via:
                type: string
                enum:
                  - ''
                  - own_membership
                  - didit_membership
                  - directory
                  - contact
                  - didit_network
                description: >-
                  利用可能なルートへの到達方法です。ネットワークレールの場合はown_membershipまたはdidit_membership、ディレクトリで検証されたTRPエンドポイントの場合はdirectory、EMAILレールの場合はcontact、Diditネットワークメンバーの場合はdidit_networkです。ルートが利用できない場合は空です。
        umbrella:
          type: object
          nullable: true
          description: このエントリーが規制対象事業体として属するブランド。いずれのブランドにも属さない場合はnullです。
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
        entities:
          type: array
          items:
            type: object
            description: ブランドの規制対象事業者。送金を受け取る法人です。
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              lei:
                type: string
              jurisdiction:
                type: string
              reachable:
                type: boolean
                description: アプリケーションからそこへの利用可能なルートがあるかどうか。
          description: >-
            ブランドの場合、その送金を受け取る規制対象エンティティです。ブランドを指定した送金は、送金に記載された法域（beneficiary_data.counterparty_vasp_jurisdiction）にある到達可能なエンティティに送られます。それがない場合は、ブロックチェーン分析の帰属情報が送金先ウォレットに紐付けたエンティティに送られ、法域が記載されていない場合は唯一の到達可能なエンティティに送られます。同等に該当するエンティティが2つある場合、どちらかを推測して選ぶことはありません。
        contacts:
          type: array
          items:
            type: object
            description: EMAILレールが連絡できるコンプライアンス窓口。
            properties:
              id:
                type: string
                format: uuid
              email:
                type: string
                format: email
              name:
                type: string
              source:
                type: string
                enum:
                  - staff
                  - application
                  - learned
                description: >-
                  staff: Diditが管理するもの。application: お客様のアプリケーションが追加したもの。learned:
                  レスポンスリンクを通じてトラベルルールのリクエストに回答したアドレス。
              scope:
                type: string
                enum:
                  - platform
                  - application
                description: >-
                  platformの連絡先は、すべてのDidit顧客の送金に使用されます。applicationの連絡先はアプリケーション専用で、アプリケーションは自身の連絡先のみを参照できます。
              verified_at:
                type: string
                format: date-time
                nullable: true
                description: このアドレスの誰かがリクエストに応答した日時。まだ応答がない場合はnull。
          description: このVASPについてプラットフォームが保持する連絡先と、アプリケーション独自の連絡先です。
        dd_status:
          type: string
          enum:
            - NOT_STARTED
            - IN_PROGRESS
            - COMPLETED
            - REJECTED
          description: >-
            エントリーに対するDiditの検証ステータスで、dd_scoreの検証コンポーネントによってスコアリングされます。Diditネットワークのメンバーの場合は常にCOMPLETEDです。
        dd_score:
          type: integer
          nullable: true
          minimum: 0
          maximum: 100
          description: >-
            ディレクトリエントリの共有デューデリジェンススコア。0から100の値で、高いほど安全です（dd_score_semanticを参照）。dd_score_breakdownのポイントの合計です。スコアリングされないDiditネットワークのメンバーではnullです。まだ評価されていないエントリ（dd_assessed_atがnull）は0と空のrisk_levelを示すため、生のスコアではなくrisk_levelを参照してください。
        reachable_rails:
          type: array
          items:
            type: string
            enum:
              - INTERNAL
              - TRP
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
              - EMAIL
          description: エントリに記録されたレール。現在アプリケーションで使用できるものについては、ルートを参照してください。
        is_didit_customer:
          type: boolean
          description: >-
            Diditネットワークのメンバー(これらについてはdd_statusは常にCOMPLETED、dd_scoreはnull、risk_levelは空です)、およびDiditの顧客に紐付けられたディレクトリエントリの場合はtrueです。
        dd_score_breakdown:
          type: object
          description: >-
            dd_scoreの構成要素ごとに1つのオブジェクトです。構成要素、その重み（最大値）、理由コードは次のとおりです。jurisdiction、25（jurisdiction_not_high_risk、jurisdiction_high_risk、jurisdiction_unknown）、verification、15（dd_status_completed、dd_status_in_progress、dd_status_not_started、dd_status_rejected）、protocol、15（native_rail、email_only、no_rail）、lei、10（lei_valid、lei_missing）、history、10（history、no_history）、essentials、15（essential_checks、no_essential_checks）、responsiveness、10（responsive、unresponsive、responsiveness_unknown）。Diditネットワークのメンバーの場合は空です。
          additionalProperties:
            type: object
            properties:
              points:
                type: number
                description: コンポーネントが寄与するポイント(小数点以下1桁に丸めた値)。
              max:
                type: integer
                description: コンポーネントの重み。最大で加算されるポイントです。
              reason:
                type: string
                description: コンポーネントの判定を示す機械可読コード。
              detail:
                type: string
                description: 1行の英語による説明です。
        dd_assessed_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            dd_score、risk_level、responsivenessが最後に計算された日時。エントリーとのやり取りが完了、終了、期限切れ、不一致、または却下となった後、Diditがエントリーを更新またはキュレーションしたとき、および毎週のディレクトリ更新時に計算されます。Diditネットワークのメンバーの場合はnull。
        dd_score_semantic:
          type: string
          enum:
            - higher_is_safer
          description: dd_scoreの向き：常にhigher_is_saferです。
        risk_level:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
            - ''
          description: >-
            dd_scoreが該当する区分：LOW（70以上）、MEDIUM（40〜69）、HIGH（40未満）。Diditネットワークのメンバー、およびまだ評価されていないエントリーでは空です。riskでフィルターできます。自社でフラグを付けたスクリーニングがこの共有値を変更することはありません。代わりに、ルール内でcounterparty_risk_levelがHIGHになります。
        responsiveness:
          type: object
          description: >-
            VASPがトラベルルールのリクエストに応答しているかどうか。過去90日間にDidit顧客がそのVASPに対して開始したリクエストのうち、応答があったものの割合です。ネットワークまたはプロトコルのレール経由、または共有アドレス(エントリのコンプライアンス用アドレスまたはプラットフォームの連絡先)へのメールで送信されたリクエストのみが対象です。顧客が入力したアドレスや顧客の非公開の連絡先に送信されたリクエストは、決して対象になりません。期限切れのリクエストは未応答とみなされ、完了したやり取り、拒否、データの不一致は応答とみなされます。キャンセルされたリクエストや到達不能なレールは、どちらにも該当しません。Diditネットワークメンバーの場合は常にUNKNOWNで、件数は0です。
          properties:
            status:
              type: string
              enum:
                - RESPONSIVE
                - UNRESPONSIVE
                - UNKNOWN
              description: >-
                期間内に判定済みのリクエストが5件未満の場合はUNKNOWN、そのうち応答があったものが10パーセント未満の場合はUNRESPONSIVE、それ以外の場合はRESPONSIVEです。
            answered:
              type: integer
              description: 期間内に判定されたリクエストのうち、VASPが回答したもの。
            total:
              type: integer
              description: 期間内に判定されたリクエスト。回答済みと期限切れの合計です。
            computed_at:
              type: string
              format: date-time
              nullable: true
        essential_checks:
          type: object
          description: >-
            ディレクトリエントリの必須チェックレポートで、プラットフォームの検証済みソースのみに基づいて作成されます。対象はregistration（公式の登録簿にVASPが掲載されている。EUの暫定MiCA登録簿、公開TRISAディレクトリ、またはグローバルLEI登録簿）、licence（MiCA認可が記録されており、現在有効である）、domain（エントリのドメインがTRPエンドポイントまたは登録簿に記載されたウェブサイトと一致する）、lei（LEIレコードが有効かつ発行済みで、エントリの名称および国と整合している）です。dd_scoreのessentialsコンポーネントは、判定済みのチェックのうち合格したものの割合です。週次のディレクトリ更新で初めてエントリがチェックされるまでは空で、Diditネットワークのメンバーの場合は常に空です。
          properties:
            level:
              type: string
              enum:
                - essential
            checked_at:
              type: string
              format: date-time
            checks:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    enum:
                      - registration
                      - licence
                      - domain
                      - lei
                  status:
                    type: string
                    enum:
                      - pass
                      - fail
                      - unknown
                    description: 登録されているどの情報源でもチェックを判定できない場合はunknownです。
                  reason:
                    type: string
                    description: 判定を示す機械可読コード。
                  detail:
                    type: string
                    description: 1行の英語による説明です。
            passed:
              type: integer
            failed:
              type: integer
            unknown:
              type: integer
            total:
              type: integer
        decision:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyDecision'
          nullable: true
          description: >-
            このVASPに対するお客様のアプリケーションの判定です。独自の判定を持たないエンティティの場合は、そのブランドの判定です（inherited_fromがブランドを示します）。判定がない場合はnullです。お客様のアプリケーション専用です。
        entity_screening:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyScreening'
          nullable: true
          description: >-
            このVASPに対するお客様のアプリケーションの最新の制裁およびネガティブメディアのスクリーニングです。一度もスクリーニングしていない場合はnullです。お客様のアプリケーション専用です。
        questionnaires:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleCounterpartyQuestionnaire'
          description: このVASPとのお客様のアプリケーションのデューデリジェンス質問票です。新しい順に並びます。お客様のアプリケーション専用です。
      example:
        id: 0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91
        kind: directory
        name: Example Counterparty VASP
        lei: 529900EXAMPLECPTY001
        jurisdiction: DE
        domains:
          - counterparty.example
        reachable: true
        aliases:
          - name: Example Counterparty
            kind: trading_name
        networks:
          - network: GTR
            code: EXAMPLE01
            listed_name: Example Counterparty VASP
            country: DE
            verified_at: '2026-10-12T09:30:00Z'
            last_seen_at: '2026-10-12T09:30:00Z'
            source: staff
        routes:
          - rail: GTR
            status: unavailable
            reason: no_membership
            via: ''
          - rail: EMAIL
            status: available
            reason: ''
            via: contact
        umbrella: null
        entities: []
        contacts:
          - id: 6c1f9b8e-2d4a-4f7e-8b3c-5a9d0e1f2a3b
            email: travelrule@counterparty.example
            name: Travel Rule desk
            source: staff
            scope: platform
            verified_at: null
        dd_status: NOT_STARTED
        dd_score: 62
        dd_score_breakdown:
          jurisdiction:
            points: 25
            max: 25
            reason: jurisdiction_not_high_risk
            detail: DEU is not on the high-risk jurisdiction list
          verification:
            points: 3.8
            max: 15
            reason: dd_status_not_started
            detail: due diligence status NOT_STARTED
          protocol:
            points: 6
            max: 15
            reason: email_only
            detail: reachable over the email fallback only
          lei:
            points: 10
            max: 10
            reason: lei_valid
            detail: valid LEI on record
          history:
            points: 5
            max: 10
            reason: no_history
            detail: no exchange history
          essentials:
            points: 7.5
            max: 15
            reason: no_essential_checks
            detail: no decided essential check yet
          responsiveness:
            points: 5
            max: 10
            reason: responsiveness_unknown
            detail: 0 decided recent requests, too few to judge
        dd_assessed_at: '2026-10-12T09:30:00Z'
        dd_score_semantic: higher_is_safer
        risk_level: MEDIUM
        responsiveness:
          status: UNKNOWN
          answered: 0
          total: 0
          computed_at: '2026-10-12T09:30:00Z'
        essential_checks: {}
        reachable_rails:
          - GTR
          - EMAIL
        is_didit_customer: false
        decision:
          decision: APPROVED
          reason: Licensed in DE, questionnaire reviewed
          decided_by: ''
          updated_at: '2026-10-14T10:05:00Z'
          inherited_from: null
        entity_screening:
          id: 7a1d2c3b-4e5f-4a6b-8c7d-9e0f1a2b3c4d
          status: Approved
          total_hits: 0
          score: null
          screened_at: '2026-10-14T09:58:00Z'
          fresh: true
          flagged: false
        questionnaires:
          - 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.
    TravelRuleCounterpartyDecision:
      type: object
      description: >-
        取引相手VASPに対するお客様のアプリケーションの判定です。お客様のアプリケーション専用です。共有ディレクトリのエントリを変更することはなく、他の顧客がこれを見ることもありません。作用するのはお客様の取引ルール（counterparty_dd_statusルールフィールドと、travel-rule-counterparty-blockedおよびtravel-rule-counterparty-restrictedプリセット）を通じてのみです。送金のルーティング方法を変更することはありません。
      properties:
        decision:
          type: string
          enum:
            - APPROVED
            - RESTRICTED
            - BLOCKED
          description: >-
            APPROVED：チームがこの取引相手を承認しました。RESTRICTED：レビュー後であれば、この取引相手への送金を進められます。BLOCKED：チームがこの取引相手を拒否しました。
        reason:
          type: string
          maxLength: 255
          description: 指定した理由の自由記述。指定がない場合は空です。
        decided_by:
          type: string
          description: 判定を行った、または最後に変更したコンソールユーザー。APIキーによって判定された場合は空です。
        updated_at:
          type: string
          format: date-time
        inherited_from:
          type: object
          nullable: true
          description: このエンティティ自体に判定を設定していないため、このエンティティが判定に従うブランド。判定が取引相手自身のものである場合はnullです。
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
    TravelRuleCounterpartyScreening:
      type: object
      description: >-
        取引相手の法人に対する制裁およびネガティブメディアのスクリーニング1件で、アプリケーションのために実行され、アプリケーションに請求されます。アプリケーション専用で、他の顧客がこれを見ることはありません。
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: '承認済み: 対応が必要な一致候補はありません。レビュー中または却下: 制裁またはネガティブメディアと一致する可能性があります。'
        total_hits:
          type: integer
          description: スクリーニングで返された一致候補の数。
        score:
          type: number
          nullable: true
          description: 一致候補の中で最も高いリスクスコアです。一致するものがなかった場合はnullです。
        screened_at:
          type: string
          format: date-time
        fresh:
          type: boolean
          description: スクリーニングがfresh_days(30日)より新しいかどうか。新しいスクリーニングは再課金されずに再利用されます。
        flagged:
          type: boolean
          description: >-
            スクリーニングが有効期間内で、ステータスがIn
            ReviewまたはDeclinedである間はtrueです。最新のスクリーニングにフラグが立っており、取引相手のスクリーニングが有効なままの間は、ルール内のcounterparty_risk_levelはHIGHになります。
    TravelRuleCounterpartyQuestionnaire:
      type: object
      description: >-
        お客様のアプリケーションが取引相手に送信したデューデリジェンスアンケート1件。Diditの標準アンケートで、登録されているコンプライアンス用アドレスに1回限り使用可能な回答リンクとともにメールで送信されます。お客様のアプリケーションのみが参照できます。
      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: >-
        お客様のアプリケーションの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.