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."
]
}Tambah Kontak Pihak Lawan API - Jalur Email Travel Rule
Tambahkan alamat kepatuhan privat untuk VASP pihak lawan. Jalur email Travel Rule Didit mengirim ke kontak Anda dulu, sebelum kontak platform.
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."
]
}Otorisasi
Kunci API aplikasi Anda, dari Developers -> API keys di Business Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat https://docs.didit.me/console/api-keys.
Body
Respons
Kontak telah ditambahkan.
Alamat kepatuhan yang dikirimi pesan oleh rel EMAIL untuk satu entri direktori.
Nilai id entri direktori, sebagaimana ditampilkan oleh GET /v3/travel-rule/vasps/.
Label opsional, misalnya nama tim.
staff: dikurasi oleh Didit. learned: alamat di salah satu domain milik VASP yang menjawab permintaan melalui tautan responsnya. application: ditambahkan oleh aplikasi Anda.
staff, application, learned platform: dikurasi oleh Didit atau dipelajari dari jawaban terverifikasi, digunakan untuk setiap pelanggan Didit, hanya dapat dibaca oleh Anda. application: privat untuk aplikasi Anda.
platform, application Kosong untuk kontak platform dan untuk kontak yang ditambahkan oleh kunci API.
Kapan alamat ini terakhir kali menjawab permintaan melalui tautan responsnya.
true setelah alamat mengalami bounce atau mengajukan komplain; jalur EMAIL akan melewatinya.
, hard_bounce, soft_bounce, spam_complaint, suppressed Alasan dari server email penerima, jika ada.