> ## 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 Management API로 보관 중인 얼굴 생체 인식 템플릿 하나를 소유 사용자, 출처, 만료일, 상태와 함께 조회합니다. GET /v3/biometric-templates/{template_uuid}/

생체 인식 템플릿 하나를 반환합니다. [세션 삭제](https://docs.didit.me/ko/sessions-api/delete-session.md) 응답에서 반환된 `biometric_template_uuid`, [얼굴 검색](https://docs.didit.me/ko/core-technology/face-search/report-face-search.md) 일치 항목의 `biometric_template_id`, 또는 [목록](https://docs.didit.me/ko/management-api/biometric-templates/list.md)의 ID를 사용하십시오.

```bash theme={null}
curl -X GET https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/ \
  -H "x-api-key: YOUR_API_KEY"
```

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

응답에는 이미지, 벡터, 삭제된 세션의 ID, 신원 데이터가 절대 포함되지 않습니다. 모든 필드는 [개요](https://docs.didit.me/ko/management-api/biometric-templates/overview.md#템플릿-객체)를 참조하십시오.

## 오류

| 상태 | 발생 시점 | 본문 |
| - | - | - |
| `403` | 콘솔 사용자 토큰이거나 API 키가 허용되지 않은 경우 | `{"detail": "You do not have permission to perform this action."}` |
| `404` | 알 수 없는 템플릿, 다른 애플리케이션의 템플릿, 또는 영구 삭제된 템플릿인 경우 | `{"detail": "Biometric template not found."}` |


## OpenAPI

````yaml ko/openapi-25.json GET /v3/biometric-templates/{template_uuid}/
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/{template_uuid}/:
    get:
      tags:
        - Biometric Templates
      summary: 보존된 생체 인식 템플릿 조회
      description: >-
        옵트인된 애플리케이션은 세션이 삭제될 때 사용자에 연결된 별도로 관리되는 이미지가 없는 얼굴 생체 인식 템플릿 하나를
        유지합니다(`DELETE /v3/session/{sessionId}/delete/` 참조). 템플릿은 유한한
        `expires_at`을 가진 생체 인식 데이터입니다. 이미지, 세션 데이터 또는 신원 필드를 절대 포함하지 않으며, 사용자
        삭제, 프라이버시 삭제, 만료 또는 명시적 영구 삭제 시 제거됩니다. 이 endpoint들은 애플리케이션 API
        키(`x-api-key`)만 허용하며, Business Console 사용자 token은 `403`으로 거부됩니다.


        템플릿 하나를 반환합니다. 응답에는 이미지, 벡터, 삭제된 세션의 id 또는 신원 데이터가 절대 포함되지 않습니다.
      operationId: get_biometric_template
      parameters:
        - in: path
          name: template_uuid
          required: true
          description: >-
            세션 삭제 endpoint에서 `biometric_template_uuid`로 반환되거나, 얼굴 검색 일치 시
            `biometric_template_id`로 반환되거나, 목록 endpoint에서 반환된 템플릿 ID입니다.
          schema:
            type: string
            format: uuid
            example: 9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b
      responses:
        '200':
          description: 템플릿입니다.
          content:
            application/json:
              schema:
                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 또는 콘솔), 애플리케이션의 자동 데이터 보존 기간 또는 귀하가
                      요청한 Didit 운영 백필입니다.
                  provenance_reference:
                    type: string
                    format: uuid
                    description: >-
                      템플릿을 해당 감사 로그와 연결하는 불투명 참조입니다. 삭제된 세션의 id가 아니며 해당 id로 확인할
                      수 없습니다.
                  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 키의 경우 애플리케이션 ID, 콘솔 작업의 경우 콘솔 멤버 ID, 자동 보존의
                      경우 `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: >-
                      보류되지 않고, `expires_at`이 지나지 않았으며, 해당 사용자가 여전히 존재하는 `active`
                      템플릿만 대조에 참여합니다.
                  purged_at:
                    type: string
                    format: date-time
                    nullable: true
              examples:
                Active template:
                  value:
                    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':
          description: 콘솔 사용자 token이거나 허용되지 않은 API 키입니다. 이 endpoint들은 애플리케이션 API 키만 허용합니다.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: 알 수 없는 템플릿이거나, 다른 애플리케이션의 템플릿이거나, (`GET` 시) 영구 삭제된 템플릿입니다.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Biometric template not found.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            https://verification.didit.me/v3/biometric-templates/9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b/
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.biometric_templates.retrieve(
                "9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            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);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.BiometricTemplates.Retrieve(ctx, \"9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            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);
        - lang: php
          label: PHP
          source: >-
            <?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());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.biometric_templates.retrieve("9d2f4b6e-1c3a-4e8f-b7d5-0a1c2e3f4a5b")

            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using 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));
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본
        키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 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.