curl -X GET https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/ \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.biometric_templates.retrieve(
"9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.biometricTemplates.retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.BiometricTemplates.Retrieve(ctx, "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.biometricTemplates().retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->biometricTemplates->retrieve('9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.biometric_templates.retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.BiometricTemplates.RetrieveAsync("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");
Console.WriteLine(JsonSerializer.Serialize(result));{
"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
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Biometric template not found."
}Получение биометрического шаблона через API
GET /v3/biometric-templates// — получить шаблон лица Didit: пользователь, происхождение, срок действия, статус.
curl -X GET https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/ \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.biometric_templates.retrieve(
"9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.biometricTemplates.retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.BiometricTemplates.Retrieve(ctx, "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.biometricTemplates().retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->biometricTemplates->retrieve('9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.biometric_templates.retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.BiometricTemplates.RetrieveAsync("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b");
Console.WriteLine(JsonSerializer.Serialize(result));{
"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
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Biometric template not found."
}biometric_template_uuid, возвращённый методом Удаление сессии, biometric_template_id при совпадении в результате Поиска по лицу, или идентификатор из списка.
curl -X GET https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/ \
-H "x-api-key: YOUR_API_KEY"
{
"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
}
Ошибки
| Статус | Когда | Тело |
|---|---|---|
403 | Токен пользователя консоли или у API-ключа нет необходимых разрешений | {"detail": "You do not have permission to perform this action."} |
404 | Неизвестный шаблон, шаблон другого приложения или безвозвратно удалённый шаблон | {"detail": "Biometric template not found."} |
Авторизации
API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.
Параметры пути
Идентификатор шаблона, возвращаемый в biometric_template_uuid endpoint'ами удаления сессии, biometric_template_id при совпадении в Поиске по лицу или endpoint'ом списка.
"9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b"
Ответ
Шаблон.
Идентификатор шаблона. Генерируется случайным образом; не выводится из удаленной сессии или ее лица.
Пользователь-владелец.
Текущие vendor_data пользователя, вычисляемые при чтении шаблона (никогда не копируются).
Способ создания шаблона: удаление сессии (через API или Console), окно автоматического хранения данных приложения или инициированное вами фоновое заполнение силами Didit.
session_delete, automatic_retention, backfill Непрозрачная ссылка, связывающая шаблон с его журналом аудита. Она не является идентификатором удалённой сессии и не может быть сопоставлена с ним.
Политика приложения на момент применения правил хранения данных.
delete_with_session, retain_until_user_deleted Значение retain_face_embeddings, отправленное при удалении, или null, если была применена политика.
Время истечения срока действия шаблона и его автоматического удаления. Задаётся всегда.
Субъект, отдавший распоряжение: ID приложения для API-ключей, ID участника Console для действий в Console или идентификатор service: для автоматического хранения данных. Никогда не является адресом электронной почты.
API_KEY, CONSOLE_USER, SYSTEM operational_session_delete, privacy_erasure api, console, automatic_retention, backfill, privacy_erasure, explicit_template_purge, vendor_user_delete, expiry, reconciliation, migration, system Параметр instruction_id, отправленный при удалении, или сгенерированный Didit id.
true только во время действия юридического удержания. Удержанный шаблон исключается из всех сопоставлений.
В сопоставлении участвуют только шаблоны со статусом active, которые не приостановлены, чей срок expires_at не истёк и чей пользователь всё ещё существует.
pending, active, expired, held_out_of_use, purge_pending, purge_failed, purged