curl -X POST 'https://verification.didit.me/v3/lists/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Trusted office IPs",
"description": "Office egress ranges",
"list_type": "allowlist",
"entry_type": "ip_address"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.lists.create(
name="Trusted office IPs",
description="Office egress ranges",
list_type="allowlist",
entry_type="ip_address",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.lists.create({
name: "Trusted office IPs",
description: "Office egress ranges",
list_type: "allowlist",
entry_type: "ip_address",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Lists.Create(ctx, didit.ListsCreateParams{
Name: "Trusted office IPs",
Description: didit.String("Office egress ranges"),
ListType: "allowlist",
EntryType: "ip_address",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.ListsCreateParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.lists().create(ListsCreateParams.builder()
.name("Trusted office IPs")
.description("Office egress ranges")
.listType(ListsCreateParams.ListType.of("allowlist"))
.entryType(ListsCreateParams.EntryType.of("ip_address"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->lists->create([
'name' => 'Trusted office IPs',
'description' => 'Office egress ranges',
'list_type' => 'allowlist',
'entry_type' => 'ip_address',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.lists.create(
name: "Trusted office IPs",
description: "Office egress ranges",
list_type: "allowlist",
entry_type: "ip_address"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Lists.CreateAsync(new ListsCreateParams
{
Name = "Trusted office IPs",
Description = "Office egress ranges",
ListType = "allowlist",
EntryType = "ip_address",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "22222222-3333-4444-5555-666666666666",
"name": "Trusted office IPs",
"description": "Office egress ranges",
"list_type": "allowlist",
"entry_type": "ip_address",
"is_system": false,
"entry_count": 0,
"last_entry_added_at": null,
"created_at": "2026-10-12T09:15:44.031876Z",
"updated_at": "2026-10-12T09:15:44.031876Z"
}API para crear listas de permitidos y personalizadas
POST /v3/lists/: crea una lista de permitidos o personalizada en tu aplicación de Didit. Las listas de bloqueo se crean solas. Pago por llamada.
curl -X POST 'https://verification.didit.me/v3/lists/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Trusted office IPs",
"description": "Office egress ranges",
"list_type": "allowlist",
"entry_type": "ip_address"
}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.lists.create(
name="Trusted office IPs",
description="Office egress ranges",
list_type="allowlist",
entry_type="ip_address",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.lists.create({
name: "Trusted office IPs",
description: "Office egress ranges",
list_type: "allowlist",
entry_type: "ip_address",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Lists.Create(ctx, didit.ListsCreateParams{
Name: "Trusted office IPs",
Description: didit.String("Office egress ranges"),
ListType: "allowlist",
EntryType: "ip_address",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.ListsCreateParams;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.lists().create(ListsCreateParams.builder()
.name("Trusted office IPs")
.description("Office egress ranges")
.listType(ListsCreateParams.ListType.of("allowlist"))
.entryType(ListsCreateParams.EntryType.of("ip_address"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->lists->create([
'name' => 'Trusted office IPs',
'description' => 'Office egress ranges',
'list_type' => 'allowlist',
'entry_type' => 'ip_address',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.lists.create(
name: "Trusted office IPs",
description: "Office egress ranges",
list_type: "allowlist",
entry_type: "ip_address"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Lists.CreateAsync(new ListsCreateParams
{
Name = "Trusted office IPs",
Description = "Office egress ranges",
ListType = "allowlist",
EntryType = "ip_address",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"uuid": "22222222-3333-4444-5555-666666666666",
"name": "Trusted office IPs",
"description": "Office egress ranges",
"list_type": "allowlist",
"entry_type": "ip_address",
"is_system": false,
"entry_count": 0,
"last_entry_added_at": null,
"created_at": "2026-10-12T09:15:44.031876Z",
"updated_at": "2026-10-12T09:15:44.031876Z"
}allowlist y custom: Didit aprovisiona una lista de bloqueo del sistema por cada tipo de entrada, y tú le añades entradas con Crear entrada.
Elige entry_type con cuidado: no se puede cambiar después y determina cómo se valida cada valor cuando lo añades. Consulta Listas para ver qué hace cada tipo de lista.Autorizaciones
La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.
Cuerpo
Nombre de la lista. Debe ser distinto del nombre de cualquier otra lista de la aplicación, incluidas las listas del sistema.
1 - 255allowlist o custom. blocklist se rechaza con 400.
allowlist, custom Qué contiene la lista: face, document (número de documento), phone, email, ip_address (dirección IP o rango CIDR), device_fingerprint, wallet_address, bank_account, country (ISO 3166-1 alfa-3), user o business (tu vendor_data), o key (cualquier cadena). Determina cómo se validan y comparan los valores de las entradas. No se puede cambiar después.
face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, country, user, business, key Descripción opcional en texto libre.
Respuesta
La lista se creó.
Una lista de bloqueo, lista de permitidos o lista personalizada de una aplicación.
Identificador de la lista. Úsalo como list_uuid en los endpoints de listas y de entradas, y como valor de una condición de regla de flujo o de transacción con value_type: "list".
Nombre de la lista, único entre las listas de la aplicación.
255Descripción en texto libre. Cadena vacía cuando no está definida.
blocklist: una coincidencia rechaza la sesión o la transacción (solo listas del sistema, una por tipo de entrada). allowlist: los elementos que coinciden se consideran de confianza; por ejemplo, una lista de permitidos de rostros omite la acción de rostro duplicado; nunca anula una coincidencia de una lista de bloqueo. custom: se usa en las condiciones de las reglas de flujos y de transacciones (value_type: "list").
blocklist, allowlist, custom Qué contiene la lista: face, document (número de documento), phone, email, ip_address (dirección IP o rango CIDR), device_fingerprint, wallet_address, bank_account, country (ISO 3166-1 alfa-3), user o business (tu vendor_data), o key (cualquier cadena). Determina cómo se validan y comparan los valores de las entradas.
face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, country, user, business, key true para las listas que crea Didit: una lista de bloqueo por tipo de entrada (face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, user, business), la lista personalizada High Risk Countries y las listas de permitidos del sistema. Las listas del sistema no se pueden renombrar, editar ni eliminar; puedes añadir y eliminar sus entradas.
Número de entradas que hay actualmente en la lista.
x >= 0Fecha y hora en que se añadió la entrada vigente más reciente. null si la lista está vacía.
Fecha y hora en que se creó la lista.
Fecha y hora de la última actualización de la lista.