> ## 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: KYC·KYB 세션 필터링

> Didit의 GET /v3/sessions/ 엔드포인트로 세션 종류, 상태, 워크플로, 벤더 데이터별로 인증 세션을 조회하세요. KYC와 KYB를 통합한 API이며 종량제 요금입니다.



세션 목록 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`List Didit verification sessions for your application with filters and pagination.

Endpoint:
GET https://verification.didit.me/v3/sessions

Authentication:
Use the x-api-key header with your Didit API key. The key must hold read:sessions.

Query parameters:
\- session_kind ("user" | "business" | "all", default "user") — chooses which kind to list. "user" returns only KYC sessions (backward-compatible default). "business" returns only KYB. "all" concatenates both (KYB rows are appended; not interleaved by timestamp).
\- vendor_data (string) — exact match on your stable identifier.
\- didit_internal_id (UUID) — matches vendor_user_id.
\- status (one or more, comma-separated) — Approved, Declined, In Review, In Progress, Not Started, Expired, Abandoned, Kyc Expired, Resubmitted, Awaiting User.
\- workflow_id (one or more UUIDs, comma-separated).
\- country (one or more ISO-3 codes, comma-separated) — issuing-state for KYC, country_code for KYB.
\- region (one or more, comma-separated).
\- document_type (one or more, comma-separated).
\- date_from, date_to (ISO 8601 date) — inclusive on created_at.
\- search (string) - a complete displayed reference such as S-0001 (user) or B-0001 (business) matches only that session number and kind, ignoring leading zeros and letter case.
Other input searches the existing name, contact, document, registration-number and vendor_data fields.
\- tags (comma-separated tag ids) — sessions that carry any of them.
\- decided_from, decided_to (ISO 8601 datetimes) — sessions whose status last changed at or after / before the value.
\- limit (int, default 50), offset (int, default 0) — limit/offset pagination. Both accept values up to 1000000; larger values return 400.

Per-kind filters (silently ignored on the other kind): is_kyc_to_be_reviewed, status_initialized_as_in_review, session_type, api_service, screened_full_name, document_name, warning.

curl example:
curl -G https://verification.didit.me/v3/sessions/ \
-H "x-api-key: <API_KEY>" \
\--data-urlencode "session_kind=all" \
\--data-urlencode "status=Approved,In Review" \
\--data-urlencode "date_from=2026-01-01" \
\--data-urlencode "limit=50"

Response envelope:
\{
"count": <int>,   // exact up to 100, capped at 100 beyond that: paginate with next
"next": "<url|null>",
"previous": "<url|null>",
"results": [ ...rows ]
}

Every row has:
\- session_id (UUID), session_kind ("user" | "business"), session_number, status, vendor_data, created_at.

KYC row extras: portrait_image, document_type, full_name, country (issuing state), phone_number, email_address, features, didit_internal_id, assignee, waiting_since, sla_due_at, top_warnings, warnings_count.

KYB row extras: workflow_type, workflow_label, company_name, registration_number, country (incorporation).

Each row is a LIGHT projection. For the full feature payload of a row, call GET /v3/session/{session_id}/decision/ — see /sessions-api/retrieve-session.

Failure modes:
\- 401 — invalid API key.
\- 403 — { "detail": "You do not have permission to perform this action." } when the key lacks read:sessions.
\- 400 — malformed UUIDs in filters are silently dropped (no error); malformed ISO dates return { "date_from": ["..."] }.

Common patterns:
\- Build a dashboard: paginate with limit + offset, sort newest-first (server orders by -session_number within each kind).
\- Find pending review queue: status=In Review.
\- Find a specific entity's sessions: vendor_data=<your-id>.
\- Refresh ongoing AML hits: filter by workflow_id of your AML workflow.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

붙여넣을 곳

## 세션 종류 필터`session_kind` 쿼리 파라미터를 사용하면 반환할 세션 종류를 선택할 수 있습니다:| 값 | 반환 내용 |
| - | - |
| `user` (기본값) | 사용자 인증(KYC) 세션만 반환합니다. **하위 호환 동작**입니다. 이 동작을 원하면 `session_kind`를 생략하세요. |
| `business` | 기업 확인(KYB) 세션만 반환합니다. |
| `all` | 사용자 인증 세션과 기업 확인 세션을 모두 이어 붙여 반환합니다. |응답의 모든 행에는 `session_kind: "user" | "business"`가 포함되므로, 클라이언트는 행마다 이 값에 따라 응답 형식을 전환할 수 있습니다.## 공통 필터다음 필터는 두 종류 모두에 적용됩니다. 사용자 전용 필터는 `session_kind=business`일 때 무시되며, 그 반대의 경우도 마찬가지입니다:| 쿼리 파라미터 | 설명 |
| - | - |
| `session_kind` | `user`, `business`, `all` 중 하나입니다. 기본값은 `user`입니다. |
| `vendor_data` | 귀사의 식별자와 정확히 일치하는 값으로 필터링합니다. |
| `status` | 하나 이상의 상태를 쉼표로 구분하여 입력합니다. API가 반환하는 형식 그대로 작성해야 합니다. 예: `Approved`, `Declined`, `In Review` 등([인증 상태](https://docs.didit.me/ko/integration/verification-statuses.md) 참조). |
| `workflow_id` | 사용된 워크플로로 필터링합니다. |
| `country` | 국가 코드로 필터링합니다(사용자: `issuing_states`, 기업: `country_code`). |
| `date_from`, `date_to` | 생성일 범위입니다(ISO 8601 형식). |
| `tags` | 쉼표로 구분한 태그 ID 목록입니다. 그중 하나라도 해당하는 세션을 반환합니다. |
| `decided_from`, `decided_to` | ISO 8601 형식의 날짜와 시간입니다. 해당 범위에서 상태가 마지막으로 변경된 세션을 반환합니다(시작 시점 포함, 종료 시점 제외). 생성 시간이 아니라 마지막 상태 변경 시간을 기준으로 합니다. |
| `search` | 화면에 표시되는 전체 참조 값(예: `S-0001`, `B-0001`)을 입력하면 해당 세션 번호와 종류에만 일치합니다. 앞의 0과 대소문자는 무시합니다. 그 외의 입력값은 이름, 연락처, 문서, 등록번호, `vendor_data` 필드를 검색합니다. |## 예시> [tab] 사용자 인증(KYC) 세션 목록 (기본값)
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "vendor_data=user-42"
> ```
>
> **응답(일부 생략):**
>
> ```json theme={null}
> {
>   "count": 3,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "user",
>       "session_number": 1024,
>       "session_url": "...",
>       "portrait_image": "...",
>       "document_type": "Passport",
>       "full_name": "John Doe",
>       "country": "GBR",
>       "status": "Approved",
>       "vendor_data": "user-42",
>       "didit_internal_id": "...",
>       "created_at": "2026-04-10T09:00:00Z",
>       "features": "ID_VERIFICATION,LIVENESS,FACE_MATCH,AML",
>       "phone_number": "+14155550123",
>       "email_address": "jane@example.com",
>       "additional_details": null
>     }
>   ]
> }
> ```> [tab] 기업 확인(KYB) 세션 목록
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=business" \
>   --data-urlencode "status=Approved"
> ```
>
> **응답(일부 생략):**
>
> ```json theme={null}
> {
>   "count": 1,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "business",
>       "session_number": 89,
>       "status": "Approved",
>       "vendor_data": "biz-acme-001",
>       "created_at": "2026-04-01T09:00:00Z",
>       "workflow_id": "wf_kyb_standard",
>       "workflow_type": "business",
>       "workflow_label": "Standard KYB",
>       "company_name": "Acme Corporation Limited",
>       "registration_number": "12345678",
>       "country": "GBR"
>     }
>   ]
> }
> ```> [tab] 두 종류 모두 목록 조회
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=all" \
>   --data-urlencode "date_from=2026-04-01T00:00:00Z"
> ```
>
> 사용자 인증 행과 기업 확인 행을 하나의 `results` 배열로 반환합니다. 클라이언트는 `session_kind`를 기준으로 행마다 처리 방식을 전환해야 합니다.
>
> > [!NOTE]
> >
> > `all` 모드는 타임스탬프 순으로 섞지 않고 결과를 단순히 이어 붙입니다. 대량의 혼합 데이터를 순회해야 한다면 종류별로 각각 호출한 뒤 클라이언트에서 병합하세요.## 종류별 행 형식 차이사용자 인증(KYC) 행에는 `portrait_image`, `document_type`, `full_name`, `country`(발급 국가), `phone_number`, `email_address`와 몇 가지 검토 필드가 포함됩니다. 검토 필드는 `assignee`(세션을 맡고 있는 콘솔 검토자 또는 `null`), `waiting_since`와 `sla_due_at`(세션이 `In Review`일 때만 설정됨), `top_warnings`(중요도가 높은 경고 목록이며 각 항목에 `risk`, `feature`, `log_type`, `short_description`이 포함됨), `warnings_count`입니다.기업 확인(KYB) 행에는 `workflow_type`, `workflow_label`, `company_name`, `registration_number`, `country`(설립 국가)가 포함됩니다.두 종류의 행에는 모두 `session_id`, `session_kind`, `session_number`, `status`, `vendor_data`, `created_at`이 포함됩니다.전체 기능 비교표는 [세션 개요](https://docs.didit.me/ko/sessions-api/overview.md)를 참조하세요.## 페이지네이션페이지네이션은 `limit`(기본값 `50`)과 `offset`(기본값 `0`)을 사용하며, 응답에는 절대 URL 형식의 `next`와 `previous` URL이 포함됩니다. 두 파라미터는 최대 `1000000`까지 허용하며, 그보다 큰 값을 보내면 `400`을 반환합니다.`count`는 `100`까지는 정확한 값이며, 그 이상에서는 `100`으로 고정됩니다. 따라서 전체 개수로 사용하지 마세요. `next` URL이 `null`이 될 때까지 계속 요청하세요. `session_kind=all`을 사용하면 `count`는 두 종류의 합계이며, 각 종류는 최대 `100`까지 계산됩니다.## 관련 문서- [세션 개요](https://docs.didit.me/ko/sessions-api/overview.md)
- [세션 조회](https://docs.didit.me/ko/sessions-api/retrieve-session.md): 단일 행의 전체 결정 내용
- [기업 개요](https://docs.didit.me/ko/entities/businesses/overview.md): 여러 세션을 집계한 기업 엔터티
- [사용자 개요](https://docs.didit.me/ko/entities/users/overview.md): 여러 세션을 집계한 사용자 엔터티


## OpenAPI

````yaml ko/openapi-25.json GET /v3/sessions/
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/sessions/:
    get:
      tags:
        - Sessions
      summary: 필터 및 페이지네이션을 사용하여 인증 세션(KYC 및/또는 KYB) 목록을 조회합니다
      description: >-
        API 키로 식별되는 애플리케이션의 인증 세션을 최신순(내림차순 `session_number`)으로 페이지로 나누어 반환합니다.


        **표준 URL:** 경로는 `/v3/sessions/`(끝에 슬래시 포함)입니다. 슬래시가 없는 `/v3/sessions`로
        전송된 요청은 쿼리 문자열이 유지된 채 슬래시가 포함된 URL로 `301` 리디렉션되며, 대부분의 HTTP 클라이언트는 GET
        요청 시 이를 자동으로 따라갑니다.


        **이 endpoint와 webhook을 언제 사용하는지.** 이 endpoint는 대시보드, 백오피스 검색, 대사 작업 및 배치
        내보내기에 사용하세요. 개별 인증의 진행 상황을 추적하기 위해 폴링하지 마세요. 대신 세션이 변경되는 즉시
        `status.updated` 이벤트를 푸시하는 [webhook](/ko/integration/webhooks)을 구성하세요.
        단일 세션의 전체 결과를 확인하려면 `GET /v3/session/{sessionId}/decision/`을 호출하세요.


        **KYC 및 KYB 세션.** `session_kind`는 나열할 세션 종류를 선택합니다:

        - `user`(기본값) - 사용자 인증(KYC) 세션만 해당합니다. 하위 호환성을 유지하는 동작입니다.

        - `business` - 기업 확인(KYB) 세션만 해당합니다. 행의 형식이 다르고 더 간소화되어 있습니다(응답 스키마 참조).

        - `all` - 한 번의 응답에 두 종류가 모두 포함됩니다. 동일한 `limit`/`offset`에 대한 KYC 페이지와 KYB
        페이지가 `results`에 이어 붙여져 반환되며(KYC 행이 먼저 표시됨), 한 페이지에 최대 `2 x limit`개의 행이
        포함될 수 있습니다. `count`는 두 종류의 합계이며 `next`/`previous`는 KYC 측 페이지네이션을 반영합니다.
        혼합된 데이터의 엄격한 페이지네이션을 원하시면 `user`와 `business`를 별도로 호출하세요.


        모든 행에는 `session_kind` 구분자(`"user"` 또는 `"business"`)가 포함되어 있습니다.


        **페이지네이션.** 표준 limit/offset 방식입니다: `limit`(기본값 50) 및 `offset`(기본값 0)과 함께
        바로 사용할 수 있는 `next`/`previous` 페이지 URL이 제공됩니다. KYC 행의 경우 `count`는 정확한
        값입니다. KYB 행의 경우 `count`는 제한된 스캔으로 계산되며 최대 100으로 제한됩니다. 100개를 초과하는 일치 항목이
        있더라도 100으로 유지되므로, `count`에서 전체 페이지 수를 계산하기보다는 `next`를 사용하거나(또는 전체 페이지가
        반환되었는지 확인하여) 반복 처리하세요.


        **필터 시맨틱.** 모든 필터는 AND 조건으로 결합되며 KYC 행에 적용됩니다. `session_kind`가
        `business` 또는 `all`인 경우, KYB 측에는 공유 파라미터인 `vendor_data`, `status`,
        `workflow_id`, `country`(법인 등기부 국가 코드), `date_from`, `date_to`,
        `search`(회사명, 등록번호 — 구분자 없이 입력, 예: `DPC-001`이 아닌 `DPC001` — vendor_data,
        세션 번호 또는 세션 UUID), `warning`, `organization_name`이 적용되며, 나머지 KYC 전용 필터는
        KYB 행에서 무시됩니다. 쉼표로 구분된 파라미터(`status`, `country`, `document_type`,
        `region`, `workflow_id`, `document_name`, `warning`,
        `organization_name`, `session_type`)는 나열된 값 중 하나라도 일치하면 검색됩니다(파라미터 내 OR
        조건). `vendor_data`는 정확히 일치해야 합니다. 부분 일치를 원하시면 `search`를 사용하세요. 목록 필터에 알
        수 없는 값이 입력되면 단순히 행이 반환되지 않으며(오류 없음), 유형이 지정된 값의 형식이 잘못된 경우(`date_from`,
        `date_to`, `didit_internal_id`, `api_service`, `session_kind`)는 필드별 오류
        객체와 함께 `400`을 반환합니다.


        **검색.** `search`는 입력값에 맞게 동작합니다. 완전한 UUID는 `session_id`를 조회하고, 숫자(선택적으로
        `+ - . space` 포함)는 세션 번호 접두사, 문서/개인 식별 번호, 전화번호 접두사 또는 `vendor_data`와
        일치하며, `@`가 포함된 값은 이메일 접두사와 일치하고, 그 외의 텍스트는 이름(악센트 무시) 및 `vendor_data`와
        일치합니다.


        고정된 endpoint별 속도 제한은 적용되지 않지만, 목록 폴링 빈도를 낮게 유지하고 실시간 업데이트에는 webhook을
        활용하세요.
      operationId: get_v3_sessions
      parameters:
        - name: session_kind
          in: query
          required: false
          description: >-
            조회할 세션의 종류: `user`(KYC 전용, 기본값), `business`(KYB 전용), 또는 `all`(둘 다
            결합됨 - 병합된 페이지네이션 시맨틱은 설명 참조). 대소문자를 구분하지 않고 일치하며(`BUSINESS`도 동작함),
            `user`/`business`/`all`의 대소문자 변형 이외의 값은 `400`을 반환합니다.
          schema:
            type: string
            enum:
              - user
              - business
              - all
            default: user
          example: all
        - name: limit
          in: query
          required: false
          description: 페이지당 최대 행 수(`session_kind=all`인 경우 종류별)입니다. 기본값은 50입니다.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          example: 20
        - name: offset
          in: query
          required: false
          description: >-
            반환되는 첫 번째 행 전에 건너뛸 행 수입니다. 기본값은 0입니다. 응답의 `next`/`previous` URL을 따르는
            것을 권장합니다.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          example: 20
        - name: status
          in: query
          required: false
          description: >-
            포함할 쉼표로 구분된 세션 상태 목록입니다(예: `Approved,In Review`). 값은 대소문자를 구분합니다.
            [인증 상태](/ko/integration/verification-statuses)를 참고하십시오. 알 수 없는 값은
            아무것도 일치하지 않습니다.
          schema:
            type: string
          example: Approved,In Review
        - name: vendor_data
          in: query
          required: false
          description: >-
            세션 생성 시 전송한 `vendor_data`(자체 사용자/기업 식별자)에 대한 정확한 일치 필터입니다. 부분 일치의 경우
            대신 `search`를 사용하십시오.
          schema:
            type: string
          example: your-user-id-123
        - name: search
          in: query
          required: false
          description: >-
            `S-0001`(사용자) 또는 `B-0001`(기업)과 같은 완전한 표시 참조는 해당 세션 번호 및 종류와 정확히 일치할
            때만 검색됩니다. 앞자리 0과 대소문자는 일치 여부에 영향을 주지 않습니다. 스마트 자유 텍스트 검색. 전체 UUID는
            `session_id`와 일치합니다. 숫자 입력은 세션 번호 접두사, 문서/개인 식별 번호, 전화번호 접두사 또는
            `vendor_data`와 일치합니다. `@`가 포함된 입력은 이메일 접두사와 일치합니다. 기타 텍스트는 이름(악센트
            미구분) 및 `vendor_data`와 일치합니다. 숫자가 포함된 자유 텍스트는 문서/개인 식별 번호 검색 필드 및 세션
            번호 접두사와도 추가로 일치합니다.
          schema:
            type: string
          example: jane doe
        - name: workflow_id
          in: query
          required: false
          description: >-
            쉼표로 구분된 워크플로 UUID 목록입니다(이 UUID는 Console의 Workflows 페이지에서 확인할 수
            있습니다). 목록에서 형식이 잘못된 UUID는 무시되며, 유효한 값이 없으면 결과가 비어 있습니다.
          schema:
            type: string
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        - name: date_from
          in: query
          required: false
          description: >-
            이 날짜(UTC) 이후(해당 날짜 포함)에 생성된 세션만 해당하며, 형식은 `YYYY-MM-DD`입니다. 잘못된 형식의
            날짜는 `400`을 반환합니다.
          schema:
            type: string
            format: date
          example: '2026-06-01'
        - name: date_to
          in: query
          required: false
          description: >-
            이 날짜(UTC)까지 생성된 세션만 해당하며, 형식은 `YYYY-MM-DD`입니다. KYC 행의 경우 당일 전체가
            포함되며, KYB 행의 경우 비교 조건이 `created_at <= date_to`(자정)이므로 KYB 세션의 하루 전체를
            포함하려면 다음 날 날짜를 사용하십시오.
          schema:
            type: string
            format: date
          example: '2026-06-30'
        - name: tags
          in: query
          required: false
          schema:
            type: string
          description: >-
            쉼표로 구분된 태그 ID(애플리케이션의 `tags`)입니다. 이 중 하나라도 포함된 세션을 반환합니다. 유효한 UUID가
            아닌 ID는 무시되며, 유효한 ID가 없으면 목록이 비어 있습니다.
        - name: decided_from
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            ISO 8601 일시입니다. 상태가 해당 시점 이후에 마지막으로 변경된 세션을 반환합니다. 생성 시간이 아닌 마지막 상태
            변경 시간을 기준으로 필터링합니다.
        - name: decided_to
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            ISO 8601 일시입니다. 상태가 해당 시점 이전에 마지막으로 변경된 세션을 반환합니다. 반개방 구간을 설정하려면
            `decided_from`과 함께 사용하세요.
        - name: country
          in: query
          required: false
          description: >-
            쉼표로 구분된 국가 필터입니다. KYC 행의 경우: 신분증 발급 국가의 ISO 3166-1 alpha-3 코드(예:
            `ESP,USA`)이며 국적과 다를 수 있습니다. KYB 행의 경우: 등기된 기업의 국가 코드입니다.
          schema:
            type: string
          example: ESP,USA
        - name: document_type
          in: query
          required: false
          description: >-
            세션에서 인증된 신분증 유형 코드의 쉼표로 구분된 목록(KYC 행에만 해당): `P`(여권), `ID`(신분증),
            `DL`(운전면허증), `RP`(거주 허가증), `SSC`(사회보장 카드), `HIC`(건강보험증), `WP`(취업
            허가증), `TC`(세금 카드), `VISA`, `PSC`(공공 서비스 카드), `BC`(출생 증명서), `OTHER`.
            응답 필드 `document_type`에는 코드가 아닌 표시 이름이 포함됩니다.
          schema:
            type: string
          example: P,ID
        - name: document_name
          in: query
          required: false
          description: >-
            정확한 문서 이름입니다. 쉼표로 구분하여 여러 이름을 전달할 수 있지만, 값이 둘 이상의 ` - ` 구분 기호를 포함할
            때만 쉼표 기준으로 분리됩니다(쉼표가 포함된 단일 이름은 전체가 일치 항목으로 처리됨). 이름은 신분증 검증(앞면 또는
            뒷면)에서 인식된 형식(예: `Spain - Id Card (2021)`)입니다. KYC 행에만 해당합니다.
          schema:
            type: string
          example: Spain - Id Card (2021)
        - name: region
          in: query
          required: false
          description: 쉼표로 구분된 문서 지역/주 값(미국 운전면허증과 같이 지역별로 발급되는 문서용). KYC 행에만 해당합니다.
          schema:
            type: string
          example: CA,TX
        - name: didit_internal_id
          in: query
          required: false
          description: >-
            인증된 사용자 한 명의 모든 세션을 나열하려면 Didit의 내부 사용자 식별자(`didit_internal_id` 응답
            필드)로 필터링하십시오. 유효한 UUID여야 하며, 형식이 잘못된 값은 `400`을 반환합니다. KYC 행에만 해당합니다.
          schema:
            type: string
            format: uuid
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        - name: session_type
          in: query
          required: false
          description: >-
            쉼표로 구분된 세션 생성 채널: `API`, `HOSTED`, `MIGRATED`. 특수 값 `ALL`(또는 파라미터
            생략)은 필터를 비활성화합니다. KYC 행에만 해당합니다.
          schema:
            type: string
          example: HOSTED
        - name: api_service
          in: query
          required: false
          description: 서비스별로 독립형 API 세션을 필터링합니다. 유효하지 않은 값은 `400`을 반환합니다. KYC 행 전용입니다.
          schema:
            type: string
            enum:
              - ID_VERIFICATION
              - FACE_MATCH
              - AGE_ESTIMATION
              - FACE_SEARCH
              - POA
              - AML
              - KYB_REGISTRY
              - PASSIVE_LIVENESS
              - DATABASE_VALIDATION
              - PHONE_VERIFICATION
              - EMAIL_VERIFICATION
          example: AML
        - name: screened_full_name
          in: query
          required: false
          description: >-
            AML 및 데이터베이스 검증 스크리닝 데이터 내에서 악센트를 구분하지 않는 이름 검색입니다.
            `api_service=AML` 또는 `api_service=DATABASE_VALIDATION`과 결합하면 검색이 해당
            기능의 스크리닝 데이터로 제한됩니다. KYC 행에만 해당합니다.
          schema:
            type: string
          example: Jane Doe
        - name: warning
          in: query
          required: false
          description: >-
            쉼표로 구분된 경고 위험 코드입니다. 이 중 하나라도 발생시킨 세션을 반환합니다(예: `POSSIBLE_FRAUD`).
            위험 코드는 [경고 문서](/ko/integration/webhooks)에 기능별로 나열되어 있습니다. KYC 행에
            적용되며, 기업 경고 코드가 있는 경우 KYB 행에도 적용됩니다.
          schema:
            type: string
          example: POSSIBLE_FRAUD
        - name: status_initialized_as_in_review
          in: query
          required: false
          description: >-
            `true`인 경우 결정이 처음에 `In Review`에 도달했던 세션만 해당합니다(수동 검토 처리량을 감사할 때
            유용함). KYC 행만 해당합니다.
          schema:
            type: boolean
          example: true
        - name: is_kyc_to_be_reviewed
          in: query
          required: false
          description: >-
            `true`는 신분증 인증이 수동 검토 대상으로 표시된 세션을 반환합니다. `false`는 신분증 인증이 명시적으로 수동
            검토 대상으로 표시되지 않은 세션을 반환합니다. 비활성화하려면 생략하십시오. KYC 행에만 해당합니다.
          schema:
            type: boolean
          example: true
        - name: euuid
          in: query
          required: false
          description: >-
            최종 사용자의 euuid(인증 중인 사용자에게 할당된 UUID로, Console 딥링크에서 사용됨)로 필터링합니다. 유효한
            UUID여야 하며, 형식이 잘못된 값은 400 필드 오류를 반환합니다. KYC 행 전용입니다.
          schema:
            type: string
            format: uuid
          example: 0f8fad5b-d9cb-469f-a165-70867728950e
        - name: organization_name
          in: query
          required: false
          description: >-
            쉼표로 구분된 조직 이름입니다. 콘솔 중심이며, API 키(이미 하나의 애플리케이션으로 범위가 지정됨)를 사용하면 자체
            조직 이름과만 일치합니다.
          schema:
            type: string
          example: Acme Inc
      responses:
        '200':
          description: >-
            페이지네이션된 세션 목록입니다. `results` 항목은 `session_kind`에 따라 KYC 행, KYB 행 또는 둘
            다일 수 있으며, 각 행의 `session_kind` 필드로 구분합니다.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      필터와 일치하는 세션 수: 최대 100개까지는 정확하며 100개를 초과하면 100으로 제한되므로 총계로
                      사용하지 마십시오. 추가 페이지가 있는지 확인하려면 `next`를 사용하십시오.
                      `session_kind=all`의 경우 두 종류의 합계이며, 각각 100으로 제한됩니다.
                    example: 2
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: 다음 페이지의 절대 URL이며, 마지막 페이지에서는 `null`입니다.
                    example: >-
                      https://verification.didit.me/v3/sessions/?limit=20&offset=20
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: 이전 페이지의 절대 URL이며, 첫 번째 페이지에서는 `null`입니다.
                    example: null
                  results:
                    type: array
                    description: >-
                      세션 행 목록으로, 최신순으로 정렬됩니다. `session_kind=all`인 경우 KYC 행이 먼저
                      표시된 다음 KYB 행이 표시됩니다.
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/UserSessionListItem'
                        - $ref: '#/components/schemas/BusinessSessionListItem'
                      discriminator:
                        propertyName: session_kind
                        mapping:
                          user: '#/components/schemas/UserSessionListItem'
                          business: '#/components/schemas/BusinessSessionListItem'
              examples:
                KYC sessions (default):
                  summary: session_kind=user - 완료된 세션 1개 및 시작되지 않은 세션 1개
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: >-
                          https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
                        document_type: Passport
                        full_name: Jane Marie Doe
                        country: ESP
                        status: Approved
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Approved
                          - feature: LIVENESS
                            status: Approved
                          - feature: FACE_MATCH
                            status: Approved
                          - feature: AML
                            status: Approved
                          - feature: IP_ANALYSIS
                            status: Approved
                        phone_number:
                          number: '+14155552671'
                          is_verified: true
                        email_address:
                          email: jane@example.com
                          is_verified: true
                        additional_details:
                          aml:
                            total_hits: 0
                            entity_type: person
                            is_adverse_media_fetched: false
                          liveness:
                            method: PASSIVE
                            score: 0.98
                          face_match:
                            score: 0.95
                      - session_id: 038ad62f-5ebd-46c2-afe9-4b2956bf687f
                        session_kind: user
                        session_number: 719
                        session_url: https://verify.didit.me/session/7RGKiO6ioGH6
                        portrait_image: null
                        document_type: null
                        full_name: null
                        country: null
                        status: Not Started
                        vendor_data: your-user-id-124
                        didit_internal_id: eb4e679d-ca4b-461f-9685-687bac29ebdb
                        created_at: '2026-06-09T08:02:23.343053Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Not Finished
                          - feature: LIVENESS
                            status: Not Finished
                          - feature: FACE_MATCH
                            status: Not Finished
                          - feature: AML
                            status: Not Finished
                          - feature: IP_ANALYSIS
                            status: Not Finished
                        phone_number: null
                        email_address: null
                        additional_details: null
                Mixed KYC + KYB (session_kind=all):
                  summary: session_kind=all - KYC 행 뒤에 KYB 행이 이어집니다
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: null
                        document_type: Identity Card
                        full_name: Jane Marie Doe
                        country: ESP
                        status: In Review
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: In Review
                          - feature: LIVENESS
                            status: Approved
                        phone_number: null
                        email_address: null
                        additional_details:
                          liveness:
                            method: PASSIVE
                            score: 0.98
                      - session_id: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
                        session_kind: business
                        session_number: 42
                        status: Approved
                        vendor_data: your-company-id-77
                        created_at: '2026-06-08T09:14:02.118450Z'
                        workflow_id: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
                        workflow_type: kyb
                        workflow_label: Standard KYB
                        company_name: Acme Holdings S.L.
                        registration_number: B12345678
                        country: ES
        '301':
          description: >-
            정규 끝 슬래시 URL로 리디렉션합니다. 요청 경로가 `/v3/sessions`(끝 슬래시 없음)일 때 반환되며,
            `Location` 헤더는 쿼리 문자열이 보존된 채로 `/v3/sessions/`를 가리킵니다. GET 클라이언트는
            일반적으로 이를 자동으로 따릅니다.
        '400':
          description: 유효하지 않은 쿼리 파라미터입니다. 본문은 문제가 발생한 파라미터를 키로 갖는 객체입니다.
          content:
            application/json:
              examples:
                Invalid session_kind:
                  summary: session_kind가 user/business/all 중 하나가 아닙니다
                  value:
                    session_kind: Must be "user", "business", or "all".
                Invalid date:
                  summary: 잘못된 형식의 date_from/date_to
                  value:
                    date_from:
                      - Enter a valid date.
                Invalid didit_internal_id:
                  summary: didit_internal_id가 UUID가 아닙니다
                  value:
                    didit_internal_id:
                      - Enter a valid UUID.
                Invalid api_service:
                  summary: api_service가 허용된 선택 항목에 없습니다
                  value:
                    api_service:
                      - >-
                        Select a valid choice. FOO is not one of the available
                        choices.
        '403':
          description: >-
            API 키가 누락되었거나 형식이 잘못되었거나 폐기되었습니다. 누락된 키는 `403`을 반환하며, 잘못되었거나 폐기되었거나
            만료된 키는 `401`을 반환합니다.


            **삭제된 애플리케이션:** 애플리케이션이 삭제된 후 몇 분 동안 해당 API 키 중 하나로 요청을 보내면
            `{"detail": "This application was deleted.", "code":
            "application_deleted"}`로 응답할 수 있습니다. 다시 시도하지 마세요. 해당 애플리케이션과 API 키는
            더 이상 존재하지 않습니다. 몇 분이 지나면 다른 유효하지 않은 키와 마찬가지로 키가 거부됩니다.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: You do not have permission to perform this action.
                  code:
                    type: string
                    description: >-
                      기계 판독 가능한 사유로, 일부 실패 시에만 제공됩니다. `application_deleted`: API
                      키가 삭제된 애플리케이션에 속해 있습니다.
                    example: application_deleted
                required:
                  - detail
              examples:
                Forbidden:
                  summary: x-api-key가 누락되었거나 유효하지 않음
                  value:
                    detail: You do not have permission to perform this action.
                ApplicationDeleted:
                  summary: 삭제된 애플리케이션의 API 키
                  value:
                    detail: This application was deleted.
                    code: application_deleted
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -s
            'https://verification.didit.me/v3/sessions/?status=Approved,In%20Review&date_from=2026-06-01&limit=20'
            \
              -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.sessions.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.sessions.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Sessions.ListAutoPaging(ctx, didit.SessionsListParams{})\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.sessions().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->sessions->list() as $item) {
                print_r($item);
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.sessions.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.Sessions.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    UserSessionListItem:
      title: 'KYC session row (session_kind: user)'
      type: object
      description: >-
        사용자 인증(KYC) 세션의 요약 행입니다. 신원 필드(`full_name`, `country`, `document_type`,
        `portrait_image`, 연락처 필드)는 사용자가 인증 단계를 완료함에 따라 점진적으로 채워지며, 관련 단계가 완료될
        때까지 `null`입니다. 워크플로의 응답 속성 설정에 의해 제한된 필드도 `null`로 반환됩니다.
      required:
        - session_id
        - session_kind
        - session_number
        - session_url
        - portrait_image
        - document_type
        - full_name
        - country
        - status
        - vendor_data
        - didit_internal_id
        - created_at
        - features
        - phone_number
        - email_address
        - additional_details
      properties:
        session_id:
          type: string
          format: uuid
          description: >-
            인증 세션의 고유 식별자입니다. 전체 결정 payload를 가져오려면 `GET
            /v3/session/{sessionId}/decision/`과 함께 사용합니다.
          example: 5b3720ed-d429-42ef-b67f-37ea805f48ee
        session_kind:
          type: string
          enum:
            - user
          description: >-
            행 판별자. KYC 행의 경우 항상 `"user"`입니다. 기업 확인(KYB) 행은 `"business"` 값을 가지며
            형태가 다릅니다.
          example: user
        session_number:
          type: integer
          description: 애플리케이션 내 세션의 사람이 읽기 쉬운 순차 번호입니다. `search` 파라미터와도 일치합니다.
          example: 720
        session_url:
          type: string
          nullable: true
          description: 최종 사용자가 플로우를 완료하기 위해 여는 호스팅 인증 URL입니다. 세션에 호스팅 URL이 없으면 `null`입니다.
          example: https://verify.didit.me/session/CuXoBYCYVO5Y
        portrait_image:
          type: string
          nullable: true
          description: >-
            이용 가능한 최상의 인물 사진에 대한 만료되는(사전 서명된) URL입니다. NFC 칩 사진이 있는 경우 이를 우선하며,
            그렇지 않은 경우 신분증 문서 인물 사진, 그 외의 경우 라이브니스 참조 이미지가 사용됩니다. 이 중 하나가 존재하기
            전까지는 `null`입니다. 링크가 만료되므로 즉시 다운로드하십시오.
          example: >-
            https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
        document_type:
          type: string
          nullable: true
          enum:
            - Passport
            - Identity Card
            - Driver's License
            - Residence Permit
            - Health Insurance Card
            - Tax Card
          description: >-
            인증된 신분증 문서의 사람이 읽을 수 있는 유형입니다. 문서 검증이 완료되기 전에는 `null`이며, 완료 후에도 인증된
            코드에 표시 매핑이 없는 경우(`SSC`, `WP`, `VISA`, `PSC`, `BC`, `OTHER`)
            `null`입니다. 참고: `document_type` 쿼리 파라미터는 이러한 표시 값이 아닌 짧은 코드(`P`,
            `ID`, `DL`, `RP` 등)로 필터링합니다.
          example: Passport
        full_name:
          type: string
          nullable: true
          description: >-
            세션에 대해 사용 가능한 가장 적합한 성명입니다. 신분증 문서 OCR, AML 스크리닝 데이터, 데이터베이스 검증 스크리닝
            데이터, 주소 증명 문서, 세션 생성 시 제공된 예상 세부 정보 순으로 확인됩니다. 아직 사용 가능한 정보가 없는 경우
            `null`입니다.
          example: Jane Marie Doe
        country:
          type: string
          nullable: true
          description: >-
            세션과 연계된 ISO 3166-1 alpha-3 국가이며, 신분증 문서 발급 국가, 데이터베이스 검증 발급 국가, 주소
            증명 발급 국가, 예상 세부 정보, 인증된 전화번호 국가 순으로 결정됩니다. 국적과 다를 수 있습니다.
          example: ESP
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            전체 세션 상태입니다. 라이프사이클은 [인증 상태](/ko/integration/verification-statuses)
            페이지를 참조하십시오.
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: 최종 사용자에 대한 귀하 고유의 식별자이며, 세션 생성 시 전송된 그대로 다시 반환됩니다.
          example: your-user-id-123
        didit_internal_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            이 세션의 기반이 되는 인증된 사용자 프로필에 대한 Didit 내부 식별자입니다. 동일한 사용자의 여러 세션에 걸쳐
            일정하게 유지되며, `didit_internal_id` 쿼리 파라미터를 통해 필터링할 수 있습니다.
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        created_at:
          type: string
          format: date-time
          description: 세션이 생성된 UTC 타임스탬프입니다.
          example: '2026-06-09T12:26:54.328364Z'
        features:
          type: array
          description: 세션의 워크플로에 구성된 모든 인증 단계에 대한 기능별 상태(워크플로 순서)입니다.
          items:
            type: object
            required:
              - feature
              - status
            properties:
              feature:
                type: string
                enum:
                  - ID_VERIFICATION
                  - NFC
                  - LIVENESS
                  - FACE_MATCH
                  - POA
                  - QUESTIONNAIRE
                  - EMAIL_VERIFICATION
                  - PHONE
                  - AML
                  - IP_ANALYSIS
                  - AGE_ESTIMATION
                  - DATABASE_VALIDATION
                  - GEOLOCATION
                description: 인증 기능 식별자입니다.
                example: ID_VERIFICATION
              status:
                type: string
                enum:
                  - Not Finished
                  - Approved
                  - Declined
                  - In Review
                  - Resub Requested
                description: 이 기능의 상태입니다. 단계가 완료될 때까지 `Not Finished`입니다.
                example: Approved
        phone_number:
          type: object
          nullable: true
          description: >-
            세션과 연결된 전화번호: 전화번호 인증이 실행된 경우 인증된 전화번호, 그렇지 않으면 세션 생성 시 제공된 연락처
            전화번호입니다. 둘 다 없으면 `null`입니다.
          required:
            - number
            - is_verified
          properties:
            number:
              type: string
              description: E.164 형식의 전화번호입니다.
              example: '+14155552671'
            is_verified:
              type: boolean
              description: 전화번호 인증 기능이 이 번호를 승인한 경우에만 `true`입니다.
              example: true
        email_address:
          type: object
          nullable: true
          description: >-
            세션과 연결된 이메일: 이메일 인증이 실행된 경우 인증된 이메일이며, 그렇지 않은 경우 세션 생성 시 제공된 연락처
            이메일입니다. 둘 다 없으면 `null`입니다.
          required:
            - email
            - is_verified
          properties:
            email:
              type: string
              format: email
              example: jane@example.com
            is_verified:
              type: boolean
              description: 이메일 인증 기능이 이 주소를 승인한 경우에만 `true`입니다.
              example: true
        additional_details:
          type: object
          nullable: true
          description: >-
            기능별 추가 정보의 간소화된 데이터입니다. 데이터를 생성한 기능만 키로 표시되며, 추가 정보를 생성한 기능이 없으면
            `null`이 됩니다. 워크플로의 응답 속성 설정에 의해 제외된 필드는 생략됩니다.
          properties:
            aml:
              type: object
              description: AML 스크리닝이 실행되었을 때 표시됩니다.
              properties:
                total_hits:
                  type: integer
                  description: AML 스크리닝 적발 건수입니다.
                  example: 0
                entity_type:
                  type: string
                  description: 스크리닝된 엔티티 유형입니다.
                  example: person
                is_adverse_media_fetched:
                  type: boolean
                  example: false
                screened_data:
                  type: object
                  description: 스크리닝된 데이터의 하위 집합입니다. 비어 있지 않은 키만 포함됩니다.
                  properties:
                    nationality:
                      type: string
                      example: ESP
                    document_number:
                      type: string
                      example: XX1234567
                    date_of_birth:
                      type: string
                      example: '1990-05-21'
            database_validation:
              type: object
              description: 데이터베이스 검증이 실행되었을 때 표시됩니다.
              properties:
                validation_type:
                  type: string
                  example: DOCUMENT_VALIDATION
                match_type:
                  type: string
                  example: FULL_MATCH
                identification_number:
                  type: string
                  description: 검증된 세금, 개인 또는 문서 번호(사용 가능한 첫 번째 값)입니다.
                  example: 12345678Z
            poa:
              type: object
              description: 주소 증명이 실행되었을 때 표시됩니다.
              properties:
                document_type:
                  type: string
                  example: UTILITY_BILL
                issuer:
                  type: string
                  example: Energy Co
                address:
                  type: string
                  example: Calle Mayor 1, 28013 Madrid
                name_on_document:
                  type: string
                  example: Jane Marie Doe
            liveness:
              type: object
              description: 라이브니스 검사가 실행되었을 때 표시됩니다.
              properties:
                method:
                  type: string
                  example: PASSIVE
                score:
                  type: number
                  description: 라이브니스 신뢰도 점수(소수점 둘째 자리로 반올림됨).
                  example: 0.98
            face_match:
              type: object
              description: 얼굴 대조가 실행되었을 때 표시됩니다.
              properties:
                score:
                  type: number
                  description: 소수점 둘째 자리로 반올림된 얼굴 대조 유사도 점수입니다.
                  example: 0.95
                source_image:
                  type: string
                  description: 소스 얼굴 이미지의 만료되는(사전 서명된) URL입니다.
                  example: https://<media-host>/faces/source.jpg?X-Amz-Expires=3600&...
                target_image:
                  type: string
                  description: 타깃 얼굴 이미지의 만료되는(사전 서명된) URL입니다.
                  example: https://<media-host>/faces/target.jpg?X-Amz-Expires=3600&...
            phone_verification:
              type: object
              description: 전화번호 인증이 실행되었을 때 표시됩니다.
              properties:
                country_code:
                  type: string
                  description: 전화번호의 ISO 3166-1 alpha-2 국가 코드입니다.
                  example: US
                is_temporary:
                  type: boolean
                  example: false
                is_ported:
                  type: boolean
                  example: false
                is_blocked:
                  type: boolean
                  example: false
            email_verification:
              type: object
              description: 이메일 인증이 실행되었을 때 표시됩니다.
              properties:
                is_breached:
                  type: boolean
                  example: false
                is_disposable:
                  type: boolean
                  example: false
                is_undeliverable:
                  type: boolean
                  example: false
                is_blocklisted:
                  type: boolean
                  example: false
        assignee:
          type: object
          nullable: true
          description: 세션이 할당된 콘솔 검토자 또는 담당자가 없는 경우 `null`입니다.
          properties:
            email:
              type: string
              format: email
            assigned_at:
              type: string
              format: date-time
              nullable: true
        waiting_since:
          type: string
          format: date-time
          nullable: true
          description: 세션이 검토 대기를 시작한 시점입니다. 세션이 `In Review` 상태가 아닌 경우 `null`입니다.
        sla_due_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Console에서 애플리케이션에 설정된 검토 기한을 기준으로 검토가 완료되어야 하는 시점입니다. 세션이 `In
            Review` 상태이고 기한이 설정된 경우가 아니면 `null`입니다.
        top_warnings:
          type: array
          description: 빠른 선별 검토를 위한 세션의 가장 중요한 몇 가지 경고입니다. 전체 목록은 결정 내에 있습니다.
          items:
            type: object
            properties:
              risk:
                type: string
                description: '경고 코드입니다(예: `FACE_MATCH_LOW_SIMILARITY`).'
              feature:
                type: string
                description: 이를 발생시킨 기능입니다.
              log_type:
                type: string
                nullable: true
                description: '`error` 또는 `warning`, 기존 항목의 경우 `null`.'
              short_description:
                type: string
        warnings_count:
          type: integer
          description: 세션의 경고 수입니다.
    BusinessSessionListItem:
      title: 'KYB session row (session_kind: business)'
      type: object
      description: 기업 확인(KYB) 세션의 요약 행입니다. `session_kind`가 `business` 또는 `all`인 경우에만 반환됩니다.
      required:
        - session_id
        - session_kind
        - session_number
        - status
        - vendor_data
        - created_at
        - workflow_id
        - workflow_type
        - workflow_label
        - company_name
        - registration_number
        - country
      properties:
        session_id:
          type: string
          format: uuid
          description: 기업 확인(KYB) 세션의 고유 식별자입니다.
          example: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
        session_kind:
          type: string
          enum:
            - business
          description: 행 판별자. KYB 행의 경우 항상 `"business"`입니다.
          example: business
        session_number:
          type: integer
          description: 애플리케이션 내 기업 세션의 사람이 읽기 쉬운 순차 번호입니다. KYC 세션과는 별도로 번호가 매겨집니다.
          example: 42
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            전체 세션 상태입니다. [인증 상태](/ko/integration/verification-statuses) 페이지를
            참조하십시오.
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: 기업에 대한 귀하 고유의 식별자이며, 세션 생성 시 전송된 그대로 다시 반환됩니다.
          example: your-company-id-77
        created_at:
          type: string
          format: date-time
          description: 세션이 생성된 UTC 타임스탬프입니다.
          example: '2026-06-08T09:14:02.118450Z'
        workflow_id:
          type: string
          format: uuid
          nullable: true
          description: 이 세션 생성에 사용된 워크플로의 식별자입니다.
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        workflow_type:
          type: string
          nullable: true
          description: 워크플로 유형입니다. 기업 워크플로의 경우 `kyb`입니다.
          example: kyb
        workflow_label:
          type: string
          nullable: true
          description: 워크플로의 표시 이름입니다.
          example: Standard KYB
        company_name:
          type: string
          nullable: true
          description: 세션에 연결된 등기부 기업에서 가져온, 인증 중인 기업의 이름입니다. 기업이 선택될 때까지는 `null`입니다.
          example: Acme Holdings S.L.
        registration_number:
          type: string
          nullable: true
          description: 세션에 연결된 등기부 기업의 기업 등록번호입니다.
          example: B12345678
        country:
          type: string
          nullable: true
          description: 세션에 연결된 등기 기업의 국가 코드입니다.
          example: ES
  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.