curl -X GET 'https://verification.didit.me/v3/travel-rule/vasps/?search=counterparty&reachable=true' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.travel_rule.list_vasps():
print(item)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);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.TravelRule.ListVASPsAutoPaging(ctx, didit.TravelRuleListVASPsParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.travelRule().listVasps()) {
System.out.println(item);
}<?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());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.travel_rule.list_vasps.auto_paging_each do |item|
puts item.to_h
endusing 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));
}{
"count": 123,
"next": "<string>",
"previous": "<string>",
"results": [
{
"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."
}
}
]
}
]
}{
"jurisdiction": [
"Use an ISO 3166 alpha-2 or alpha-3 country code."
],
"network": [
"\"SWIFT\" is not a valid choice."
]
}VASP डायरेक्टरी खोज API: Travel Rule रूट
फ़िल्टर के साथ Travel Rule VASP डायरेक्टरी और Didit नेटवर्क खोजें, और हर VASP तक पहुँचने के लिए अपने एप्लिकेशन के रूट पाएँ।
curl -X GET 'https://verification.didit.me/v3/travel-rule/vasps/?search=counterparty&reachable=true' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.travel_rule.list_vasps():
print(item)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);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.TravelRule.ListVASPsAutoPaging(ctx, didit.TravelRuleListVASPsParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.travelRule().listVasps()) {
System.out.println(item);
}<?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());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.travel_rule.list_vasps.auto_paging_each do |item|
puts item.to_h
endusing 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));
}{
"count": 123,
"next": "<string>",
"previous": "<string>",
"results": [
{
"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."
}
}
]
}
]
}{
"jurisdiction": [
"Use an ISO 3166 alpha-2 or alpha-3 country code."
],
"network": [
"\"SWIFT\" is not a valid choice."
]
}प्राधिकरण
आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी, कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं। देखें https://docs.didit.me/console/api-keys।
क्वेरी पैरामीटर
एक नाम या उपनाम का अंश (केस-असंवेदनशील), एक सटीक LEI, या एक डोमेन (example.com या उस पर कोई URL)। Didit नेटवर्क सदस्य अपने कानूनी नाम, LEI या अपने अनुपालन ईमेल के डोमेन पर मेल खाते हैं।
255केवल वही डायरेक्टरी प्रविष्टियाँ जो किसी नेटवर्क की सदस्य डायरेक्टरी में वर्तमान में सूचीबद्ध हैं।
GTR, TRUST, VERIFYVASP, SYGNA, TRISA ISO 3166 alpha-2 या alpha-3 देश कोड। किसी अन्य मान के लिए 400।
true: केवल वे VASP जिन तक आपके एप्लिकेशन के पास उपलब्ध रूट है (Didit नेटवर्क के सदस्य शामिल हैं)। false: केवल वे डायरेक्टरी प्रविष्टियाँ जिन तक यह आज नहीं पहुँच सकता।
केवल डायरेक्टरी प्रविष्टियाँ, या केवल Didit नेटवर्क के सदस्य।
directory, didit केवल वही डायरेक्टरी प्रविष्टियाँ जिनका risk_level यह बैंड है। Didit नेटवर्क के सदस्य, जिन्हें स्कोर नहीं किया जाता है, कभी मेल नहीं खाते।
LOW, MEDIUM, HIGH केवल वही डायरेक्टरी प्रविष्टियाँ जिनका responsiveness.status यह मान है। Didit नेटवर्क के सदस्य कभी मेल नहीं खाते।
RESPONSIVE, UNRESPONSIVE, UNKNOWN x >= 1x >= 0