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:許可リストとカスタムリスト
POST /v3/lists/ でDiditアプリケーションに新しい許可リストまたはカスタムリストを作成します。システムのブロックリストは自動で用意されます。呼び出しごとの従量課金で契約不要。
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はエントリータイプごとにシステムのブロックリストを1つ用意しており、そこへの追加はエントリーの作成で行います。
entry_typeは慎重に選んでください。後から変更することはできず、追加する各値がどのように検証されるかを決定します。各リストタイプの役割についてはリストを参照してください。承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLが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 任意の自由記述の説明です。
レスポンス
リストが作成されました。
1つのアプリケーションのブロックリスト、許可リスト、またはカスタムリスト。
リストの識別子です。リストおよびエントリのエンドポイントではlist_uuidとして使用し、value_type: "list"のワークフローまたは取引ルールの条件では値として使用します。
リスト名です。アプリケーションのリスト内で一意です。
255自由記述の説明。未設定の場合は空文字列です。
blocklist:一致するとセッションまたは取引が却下されます(システムリストのみ、エントリタイプごとに1つ)。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 Diditが用意するリストではtrueです。対象は、エントリタイプごとに1つずつ用意されるブロックリスト(face、document、phone、email、ip_address、device_fingerprint、wallet_address、bank_account、user、business)、High Risk Countriesカスタムリスト、およびシステム許可リストです。システムリストは名前の変更、編集、削除ができません。エントリの追加と削除は可能です。
現在リストに含まれるエントリー数。
x >= 0最新の現行エントリが追加された日時。空のリストではnullです。
リストが作成された日時。
リストが最後に更新された日時。