curl -X GET 'https://verification.didit.me/v3/biometric-templates/?vendor_data=user-42&status=active' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.biometric_templates.list():
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.biometricTemplates.list()) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.BiometricTemplates.ListAutoPaging(ctx, didit.BiometricTemplatesListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.biometricTemplates().list()) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->biometricTemplates->list() as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.biometric_templates.list.auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.BiometricTemplates.ListAsync())
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
"vendor_user_uuid": "2f7c1a9e-8b4d-4c6a-9e1f-3d5b7a9c1e2f",
"vendor_data": "user-42",
"source_type": "session_delete",
"provenance_reference": "6b1e8d2f-4a3c-4f9e-8c7d-1a2b3c4d5e6f",
"retention_policy": "retain_until_user_deleted",
"retention_override": null,
"retained_at": "2026-08-28T10:15:42.318402Z",
"expires_at": "2027-08-28T10:15:42.318402Z",
"retained_by": "3c9e2b1f-7d4a-4e8b-9c1d-5f6a7b8c9d0e",
"retained_by_type": "API_KEY",
"instruction_class": "operational_session_delete",
"instruction_source": "api",
"instruction_id": "post-approval-cleanup-2026-08",
"held_out_of_use": false,
"status": "active",
"purged_at": null
}
]
}{
"retained_to": [
"Must be on or after retained_from."
]
}{
"detail": "You do not have permission to perform this action."
}قائمة القوالب البيومترية عبر API
GET /v3/biometric-templates/ — قائمة مرقّمة بقوالب الوجه البيومترية الخالية من الصور في Didit، مصفّاة حسب المستخدم والحالة والمصدر والتاريخ.
curl -X GET 'https://verification.didit.me/v3/biometric-templates/?vendor_data=user-42&status=active' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.biometric_templates.list():
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.biometricTemplates.list()) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.BiometricTemplates.ListAutoPaging(ctx, didit.BiometricTemplatesListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.biometricTemplates().list()) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->biometricTemplates->list() as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.biometric_templates.list.auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.BiometricTemplates.ListAsync())
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
"vendor_user_uuid": "2f7c1a9e-8b4d-4c6a-9e1f-3d5b7a9c1e2f",
"vendor_data": "user-42",
"source_type": "session_delete",
"provenance_reference": "6b1e8d2f-4a3c-4f9e-8c7d-1a2b3c4d5e6f",
"retention_policy": "retain_until_user_deleted",
"retention_override": null,
"retained_at": "2026-08-28T10:15:42.318402Z",
"expires_at": "2027-08-28T10:15:42.318402Z",
"retained_by": "3c9e2b1f-7d4a-4e8b-9c1d-5f6a7b8c9d0e",
"retained_by_type": "API_KEY",
"instruction_class": "operational_session_delete",
"instruction_source": "api",
"instruction_id": "post-approval-cleanup-2026-08",
"held_out_of_use": false,
"status": "active",
"purged_at": null
}
]
}{
"retained_to": [
"Must be on or after retained_from."
]
}{
"detail": "You do not have permission to perform this action."
}معاملات الاستعلام
| المعامل | النوع | الوصف |
|---|---|---|
vendor_data | string | مطابقة جزئية لا تراعي حالة الأحرف مع القيمة الحالية لـ vendor_data الخاصة بالمستخدم المالك |
vendor_user_uuid | UUID | مطابقة تامة مع المستخدم المالك |
status | enum | pending، active، expired، held_out_of_use، purge_pending، purge_failed |
source_type | enum | session_delete، automatic_retention، backfill |
retained_from | datetime | القوالب المحتفَظ بها في هذا الوقت أو بعده |
retained_to | datetime | القوالب المحتفَظ بها في هذا الوقت أو قبله. يجب ألا يكون أبكر من retained_from. |
ordering | enum | retained_at، -retained_at (الافتراضي)، expires_at، -expires_at |
limit | integer | حجم الصفحة |
offset | integer | إزاحة الترقيم |
مثال
curl -X GET "https://verification.didit.me/v3/biometric-templates/?vendor_data=user-42&status=active" \
-H "x-api-key: YOUR_API_KEY"
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
"vendor_user_uuid": "2f7c1a9e-8b4d-4c6a-9e1f-3d5b7a9c1e2f",
"vendor_data": "user-42",
"source_type": "session_delete",
"provenance_reference": "6b1e8d2f-4a3c-4f9e-8c7d-1a2b3c4d5e6f",
"retention_policy": "retain_until_user_deleted",
"retention_override": null,
"retained_at": "2026-08-28T10:15:42.318402Z",
"expires_at": "2027-08-28T10:15:42.318402Z",
"retained_by": "3c9e2b1f-7d4a-4e8b-9c1d-5f6a7b8c9d0e",
"retained_by_type": "API_KEY",
"instruction_class": "operational_session_delete",
"instruction_source": "api",
"instruction_id": "post-approval-cleanup-2026-08",
"held_out_of_use": false,
"status": "active",
"purged_at": null
}
]
}
الأخطاء
| الحالة | متى |
|---|---|
400 | قيمة تصفية غير صالحة، أو retained_to أبكر من retained_from |
403 | رمز مستخدم لوحة التحكم، أو أن مفتاح API غير مسموح له بهذا الطلب |
التفويضات
مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console. يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير 404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع https://docs.didit.me/console/api-keys.
معلمات الاستعلام
تطابق لسلسلة فرعية غير حساس لحالة الأحرف في vendor_data الحالي للمستخدم المالك.
تطابق تام في المستخدم المالك.
حالة دورة الحياة. لا يتم إدراج القوالب التي تم حذفها نهائياً.
pending, active, expired, held_out_of_use, purge_pending, purge_failed كيفية إنشاء القالب.
session_delete, automatic_retention, backfill القوالب التي تم الاحتفاظ بها في هذا الوقت أو بعده.
القوالب التي تم الاحتفاظ بها في هذا الوقت أو قبله. يجب ألا يسبق retained_from (400).
ترتيب الفرز.
retained_at, -retained_at, expires_at, -expires_at حجم الصفحة.
إزاحة التقسيم إلى صفحات.