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."
]
}Crea contatto controparte via API - Travel Rule
Aggiungi con Didit un indirizzo di compliance privato per una VASP controparte. Il canale email Travel Rule scrive prima sui tuoi contatti.
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."
]
}Autorizzazioni
La chiave API della tua applicazione, da Developers -> API keys nella Business Console. La chiave primaria ha accesso completo. Una chiave con nome può avere un ambito definito: nessuno, lettura o scrittura per risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco di indirizzi IP e a una data di scadenza. 401 indica che la chiave è errata, revocata o scaduta; 403 indica che non è stata inviata alcuna chiave, che la chiave non ha accesso a questa risorsa o azione, oppure che la richiesta proviene da un indirizzo non incluso nel suo elenco IP; 404 su una route di sessione indica che la sessione non rientra nei workflow o negli stati previsti dalla chiave. Una chiave senza accesso ai media riceve gli URL di immagini, video e PDF come null, e una chiave senza permessi di scrittura sulle sessioni riceve link e token di sessione come null. Consulta https://docs.didit.me/console/api-keys.
Corpo
Risposta
Il contatto è stato aggiunto.
Un indirizzo di compliance a cui la via EMAIL scrive per una voce della directory.
L'id della voce della directory, come mostrato da GET /v3/travel-rule/vasps/.
Etichetta opzionale, ad esempio il nome del team.
staff: curato da Didit. learned: un indirizzo presso uno dei domini propri del VASP che ha risposto a una richiesta tramite il relativo link di risposta. application: aggiunto dalla tua applicazione.
staff, application, learned platform: curato da Didit o appreso da una risposta verificata, utilizzato per ogni cliente Didit, in sola lettura per te. application: privato per la tua applicazione.
platform, application Vuoto per i contatti della piattaforma e per i contatti aggiunti da una chiave API.
Quando questo indirizzo ha risposto l'ultima volta a una richiesta tramite il relativo link di risposta.
true quando l'indirizzo ha generato un bounce o un reclamo; il rail EMAIL lo salta.
, hard_bounce, soft_bounce, spam_complaint, suppressed Il motivo fornito dal server di posta ricevente, se disponibile.