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."
}Biometrische Templates per API auflisten
GET /v3/biometric-templates/ listet paginiert gespeicherte bildfreie Gesichts-Templates in Didit, filterbar nach Benutzer, Status, Quelle, Datum.
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."
}Abfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
vendor_data | string | Groß- und Kleinschreibung wird nicht beachtet. Sucht nach einem Teilstring im aktuellen vendor_data des zugehörigen Benutzers |
vendor_user_uuid | UUID | Exakte Übereinstimmung mit dem zugehörigen Benutzer |
status | enum | pending, active, expired, held_out_of_use, purge_pending, purge_failed |
source_type | enum | session_delete, automatic_retention, backfill |
retained_from | datetime | Templates, die zu diesem Zeitpunkt oder danach aufbewahrt wurden |
retained_to | datetime | Templates, die zu diesem Zeitpunkt oder davor aufbewahrt wurden. Darf nicht früher liegen als retained_from. |
ordering | enum | retained_at, -retained_at (Standard), expires_at, -expires_at |
limit | integer | Seitengröße |
offset | integer | Pagination-Offset |
Beispiel
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
}
]
}
Fehler
| Status | Wann |
|---|---|
400 | Ungültiger Filterwert oder retained_to liegt früher als retained_from |
403 | Token eines Konsolenbenutzers oder der API-Schlüssel ist nicht berechtigt |
Autorisierungen
Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.
Abfrageparameter
Teilstring-Übereinstimmung ohne Berücksichtigung von Groß-/Kleinschreibung im aktuellen vendor_data des zugehörigen Benutzers.
Exakte Übereinstimmung mit dem zugehörigen Benutzer.
Lebenszyklusstatus. Bereinigte Vorlagen werden niemals aufgeführt.
pending, active, expired, held_out_of_use, purge_pending, purge_failed Wie die Vorlage erstellt wurde.
session_delete, automatic_retention, backfill Vorlagen, die zu oder nach diesem Zeitpunkt aufbewahrt wurden.
Vorlagen, die zu oder vor diesem Zeitpunkt aufbewahrt wurden. Darf nicht vor retained_from liegen (400).
Sortierreihenfolge.
retained_at, -retained_at, expires_at, -expires_at Seitengröße.
Paginierungs-Offset.