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: Allowlist и кастомный список
POST /v3/lists/: создание allowlist или кастомного списка в Didit. Системные blocklist создаются автоматически. Оплата за вызов, без контрактов.
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 и custom: Didit создаёт один системный список блокировки для каждого типа записей, и вы добавляете в него записи с помощью Создать запись.
Выбирайте entry_type внимательно: его нельзя изменить позже, и от него зависит, как будет проверяться каждое значение при добавлении. См. Списки, чтобы узнать, что делает каждый тип списка.Авторизации
API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.
Тело
Название списка. Должно отличаться от названий всех остальных списков приложения, включая системные списки.
1 - 255allowlist или custom. blocklist отклоняется с кодом 400.
allowlist, custom Что содержит список: face, document (номер документа), phone, email, ip_address (IP-адрес или диапазон CIDR), device_fingerprint, wallet_address, bank_account, country (ISO 3166-1 alpha-3), user или business (ваши vendor_data), либо key (любая строка). Это определяет, как проверяются и сопоставляются значения записей. Его нельзя изменить позже.
face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, country, user, business, key Необязательное текстовое описание в свободной форме.
Ответ
Список создан.
Список блокировки, список разрешений или кастомный список одного приложения.
Идентификатор списка. Используйте его как list_uuid в endpoint'ах списков и записей, а также как значение условия правила сценария или правила транзакции с value_type: "list".
Название списка, уникальное среди списков приложения.
255Описание в виде произвольного текста. Пустая строка, если не задано.
blocklist: совпадение отклоняет сессию или транзакцию (только системные списки, по одному на каждый тип записи). allowlist: совпадающие элементы считаются доверенными, например список разрешённых лиц пропускает действие при обнаружении дубликата лица; никогда не переопределяет совпадение со списком блокировки. custom: используется в условиях правил сценария и транзакций (value_type: "list").
blocklist, allowlist, custom Что содержит список: face, document (номер документа), phone, email, ip_address (IP-адрес или диапазон CIDR), device_fingerprint, wallet_address, bank_account, country (ISO 3166-1 alpha-3), user или business (ваши vendor_data), либо key (любая строка). Это определяет, как проверяются и сопоставляются значения записей.
face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, country, user, business, key true для списков, предоставляемых Didit: по одному списку блокировки на каждый тип записи (face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, user, business), пользовательский список High Risk Countries и системные белые списки. Системные списки нельзя переименовывать, редактировать или удалять; вы можете добавлять и удалять их записи.
Количество записей, находящихся в списке в данный момент.
x >= 0Время добавления самой новой текущей записи. null для пустого списка.
Время создания списка.
Время последнего обновления списка.