curl -X POST https://verification.didit.me/v3/travel-rule/counterparty-contacts/ \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"counterparty": "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91", "email": "compliance@counterparty.example", "name": "Compliance desk"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.counterparty_contacts.create(
counterparty="0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
email="compliance@counterparty.example",
name="Compliance desk",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.counterpartyContacts.create({
counterparty: "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
email: "compliance@counterparty.example",
name: "Compliance desk",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.CounterpartyContacts.Create(ctx, didit.TravelRuleCounterpartyContactCreate{
Counterparty: "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
Email: "compliance@counterparty.example",
Name: didit.String("Compliance desk"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleCounterpartyContactCreate;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().counterpartyContacts().create(TravelRuleCounterpartyContactCreate.builder()
.counterparty("0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91")
.email("compliance@counterparty.example")
.name("Compliance desk")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->counterpartyContacts->create([
'counterparty' => '0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91',
'email' => 'compliance@counterparty.example',
'name' => 'Compliance desk',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.counterparty_contacts.create(
counterparty: "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
email: "compliance@counterparty.example",
name: "Compliance desk"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.CounterpartyContacts.CreateAsync(new TravelRuleCounterpartyContactCreate
{
Counterparty = "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
Email = "compliance@counterparty.example",
Name = "Compliance desk",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "6c1f9b8e-2d4a-4f7e-8b3c-5a9d0e1f2a3b",
"counterparty": "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
"counterparty_name": "Example Counterparty VASP",
"email": "compliance@counterparty.example",
"name": "Compliance desk",
"source": "application",
"scope": "application",
"created_by": "",
"verified_at": null,
"is_invalid": false,
"invalid_reason": "",
"invalid_detail": "",
"invalid_at": null,
"created_at": "2026-10-19T09:00:00Z"
}{
"counterparty": [
"No directory entry with this id."
]
}Gegenpartei-Kontakt per API - Travel Rule E-Mail-Kanal
Mit Didit eine private Compliance-Adresse für eine Gegenpartei-VASP anlegen. Der Travel-Rule-E-Mail-Kanal schreibt zuerst an Ihre Kontakte.
curl -X POST https://verification.didit.me/v3/travel-rule/counterparty-contacts/ \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"counterparty": "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91", "email": "compliance@counterparty.example", "name": "Compliance desk"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.counterparty_contacts.create(
counterparty="0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
email="compliance@counterparty.example",
name="Compliance desk",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.counterpartyContacts.create({
counterparty: "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
email: "compliance@counterparty.example",
name: "Compliance desk",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.CounterpartyContacts.Create(ctx, didit.TravelRuleCounterpartyContactCreate{
Counterparty: "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
Email: "compliance@counterparty.example",
Name: didit.String("Compliance desk"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleCounterpartyContactCreate;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().counterpartyContacts().create(TravelRuleCounterpartyContactCreate.builder()
.counterparty("0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91")
.email("compliance@counterparty.example")
.name("Compliance desk")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->counterpartyContacts->create([
'counterparty' => '0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91',
'email' => 'compliance@counterparty.example',
'name' => 'Compliance desk',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.counterparty_contacts.create(
counterparty: "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
email: "compliance@counterparty.example",
name: "Compliance desk"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.CounterpartyContacts.CreateAsync(new TravelRuleCounterpartyContactCreate
{
Counterparty = "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
Email = "compliance@counterparty.example",
Name = "Compliance desk",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "6c1f9b8e-2d4a-4f7e-8b3c-5a9d0e1f2a3b",
"counterparty": "0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91",
"counterparty_name": "Example Counterparty VASP",
"email": "compliance@counterparty.example",
"name": "Compliance desk",
"source": "application",
"scope": "application",
"created_by": "",
"verified_at": null,
"is_invalid": false,
"invalid_reason": "",
"invalid_detail": "",
"invalid_at": null,
"created_at": "2026-10-19T09:00:00Z"
}{
"counterparty": [
"No directory entry with this id."
]
}Autorisierungen
Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.
Body
Antwort
Der Kontakt wurde hinzugefügt.
Eine Compliance-Adresse, an die der EMAIL-Kanal für einen Verzeichniseintrag schreibt.
Die id des Verzeichniseintrags, wie von GET /v3/travel-rule/vasps/ angezeigt.
Optionales Label, zum Beispiel der Teamname.
staff: Von Didit kuratiert. learned: Eine Adresse unter einer der eigenen Domains des VASP, die eine Anfrage über ihren Antwort-Link beantwortet hat. application: Von Ihrer Anwendung hinzugefügt.
staff, application, learned platform: von Didit kuratiert oder aus einer verifizierten Antwort gelernt, für jeden Didit-Kunden verwendet, für Sie schreibgeschützt. application: privat für Ihre Anwendung.
platform, application Leer bei Plattformkontakten und Kontakten, die über einen API-Schlüssel hinzugefügt wurden.
Wann diese Adresse zuletzt über ihren Antwortlink auf eine Anfrage geantwortet hat.
true, sobald für die Adresse ein Bounce oder eine Beschwerde verzeichnet wurde; der EMAIL-Kanal überspringt sie.
, hard_bounce, soft_bounce, spam_complaint, suppressed Der Grund des empfangenden Mailservers, sofern er einen angegeben hat.