> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# बायोमेट्रिक टेम्पलेट सूची API

> Didit का GET /v3/biometric-templates/ आपके द्वारा रखे गए इमेज-मुक्त चेहरा टेम्पलेट की पेजिनेटेड सूची देता है; उपयोगकर्ता, स्थिति, स्रोत और तिथि से फ़िल्टर करें।

Devuelve una lista paginada de las plantillas biométricas que tu aplicación conserva actualmente. Las plantillas purgadas no aparecen en la lista.

## Parámetros de consulta

| Parámetro | Tipo | Descripción |
| - | - | - |
| `vendor_data` | string | Coincidencia de subcadena sin distinguir mayúsculas de minúsculas sobre el `vendor_data` actual del usuario propietario |
| `vendor_user_uuid` | UUID | Coincidencia exacta con el usuario propietario |
| `status` | enum | `pending`, `active`, `expired`, `held_out_of_use`, `purge_pending`, `purge_failed` |
| `source_type` | enum | `session_delete`, `automatic_retention`, `backfill` |
| `retained_from` | datetime | Plantillas conservadas en o después de este momento |
| `retained_to` | datetime | Plantillas conservadas en o antes de este momento. No debe ser anterior a `retained_from`. |
| `ordering` | enum | `retained_at`, `-retained_at` (predeterminado), `expires_at`, `-expires_at` |
| `limit` | integer | Tamaño de página |
| `offset` | integer | Desplazamiento de paginación |

## Ejemplo

```bash theme={null}
curl -X GET "https://verification.didit.me/v3/biometric-templates/?vendor_data=user-42&status=active" \
  -H "x-api-key: YOUR_API_KEY"
```

```json theme={null}
{
  "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
    }
  ]
}
```

