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."
}Llistar plantilles biomètriques: API
Didit: llista paginada de plantilles biomètriques facials sense imatge, filtrable per usuari, estat, origen i data (GET /v3/biometric-templates/).
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."
}Paràmetres de consulta
| Paràmetre | Tipus | Descripció |
|---|---|---|
vendor_data | string | Coincidència de subcadena sense distinció entre majúscules i minúscules amb el vendor_data actual de l’usuari titular |
vendor_user_uuid | UUID | Coincidència exacta amb l’usuari titular |
status | enum | pending, active, expired, held_out_of_use, purge_pending, purge_failed |
source_type | enum | session_delete, automatic_retention, backfill |
retained_from | datetime | Plantilles conservades en aquest moment o després |
retained_to | datetime | Plantilles conservades en aquest moment o abans. No pot ser anterior a retained_from. |
ordering | enum | retained_at, -retained_at (per defecte), expires_at, -expires_at |
limit | enter | Mida de pàgina |
offset | enter | Desplaçament de paginació |
Exemple
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
}
]
}
Errors
| Estat | Quan |
|---|---|
400 | Valor de filtre no vàlid o retained_to anterior a retained_from |
403 | Token d’usuari de la consola, o la clau d’API no està permesa |
Autoritzacions
La clau d'API de la teva aplicació, des de Developers -> API keys a la Business Console. La clau primària té accés complet. Una clau amb nom pot tenir l'abast limitat: cap, lectura o escriptura per recurs, limitada a determinats fluxos de treball o a sessions aprovades, a una llista d'adreces IP i a una data de caducitat. 401 significa que la clau és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap clau, que la clau no té accés a aquest recurs o acció, o que la sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una ruta de sessió significa que la sessió està fora dels fluxos de treball o estats de la clau. Una clau sense accés a fitxers multimèdia rep els URL d'imatge, vídeo i PDF com a null, i una clau sense permís d'escriptura de sessions rep els enllaços de sessió i els tokens com a null. Consulta https://docs.didit.me/console/api-keys.
Paràmetres de consulta
Coincidència de subcadena que no distingeix majúscules de minúscules al vendor_data actual de l'usuari propietari.
Coincidència exacta amb l'usuari propietari.
Estat del cicle de vida. Les plantilles purgades mai no es llisten.
pending, active, expired, held_out_of_use, purge_pending, purge_failed Com es va crear la plantilla.
session_delete, automatic_retention, backfill Plantilles conservades en aquest moment o després.
Plantilles conservades en aquest moment o abans. No pot ser anterior a retained_from (400).
Criteri d'ordenació.
retained_at, -retained_at, expires_at, -expires_at Mida de la pàgina.
Desplaçament de paginació.