Consulta la [visión general](https://docs.didit.me/hi/management-api/biometric-templates/overview.md#टेम्पलेट-ऑब्जेक्ट) para ver todos los campos.

## Errores

| Estado | Cuándo |
| - | - |
| `400` | Valor de filtro no válido, o `retained_to` anterior a `retained_from` |
| `403` | Token de usuario de la consola, o la clave de API no tiene permiso |


## OpenAPI

````yaml hi/openapi-25.json GET /v3/biometric-templates/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: पहचान सत्यापन API। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/biometric-templates/:
    get:
      tags:
        - Biometric Templates
      summary: प्रतिधारित बायोमेट्रिक टेम्पलेट सूचीबद्ध करें
      description: >-
        एक ऑप्ट-इन एप्लिकेशन सत्र हटाए जाने पर उपयोगकर्ता से जुड़े एक अलग से
        प्रबंधित, छवि-मुक्त फ़ेस बायोमेट्रिक टेम्पलेट को रखता है (`DELETE
        /v3/session/{sessionId}/delete/` देखें)। टेम्पलेट बायोमेट्रिक डेटा होते
        हैं, जिनका `expires_at` सीमित होता है; उनमें कभी भी छवियां, सत्र डेटा या
        पहचान फ़ील्ड नहीं होते हैं, और उन्हें उपयोगकर्ता हटाए जाने, गोपनीयता
        मिटाने, समय-सीमा समाप्त होने या स्पष्ट पर्ज पर पर्ज कर दिया जाता है। ये
        endpoint केवल एप्लिकेशन API कुंजी (`x-api-key`) स्वीकार करते हैं;
        Business Console उपयोगकर्ता टोकन को `403` के साथ अस्वीकार कर दिया जाता
        है।


        एप्लिकेशन के पास वर्तमान में मौजूद टेम्पलेट्स की एक पेजिनेटेड सूची
        लौटाता है। पर्ज किए गए टेम्पलेट्स सूचीबद्ध नहीं होते हैं।
      operationId: list_biometric_templates
      parameters:
        - in: query
          name: vendor_data
          required: false
          description: >-
            मालिक उपयोगकर्ता के वर्तमान `vendor_data` पर केस-इनसेंसिटिव
            सबस्ट्रिंग मिलान।
          schema:
            type: string
        - in: query
          name: vendor_user_uuid
          required: false
          description: स्वामी उपयोगकर्ता पर सटीक मिलान।
          schema:
            type: string
            format: uuid
        - in: query
          name: status
          required: false
          description: लाइफ़साइकिल स्थिति। हटाए गए टेम्पलेट कभी सूचीबद्ध नहीं किए जाते हैं।
          schema:
            type: string
            enum:
              - pending
              - active
              - expired
              - held_out_of_use
              - purge_pending
              - purge_failed
        - in: query
          name: source_type
          required: false
          description: टेम्पलेट कैसे बनाया गया था।
          schema:
            type: string
            enum:
              - session_delete
              - automatic_retention
              - backfill
        - in: query
          name: retained_from
          required: false
          description: इस समय या इसके बाद बनाए रखे गए टेम्पलेट।
          schema:
            type: string
            format: date-time
        - in: query
          name: retained_to
          required: false
          description: >-
            इस समय या इससे पहले बनाए रखे गए टेम्पलेट। यह `retained_from` (`400`)
            से पहले का नहीं होना चाहिए।
          schema:
            type: string
            format: date-time
        - in: query
          name: ordering
          required: false
          description: सॉर्ट क्रम।
          schema:
            type: string
            enum:
              - retained_at
              - '-retained_at'
              - expires_at
              - '-expires_at'
            default: '-retained_at'
        - in: query
          name: limit
          required: false
          description: पेज का आकार।
          schema:
            type: integer
        - in: query
          name: offset
          required: false
          description: पेजिनेशन ऑफ़सेट।
          schema:
            type: integer
      responses:
        '200':
          description: पेजिनेटेड टेम्पलेट।
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    nullable: true
                  previous:
                    type: string
                    nullable: true
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          format: uuid
                          description: >-
                            टेम्पलेट id। रैंडम रूप से जनरेट किया गया; हटाए गए
                            सत्र या उसके चेहरे से व्युत्पन्न नहीं।
                        vendor_user_uuid:
                          type: string
                          format: uuid
                          description: स्वामित्व वाला उपयोगकर्ता।
                        vendor_data:
                          type: string
                          nullable: true
                          description: >-
                            उपयोगकर्ता का वर्तमान `vendor_data`, जो तब रिज़ॉल्व
                            होता है जब आप टेम्पलेट पढ़ते हैं (कभी कॉपी नहीं किया
                            जाता)।
                        source_type:
                          type: string
                          enum:
                            - session_delete
                            - automatic_retention
                            - backfill
                          description: >-
                            टेम्पलेट कैसे बनाया गया था: सत्र विलोपन (API या
                            Console), एप्लिकेशन की स्वचालित डेटा प्रतिधारण
                            विंडो, या आपके द्वारा निर्देशित Didit-संचालित
                            बैकफ़िल।
                        provenance_reference:
                          type: string
                          format: uuid
                          description: >-
                            टेम्पलेट को उसके ऑडिट लॉग से जोड़ने वाला अपारदर्शी
                            संदर्भ। यह हटाए गए सत्र की ID नहीं है और इसे उस सत्र
                            की ID में resolve नहीं किया जा सकता है।
                        retention_policy:
                          type: string
                          enum:
                            - delete_with_session
                            - retain_until_user_deleted
                          description: प्रतिधारण समय पर एप्लिकेशन नीति।
                        retention_override:
                          type: boolean
                          nullable: true
                          description: >-
                            विलोपन पर भेजा गया `retain_face_embeddings` मान, या
                            नीति लागू होने पर `null`।
                        retained_at:
                          type: string
                          format: date-time
                        expires_at:
                          type: string
                          format: date-time
                          description: >-
                            टेम्पलेट कब समाप्त होता है और स्वचालित रूप से हटा
                            दिया जाता है। हमेशा सेट रहता है।
                        retained_by:
                          type: string
                          nullable: true
                          description: >-
                            निर्देश देने वाला प्रिंसिपल: API कुंजियों के लिए
                            एप्लिकेशन आईडी, कंसोल कार्रवाइयों के लिए कंसोल सदस्य
                            आईडी, या स्वचालित प्रतिधारण के लिए एक `service:`
                            पहचानकर्ता। कभी भी ईमेल पता नहीं।
                        retained_by_type:
                          type: string
                          enum:
                            - API_KEY
                            - CONSOLE_USER
                            - SYSTEM
                        instruction_class:
                          type: string
                          enum:
                            - operational_session_delete
                            - privacy_erasure
                        instruction_source:
                          type: string
                          enum:
                            - api
                            - console
                            - automatic_retention
                            - backfill
                            - privacy_erasure
                            - explicit_template_purge
                            - vendor_user_delete
                            - expiry
                            - reconciliation
                            - migration
                            - system
                        instruction_id:
                          type: string
                          description: >-
                            विलोपन पर भेजा गया `instruction_id`, या Didit द्वारा
                            जनरेट किया गया id।
                        held_out_of_use:
                          type: boolean
                          description: >-
                            `true` केवल तभी जब कानूनी रोक लागू हो। रोके गए
                            टेम्पलेट को सभी मिलानों से बाहर रखा जाता है।
                        status:
                          type: string
                          enum:
                            - pending
                            - active
                            - expired
                            - held_out_of_use
                            - purge_pending
                            - purge_failed
                            - purged
                          description: >-
                            केवल `active` टेम्पलेट जो होल्ड पर नहीं हैं, जिनकी
                            `expires_at` समाप्त नहीं हुई है, और जिनका उपयोगकर्ता
                            अभी भी मौजूद है, मिलान में भाग लेते हैं।
                        purged_at:
                          type: string
                          format: date-time
                          nullable: true
              examples:
                One active template:
                  value:
                    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':
          description: >-
            अमान्य फ़िल्टर मान, या `retained_from` से पहले का `retained_to`।
            फ़ील्ड-कीड सत्यापन त्रुटियाँ।
          content:
            application/json:
              examples:
                Bad range:
                  value:
                    retained_to:
                      - Must be on or after retained_from.
        '403':
          description: >-
            कंसोल उपयोगकर्ता token, या API कुंजी की अनुमति नहीं है। ये endpoints
            केवल एप्लिकेशन API कुंजियों को स्वीकार करते हैं।
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/biometric-templates/?vendor_data=user-42&status=active'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.biometric_templates.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            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);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.BiometricTemplates.ListAutoPaging(ctx, didit.BiometricTemplatesListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.biometricTemplates().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?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());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.biometric_templates.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: >-
            using 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));
            }
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.